Cyflwynir rhyddhau'r DBMS rqlite 6.0 dosbarthedig, sy'n defnyddio SQLite fel injan storio ac yn caniatáu ichi drefnu gwaith clwstwr o storfeydd cydamserol. Un o nodweddion rqlite yw rhwyddineb gosod, lleoli a chynnal storfa ddosbarthedig sy'n goddef namau, braidd yn debyg i etcd a Consul, ond gan ddefnyddio model data perthynol yn lle fformat allwedd / gwerth. Mae cod y prosiect wedi'i ysgrifennu yn Go a'i ddosbarthu o dan y drwydded MIT.
Er mwyn cadw pob nod mewn cyflwr cydamserol, defnyddir algorithm consensws Raft. Mae Rqlite yn defnyddio'r llyfrgell SQLite wreiddiol a'r gyrrwr go-sqlite3 safonol, ac ar ben hynny mae haen yn cael ei lansio sy'n prosesu ceisiadau cleientiaid, yn perfformio atgynhyrchu i nodau eraill ac yn monitro cyflawniad consensws ar y dewis o nod blaenllaw.
Dim ond gan y nod a ddewisir fel yr arweinydd y gellir gwneud newidiadau i'r gronfa ddata, ond gellir anfon cysylltiadau â gweithrediadau ysgrifennu hefyd i nodau eraill yn y clwstwr, a fydd yn dychwelyd cyfeiriad yr arweinydd i ailadrodd y cais (yn y fersiwn nesaf maent addo ychwanegu anfon ceisiadau ymlaen yn awtomatig at yr arweinydd). Mae'r prif bwyslais ar oddefgarwch bai, felly dim ond gyda gweithrediadau darllen a gweithrediadau ysgrifennu y mae graddfeydd DBMS yn dagfa. Mae'n bosibl rhedeg clwstwr rqlite o un nod a gellir defnyddio'r ateb hwn i ddarparu mynediad i SQLite dros HTTP heb ddarparu goddefgarwch bai.
Nid yw'r data SQLite ar bob nod yn cael ei storio mewn ffeil, ond yn y cof. Ar y lefel haen gyda gweithrediad y protocol Raft, cedwir log o'r holl orchmynion SQLite sy'n arwain at newidiadau yn y gronfa ddata. Defnyddir y log hwn yn ystod atgynhyrchu (dyblygiad ar lefel ceisiadau atgynhyrchu ar nodau eraill), cychwyn nod newydd, neu adfer ar ôl colli cysylltedd. Er mwyn lleihau maint y log, defnyddir pecynnu awtomatig, sy'n dechrau ar ôl nifer penodol o newidiadau ac yn arwain at osod ciplun ar ddisg, y mae log newydd yn dechrau cael ei gadw mewn perthynas ag ef (cyflwr y gronfa ddata yn y cof yn union yr un fath â'r ciplun + y log newid cronedig).
Nodweddion rqlite:
- Mae'n hawdd defnyddio clwstwr, heb fod angen gosodiad SQLite ar wahân.
- Y gallu i gael storfa SQL wedi'i dyblygu yn gyflym.
- Yn barod i'w ddefnyddio mewn prosiectau gwaith (gradd Cynhyrchu).
- Presenoldeb API HTTP(S) sy'n eich galluogi i ddiweddaru data yn y modd swp a phennu nod arweiniol y clwstwr. Mae hefyd yn darparu rhyngwyneb llinell orchymyn a'r gallu i ddefnyddio amrywiol lyfrgelloedd cleientiaid a adeiladwyd ar gyfer SQLite.
- Argaeledd gwasanaeth ar gyfer adnabod nodau eraill, sy'n eich galluogi i greu clystyrau yn ddeinamig.
- Cefnogaeth i amgryptio cyfnewid data rhwng nodau.
- Y gallu i ffurfweddu lefel gwirio perthnasedd a chysondeb data wrth ddarllen.
- Gallu dewisol i gysylltu nodau yn y modd darllen yn unig, nad ydynt yn cymryd rhan mewn pennu consensws ac a ddefnyddir i gynyddu scalability y clwstwr ar gyfer gweithrediadau darllen.
- Cefnogaeth i'ch ffurf eich hun o drafodion yn seiliedig ar gyfuno gorchmynion mewn un cais (ni chefnogir trafodion yn seiliedig ar BEGIN, COMMIT, ROLLback, SAVEPOINT a RELEASE).
- Cefnogaeth ar gyfer creu copïau wrth gefn poeth.
Mae'r datganiad newydd yn cyflwyno newidiadau pensaernïol sylweddol gyda'r nod o gynyddu dibynadwyedd clystyrau trwy wella'r broses o lwybro ceisiadau darllen ac ysgrifennu i'r nodau clwstwr cywir. Bellach gall nodau rqlite amlblethu cysylltiadau rhesymegol lluosog ymhlith ei gilydd gan ddefnyddio cysylltiadau TCP a sefydlwyd rhwng nodau gan y protocol Raft. Os oes angen awdurdod arweinydd ar gais ond caiff ei anfon i nod eilaidd, gall y nod eilaidd bennu cyfeiriad yr arweinydd a'i drosglwyddo i'r cleient heb wneud cyfrifiadau consensws Raft.
Roedd y newid hefyd yn dileu'r angen am gydran cydamseru metadata ar wahân ac yn dileu trin cyflwr Raft a metadata ar wahân. Mae nodau uwchradd bellach yn anfon ceisiadau at y nod arweinydd dim ond pan fo angen, pan fydd angen iddynt ddarganfod cyfeiriad y nod arweinydd. Mae'r API yn darparu'r gallu i gael gwybodaeth am gyflwr nodau eraill yn y clwstwr. Mae'r gorchymyn ".sysdump" wedi'i ychwanegu at y rhyngwyneb llinell orchymyn.
Ffynhonnell: opennet.ru