Gefa út rqlite 7.0, dreifð bilunarþolið DBMS byggt á SQLite

Útgáfa dreifðu DBMS rqlite 7.0 átti sér stað, sem notar SQLite sem geymsluvél og gerir þér kleift að skipuleggja vinnu klasa úr geymslum sem eru samstilltar hver við aðra. Einn af eiginleikum rqlite er auðveld uppsetning, dreifing og viðhald á dreifðri bilunarþolinni geymslu, nokkuð svipuð etcd og Consul, en notar venslagagnalíkan í stað lykil/gildissniðs. Verkefniskóðinn er skrifaður í Go og dreift undir MIT leyfinu.

Til að halda öllum hnútum í samstilltu ástandi er Raft consensus algrímið notað. Rqlite notar upprunalega SQLite bókasafnið og go-sqlite3 rekilinn, ofan á það er sett lag sem vinnur úr beiðni viðskiptavina, framkvæmir afritun á aðra hnúta og fylgist með því að samstaða náist um val á leiðandi hnút.

Breytingar á gagnagrunninum er aðeins hægt að gera af hnútnum sem er valinn sem leiðtogi, en einnig er hægt að senda tengingar með skrifaðgerðum til annarra hnúta í þyrpingunni, sem mun skila heimilisfangi leiðtogans til að endurtaka beiðnina (í næstu útgáfu lofa að bæta við sjálfvirkri framsendingu beiðna til leiðtogans). Megináherslan er á bilanaþol, þannig að DBMS mælist aðeins með lesaðgerðum og skrifaðgerðir eru flöskuhálsinn. Það er hægt að keyra rqlite þyrping frá einum hnút og þessa lausn er hægt að nota til að veita aðgang að SQLite yfir HTTP án þess að veita bilanaþol.

SQLite gögnin á hverjum hnút eru ekki geymd í skrá, heldur í minni. Á lagastigi með innleiðingu Raft samskiptareglunnar er haldið skrá yfir allar SQLite skipanir sem leiða til breytinga á gagnagrunninum. Þessi annál er notuð við afritun (afritun á því stigi að endurskapa beiðnir á öðrum hnútum), þegar nýr hnút er byrjaður eða til að jafna sig eftir tap á tengingu. Til að minnka stærð skrárinnar er sjálfvirk pökkun notuð, sem hefst eftir tiltekinn fjölda breytinga og leiðir til lagfæringar á skyndimynd, í tengslum við hana byrjar að viðhalda nýjum annál (staða gagnagrunnsins í minni er eins og skyndimyndin + uppsafnaðan breytingaskrá).

Eiginleikar rqlite:

  • Auðvelt að dreifa klasa, án þess að þurfa sérstaka SQLite uppsetningu.
  • Geta til að fá fljótt endurtekna SQL geymslu.
  • Tilbúið til notkunar í framleiðsluverkefnum (framleiðslustig).
  • Tilvist HTTP(S) API sem gerir þér kleift að uppfæra gögn í lotuham og ákvarða fremstu hnút klasans. Skipanalínuviðmót og viðskiptavinasöfn fyrir ýmis forritunarmál eru einnig til staðar.
  • Framboð á þjónustu til að bera kennsl á aðra hnúta, sem gerir þér kleift að búa til klasa á kraftmikinn hátt.
  • Stuðningur við að dulkóða gagnaskipti milli hnúta.
  • Geta til að stilla stig þess að athuga mikilvægi og samkvæmni gagna við lestur.
  • Valfrjáls möguleiki til að tengja hnúta í skrifvarinn hátt, sem taka ekki þátt í að ákvarða samstöðu og eru notaðir til að auka sveigjanleika klasans fyrir lesaðgerðir.
  • Stuðningur við þitt eigið form viðskipta sem byggir á því að sameina skipanir í einni beiðni (viðskipti byggð á BEGIN, COMMIT, ROLLBACK, SAVEPOINT og RELEASE eru ekki studd).
  • Stuðningur við að búa til heitt afrit.

Í nýju útgáfunni:

  • Bætti við stuðningi við sjálfvirka rqlite þyrping með því að nota nýja hnútagreiningarþjónustu sem getur virkað á grundvelli Consul og etcd dreifðrar geymslu. Þjónustan gerir rqlite hnútum kleift að finna hver annan sjálfkrafa - stjórnandinn þarf bara að ræsa nokkra hnúta á mismunandi netþjónum, tilgreina sameiginlegt heimilisfang ræðismanns eða etcd klasa (til dæmis „example.com:8500“), og hnútarnir verða sjálfkrafa sameinast í klasa. Leiðandi hnútur uppfærir reglulega upplýsingar um heimilisfang sitt í Consul eða etcd geymslunni, sem gerir þér kleift að skipta um leiðtoga í kjölfarið án þess að þurfa að endurstilla aðra hnúta, auk þess að bæta við nýjum hnútum jafnvel eftir að hafa skipt um leiðtoga. Hin eldri Discovery mode þjónusta sem keyrir á AWS Lambda hefur verið hætt.
  • CLI viðmótið gerir kleift að tilgreina nokkra véla í einu - ef fyrsti hnúturinn er ekki tiltækur verður haft samband við næstu vélar.
  • Kóðinn til að þátta rqlited skipanalínubreytur hefur verið endurunninn.
  • Hætt hefur verið að framleiða úrelta protobuf pakkann.
  • BoltDB geymslan sem notuð er við innleiðingu Raft samskiptareglunnar hefur verið skipt út fyrir bbolt, gaffal frá etcd verkefninu.

Heimild: opennet.ru

Bæta við athugasemd