rqlite, një DBMS relacionale e shkëlqyeshme e shpërndarë dhe e lehtë

Si ju po kërkoni një DBMS të shpërndarë që përdor SQLite si një motor ruajtje, më lejoni t'ju them se rqlite është ajo për ju, pasi lejon organizimin e punës së një grupi nga depot e sinkronizuara me njëri-tjetrin.

Nga tiparet rqlite, theksohet lehtësia e instalimit, zbatimit dhe mirëmbajtjes të magazinimit të shpërndarë tolerant ndaj fajit, i cili është disi i ngjashëm me etcd dhe Konsulli, por ai përdor një model të të dhënave relacionale në vend të një formati çelës / vlere.

Rreth rqlite

Algoritmi i konsensusit Raft përdoret për të mbajtur të gjitha nyjet në sinkron. Rqlite përdorni bibliotekën origjinale SQLite dhe drejtuesin go-sqlite3, përveç së cilës ekzekuton një shtresë që përpunon kërkesat e klientit, replikohet në nyjet e tjera dhe monitoron konsensusin e arritur për zgjedhjen e nyjes kryesore.

Ndryshimet në bazën e të dhënave mund të bëhen vetëm nga nyja e zgjedhur si udhëheqëse, por lidhjet me operacionet e shkrimit mund të drejtohen në nyjet e tjera të grupit, të cilat do të kthejnë adresën e udhëheqësit për të përsëritur kërkesën (në versionin tjetër, ata premtojnë të shtojnë përcjelljen automatike të thirrjes tek lideri).

Fokusi kryesor është në tolerancën ndaj fajit, pra DBMS shkallë vetëm në operacionet e leximit, dhe operacionet e shkrimit janë ngërçi. Shtë e mundur të ekzekutohet një grumbull rqlite nga një nyje e vetme dhe një zgjidhje e tillë mund të përdoret për të siguruar qasje në SQLite mbi HTTP pa siguruar tolerancë ndaj defektit.

Të dhëna SQLite në secilën nyje ato nuk ruhen në një skedar, por në memorje. Në nivelin e shtresës me zbatimin e protokollit Raft, mbahet një rekord për të gjitha komandat SQLite që çojnë në një ndryshim në bazën e të dhënave.

Ky rekord përdoret për replikim (replikim në nivelin e riprodhimit të pyetjes në nyjet e tjera), kur filloni një nyje të re, ose për t'u rikuperuar nga një humbje e lidhjes.

Për të zvogëluar madhësinë e rekordit, përdoret paketimi automatik, i cili fillon pas një numri të caktuar ndryshimesh dhe çon në konfirmimin e një fotografie, kundër së cilës fillon një rekord i ri (gjendja e bazës së të dhënave në kujtesë është identike me fotografinë + regjistri i akumuluar i ndryshimeve).

Nga tiparet rqlite:

  • Lehtësia e vendosjes së grupeve, pa nevojën e një instalimi të veçantë SQLite.
  • Aftësia për të marrë shpejt ruajtjen e kopjuar SQL.
  • Gati për t’u përdorur në projektet e prodhimit.
  • Disponueshmëria e HTI (S) API, e cila lejon azhurnimin e të dhënave në modalitetin grumbull dhe përcaktimin e nyjes kryesore të grupit. Janë dhënë gjithashtu një ndërfaqe e linjës komanduese dhe biblioteka të klientëve për gjuhë të ndryshme programimi.
  • Prania e një shërbimi për të përcaktuar nyjet e tjera që ju lejon të krijoni në mënyrë dinamike grupe.
  • Mbështetje për kriptimin e shkëmbimit të të dhënave ndërmjet nyjeve.
  • Aftësia për të personalizuar nivelin e kontrollit për rëndësinë dhe qëndrueshmërinë e të dhënave kur lexoni.
  • Aftësia opsionale për të lidhur nyjet vetëm për lexim që nuk marrin pjesë në përcaktimin e konsensusit dhe përdoren për të rritur shkallëzimin e grupit për operacionet e leximit.
  • Mbështetja për formën vendase të transaksioneve bazuar në kombinimin e komandave në një kërkesë të vetme (transaksionet e bazuara në BEGIN, COMMIT, ROLLBACK, SAVEPOINT dhe RELEASE nuk mbështeten).

Rreth rqlite 6.0

Versioni i ri prezanton ndryshime të rëndësishme arkitekturore që synojnë përmirësimin e besueshmërisë së grupeve duke përmirësuar procesin e drejtimit të leximit dhe shkrimit të kërkesave në nyjet e duhura të grupeve.

Nyjet Rqlite tani mund të multipleksojë lidhje të shumëfishta logjike midis tyre duke përdorur lidhjet TCP të vendosura midis nyjeve nga protokolli Raft. Nëse kërkesa kërkon autorizimin e nyjes udhëheqëse, por i dërgohet nyjës dytësore, nyja dytësore mund të përcaktojë adresën e udhëheqësit dhe ta transmetojë atë te klienti, pa kryer llogaritjen e konsensusit Raft.

Ndryshimi gjithashtu hoqi përbërësin e veçantë për sinkronizimin e meta të dhënave dhe hoqi trajtimin e veçantë të statusit dhe meta të dhënave nga Raft.

Nyjet sekondare tani dërgojnë kërkesa në nyjen kryesore vetëm kur është e nevojshme, kur është e nevojshme të gjeni adresën e nyjes kryesore. API ofron aftësinë për të marrë informacion në lidhje me statusin e nyjeve të tjera në grup. Komanda Sysdump shtuar në CLI.

Më në fund nëse jeni të interesuar të dini më shumë për të ose konsultohuni me udhëzimet e instalimit dhe manualin e përdorimit, mund ta bëni nga lidhja më poshtë.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.