Saadaval on Canonicali SQLite'i hajutatud versioon Dqlite 1.0

Kanooniline опубликовала oluline projekti väljalase Dqlite 1.0 (Distributed SQLite), mis arendab SQLite'iga ühilduvat manustatud SQL-mootorit, mis toetab andmete replikatsiooni, automaatset tõrgetest taastumist ja tõrketaluvust, jaotades töötlejad mitme sõlme vahel. DBMS on rakendatud C-teegi kujul, mis on lisatud rakendustele ja jaotatud Apache 2.0 litsentsi alusel (algne SQLite on avalikus omandis). Saadaval keeleköited Go.

Teek on olemasoleva SQLite koodibaasi lisandmoodul, mis lisab võrguprotokolli tuge erinevatel hostidel töötava rakenduse mitme eksemplari omavaheliseks ühendamiseks. Dqlite'iga kompileeritud rakendus võib toimida iseseisva tõrketaluva klastrina, mis ei sõltu välistest DBMS-idest. Praktikas kasutab Canonical oma konteinerihaldussüsteemis Dqlite'i LXD. Raamatukogu rakendusvaldkondadest mainitakse ka tõrketaluvate asjade interneti seadmete ja protsessorite loomist süsteemides
serv- arvutused.

Andmete replikatsiooni järjepidevuse tagamiseks kasutatakse algoritmipõhist konsensusmeetodit Parv, mida kasutatakse sellistes projektides nagu etcd, RethinkDB, CockroachDB ja OpenDaylight. Dqlite kasutab oma asünkroonset rakendust C-parv, kirjutatud C-keeles. Ühenduse töötlemise multipleksimiseks ja korutiinide käivitamise korraldamiseks kasutatakse valmis teeke libuv и libco.

Võrreldes sarnase projektiga rqlite,Dqlite pakub täielikku tehingutuge, suudab suhelda mis tahes C-projektiga, võimaldab kasutada funktsiooni time() ja kasutab SQL-i tõlkepõhise replikatsiooni asemel kaadripõhist replikatsiooni.

Dqlite'i omadused:

  • Tehke kõik ketta- ja võrgutoimingud asünkroonselt;
  • Testikomplekti olemasolu andmete õigsuse kinnitamiseks;
  • Madal mälutarbimine ja tõhus andmevahetus üle võrgu;
  • Andmebaasi ja tehingulogi püsihoidmine kettal (mällu vahemällu salvestamise võimalusega);
  • Kiire taastumine tõrgetest;
  • Stabiilne CLI klient Go keeles, mida saab kasutada andmebaasi lähtestamiseks, replikatsiooni konfigureerimiseks ja sõlmede ühendamiseks/lahtiühendamiseks;
  • Toetab ARM, X86, POWER ja IBM Z arhitektuure;
  • Parve algoritmi rakendamine on optimeeritud, et minimeerida tehingute sooritamisel tekkivaid viivitusi.

Allikas: opennet.ru

Lisa kommentaar