Canonical ettevõte tähtis projekti väljalase (jaotatud SQLite), arendades SQLite'iga ühilduvat sisseehitatud SQL-mootorit, mis toetab andmete replikatsiooni, autonoomset tõrke taastamist ja tõrketaluvust, jagades töötlejad mitme sõlme peale. DBMS on rakendatav C teegi vormis ja Apache 2.0 litsentsi all (algne SQLite on saadaval avaliku domeenina). Saadaval on keele .
Teegil on olemasoleva SQLite koodi alusele kiht, mis lisab võrguprotokolli toe mitme rakenduse eksemplari vahel, mis töötavad erinevates hostides. Dqlite'iga üles ehitatud rakendus võib toimida iseseisva tõrketaluvana klastrina, sõltumata välistest DBMS-idest. Praktikas kasutab Dqlite'd ettevõte Canonical konteinerite haldamise süsteemis . Teegi valdkondade hulka kuulub ka tõrketaluvate Interneti-asjade seadmete ja töötlejate loomine
.
Andmete replikatsiooni järjepidevuse tagamiseks rakendatakse konsensuse saavutamise meetodit, mis põhineb , mida kasutatakse sellistes projektides nagu etcd, RethinkDB, CockroachDB ja OpenDaylight. Dqlite'is kasutatakse oma asünkroonset rakendust , mis on kirjutatud C keeles. Ühenduste töötlemise ja kahekordsete käigukastide käivitamise korraldamiseks kasutatakse valmis teeke ja .
Võrreldes sarnase projektiga , Dqlite pakub täielikku tehingute tuge, võib ühendada kõikvõimalike C keeltes projektidega, võimaldab kasutada time() funktsiooni ning rakendab kaadrite põhjal replikatsiooni, mitte SQL-lausete edastamise põhjal replikatsiooni.
Dqlite omadused:
- Kõik kettaga ja võrgu toimingud toimuvad asünkroonselt;
- Andmete õigsuse kinnitamiseks on olemas testimise komplekt;
- Madala mälutarbimise ja tõhusa andmevahetusega võrgu kaudu;
- Andmebaasi ja tehingute logi pidev säilitamine kettal (võimalusega vahemälus hoida);
- Kiire tõrke taastamine;
- Stabiilne CLI-klient Go keeles, mida saab kasutada andmebaasi initsialiseerimiseks, replikatsiooni seadistamiseks ning sõlmede ühendamiseks/eraldamiseks;
- Toetab ARM, X86, POWER ja IBM Z arhitektuuride kasutamist;
- Rafti algoritmi rakendamine on optimeeritud tehingute kinnitamise viivituste vähendamiseks.
Allikas: opennet.ru
