Firma Canonical märke projekti väljund (Jaotatud SQLite), mis arendab SQLite'i ühilduvat sisemist SQL-mootorit, mis toetab andmete replikatsiooni, automaatset rikke taastamist ja talitlushäirete vastu kindlust, jagades töötlejaid mitmele solgule. Andmebaas on rakendustega seotud C-teegi vormis ja Apache 2.0 litsentsi all (algne SQLite tarnitakse avaliku domeenina). Saadaval on sidumisversioonid keeles .
Teek on olemasoleva SQLite koodibaasi laiendus, mis lisab toe võrguprotokollile, et siduda mitut rakenduse eksemplari, mis töötavad erinevates hostides. Dqlite'iga loodud rakendus võib toimida iseseisva talitlushäirete vastu vaikiva klastrina, olenemata välistest andmebaasidest. Praktikas küsitakse Dqlite'it Canonical'i konteinerihalduse süsteemis . Teeki nimetatakse ka murettekitavate seadmete Interneti-asjade ja töötlejate loomise valdkondades
.
Andmete replikatsiooni järjepidevuse tagamiseks kasutatakse konsensuse saavutamise meetodit, mis põhineb algoritmil. , mida kasutatakse sellistes projektides nagu etcd, RethinkDB, CockroachDB ja OpenDaylight. Dqlites kasutatakse oma asünkroonset rakendust. , mis on kirjutatud C keeles. Ühenduste töötlemise ja kooperatiivide käivitamise multiplotseerimiseks kasutatakse valmislibraries. ja .
Võrreldes sarnase projektiga , Dqlite pakub täielikku tehingute tuge, suudab suhelda mistahes C keeles projektidega, võimaldab kasutada funktsiooni time() ning rakendab kaadritel põhinevat replikatsiooni SQL-väljendite replikatsiooni asemel.
Dqlite iseärasused:
- Kõik ketta- ja võrguoperatsioonid toimuvad asünkroonselt;
- Olemasolev testikomplekt, et kinnitada andmete korrektsust;
- Madala mälukasutuse ja tõhus andmevahetus võrgus;
- Andmebaasi ja tehingu logi püsiv salvestamine kettale (võimalus mälus vahemäluda);
- Kiire taaskäivitamine tõrgete korral;
- Stabiilne CLI-klient Go keeles, mida saab kasutada andmebaasi algatamiseks, replikatsiooni seadistamiseks ja sõlmede ühendamiseks/ühenduse katkestamiseks;
- Toetatakse arhitektuure ARM, X86, POWER ja IBM Z;
- Raft-algoritmi teostus on optimeeritud tehingute fikseerimise viivituste vähendamiseks.
Allikas: opennet.ru
