Kompanija Canonical значительный выпуск проекта (Distributed SQLite) razvijajoč združljivi z SQLite vgrajeni SQL motor, ki podpira replikacijo podatkov, samodejno obnovo po napakah in zagotavljanje odpornosti z razporeditvijo obdelovalcev na več vozlišč. SŘDB je izvedena v obliki knjižnice, pritrjene na aplikacije v jeziku C in je na voljo pod licenco Apache 2.0 (izvirni SQLite se ponuja kot javna last). Na voljo so vezave za jezik .
Knjižnica je nadgradnja obstoječe kode SQLite, ki dodaja podporo za omrežni protokol za povezovanje več instanc aplikacij, ki tečejo na različnih gostiteljih. Aplikacija z Dqlite se lahko sploh ne opira na zunanje SŘDB in deluje kot samostojen odporen grozd. V praksi Dqlite uporablja podjetje Canonical v sistemu za upravljanje kontejnerjev . Med področji uporabe knjižnice se omenjajo tudi razvoj odpornosti na naprave interneta stvari in obdelovalci v sistemih
.
Za zagotavljanje skladnosti pri replikaciji podatkov se uporablja metoda doseganja konsenza na podlagi algoritma , ki se uporablja v projektih, kot so etcd, RethinkDB, CockroachDB in OpenDaylight. V Dqlite se uporablja lastna asinhrona različica , napisana v jeziku C. Za večkratno obdelavo povezav in organizacijo zagona sodelujočih programov se uporabljajo obstoječe knjižnice in .
V primerjavi s podobnim projektom , Dqlite zagotavlja popolno podporo transakcijam, lahko se poveže z vsemi projekti v jeziku C, omogoča uporabo funkcije time() in uporablja replikacijo na osnovi okviru namesto replikacije na osnovi prevajanja SQL izrazov.
Značilnosti Dqlite:
- Izvedba vseh diskovnih in omrežnih operacij v asinhronem načinu;
- Na voljo je testni sklop za potrditev pravilnosti podatkov;
- Nizka poraba pomnilnika in učinkovita izmenjava podatkov po omrežju;
- Stalno shranjevanje na disku B2 in dnevnika transakcij (z možnostjo predpomnjenja v pomnilniku);
- Hitro okrevanje po napakah;
- Stabilen CLI odjemalec v jeziku Go, ki ga lahko uporabite za inicializacijo B2, nastavitev replikacije ter povezovanje/odklapljanje vozlišč;
- Podpora za arhitekture ARM, X86, POWER in IBM Z;
- Implementacija algoritmo Raft je optimizirana za minimiziranje zamud pri zavezanju transakcij.
Izvor: opennet.ru
