Dqlite 1.0, distribuovaná varianta SQLite od společnosti Canonical, je nyní k dispozici.

Spoločnosť Canonical publikovala významné vydanie projektu Dqlite 1.0 (Distributed SQLite), vyvíjajúce kompatibilný so SQLite vstavaný SQL engine, ktorý podporuje replikáciu údajov, automatické obnovenie po havárii a zabezpečenie dostupnosti prostredníctvom rozloženia spracovateľov na viacerých uzloch. Systém riadenia databáz je realizovaný v podobe knižnice pripojenej k aplikáciám v jazyku C a distribuovaný pod licenciou Apache 2.0 (pôvodný SQLite je k dispozícii ako verejný majetok). K dispozícii sú väzby pre jazyk Go.

Knižnica je nadstavbou nad existujúcou kódovou základňou SQLite, ktorá pridáva podporu sieťového protokolu na prepojenie viacerých inštancií aplikácie spustených na rôznych hostiteľoch. Aplikácia zostavená s Dqlite môže fungovať ako samostatný odolný klaster, nezávislý od externých SDB. V praxi sa Dqlite používa spoločnosťou Canonical v systéme správy kontajnerov LXD. Medzi oblasti použitia knižnice sa tiež uvádza vytváranie odolných zariadení internetu vecí a spracovateľov v systémoch
Edge-výpočtov.

Na zabezpečenie konzistentnosti pri replikácii údajov sa používa metóda dosahovania konsenzu založená na algoritme Raft, ktorý sa používa v takých projektoch ako etcd, RethinkDB, CockroachDB a OpenDaylight. V Dqlite sa používa vlastná asynchrónna implementácia C-raft, napísaná v jazyku C. Na multiplexovanie spracovania pripojení a organizáciu spúšťania kooperatívnych procesov sa používajú hotové knižnice libuv a libco.

V porovnaní s podobným projektom rqlite, Dqlite poskytuje úplnú podporu transakcií, môže sa prepojiť s akýmikoľvek projektmi v jazyku C, umožňuje používať funkciu time() a aplikuje replikáciu založenú na snímkach namiesto replikácie na základe šírenia SQL výrazov.

Funkcie Dqlite:

  • Vykonávanie všetkých diskových a sieťových operácií v asynchrónnom režime;
  • Existencia testovacej sady na potvrdenie správnosti údajov;
  • Nízka spotreba pamäte a efektívna výmena údajov v sieti;
  • Trvalé uloženie na disku DB a logu transakcií (s možnosťou vyrovnávacej pamäte v pamäti);
  • Rýchle obnovenie po havárii;
  • Stabilný CLI klient v jazyku Go, ktorý sa dá použiť na inicializáciu DB, nastavenie replikácie a pripojenie/odpojenie uzlov;
  • Podpora architektúr ARM, X86, POWER a IBM Z;
  • Implementácia algoritmu Raft je optimalizovaná na minimalizáciu oneskorení pri potvrdzovaní transakcií.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster