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

Útgáfa dreifðu DBMS rqlite 6.0 er kynnt, sem notar SQLite sem geymsluvél og gerir þér kleift að skipuleggja vinnu klasa samstilltra geymslu. 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 staðlaða go-sqlite3 rekilinn, ofan á það er sett lag sem vinnur úr beiðni viðskiptavina, framkvæmir afritun til annarra 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), hefja nýjan hnút eða batna eftir tap á tengingu. Til að minnka stærð skrárinnar er notuð sjálfvirk pökkun sem byrjar eftir tiltekinn fjölda breytinga og leiðir til þess að skyndimynd er lagfærð á disknum, í tengslum við hana byrjar að halda nýr annál (staða gagnagrunnsins í minni er eins og skyndimyndin + uppsöfnuð 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 í vinnuverkefnum (framleiðslueinkunn).
  • Tilvist HTTP(S) API sem gerir þér kleift að uppfæra gögn í lotuham og ákvarða fremstu hnút klasans. Það veitir einnig skipanalínuviðmót og getu til að nota ýmis viðskiptavinasöfn byggð fyrir SQLite.
  • 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ýja útgáfan kynnir verulegar byggingarbreytingar sem miða að því að auka áreiðanleika klasa með því að bæta ferlið við að beina lestrar- og skrifbeiðnum til réttra klasahnúta. rqlite hnútar geta nú margfaldað margar rökréttar tengingar sín á milli með því að nota TCP tengingar sem komið er á milli hnúta með Raft samskiptareglunum. Ef beiðni krefst leiðtogavalds en er send á aukahnút getur aukahnútinn ákvarðað heimilisfang leiðtogans og sent það áfram til viðskiptavinarins án þess að framkvæma Raft samþykki útreikninga.

Breytingin útilokaði einnig þörfina fyrir sérstakan samstillingarhluta lýsigagna og aðskildri meðhöndlun á Raft ástandi og lýsigögnum. Aukahnútar senda nú beiðnir til leiðtogahnútsins aðeins þegar þörf krefur, þegar þeir þurfa að finna heimilisfang leiðtogahnútsins. API gefur möguleika á að fá upplýsingar um stöðu annarra hnúta í klasanum. ".sysdump" skipuninni hefur verið bætt við skipanalínuviðmótið.

Heimild: opennet.ru

Bæta við athugasemd