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

Společnost Canonical publikovala významné vydání projektu Dqlite 1.0 (Distributed SQLite), vyvíjející kompatibilní s SQLite vestavěný SQL engine, který podporuje replikaci dat, automatickou obnovu po haváriích a zajištění odolnosti proti chybám rozdělením zpracovatelů na více uzlů. Systém správy databází je implementován jako knihovna C připojená k aplikacím a distribuováno pod licencí Apache 2.0 (původní SQLite je k dispozici jako veřejné vlastnictví). K dispozici jsou vazby pro jazyk Go.

Knihovna je nadstavbou nad stávající kódovou základnou SQLite, která přidává podporu síťového protokolu pro propojení několika instancí aplikace běžících na různých hostitelích. Aplikace sestavená s Dqlite může fungovat jako samostatný odolný cluster, nespoléhaající se na externí systémy správy databází. V praxi je Dqlite používán společností Canonical v systému správy kontejnerů LXD. Mezi oblasti použití knihovny se také zmiňuje vytváření odolných zařízení internetu věcí a zpracovatelů v systémech
Edge-výpočtů.

Pro zajištění konzistence při replikaci dat se používá metoda dosažení konsensu na bázi algoritmu Raft, který je využíván v projektech jako etcd, RethinkDB, CockroachDB a OpenDaylight. V Dqlite se používá vlastní asynchronní implementace C-raft, napsaná v jazyce C. Pro multiplexaci zpracování spojení a organizaci spouštění spolupracujících programů se používají připravené knihovny libuv a libco.

Ve srovnání s podobným projektem rqlite, Dqlite zajišťuje plnou podporu transakcí, může se propojit s jakýmikoli projekty v jazyce C, umožňuje použití funkce time() a používá replikaci na základě snímků místo replikace na základě přenosu SQL výrazů.

Vlastnosti Dqlite:

  • Provádění všech diskových a síťových operací v asynchronním režimu;
  • Existence testovacího souboru pro potvrzení správnosti dat;
  • Nízká spotřeba paměti a efektivní výměna dat po síti;
  • Trvalé ukládání na disku DB a logu transakcí (s možností ukládání do paměti);
  • Rychlá obnova po haváriích;
  • Stabilní CLI klient v jazyce Go, který lze použít k inicializaci DB, konfiguraci replikace a připojení/odpojení uzlů;
  • Podpora architektur ARM, X86, POWER a IBM Z;
  • Implementace algoritmu Raft byla optimalizována pro minimalizaci zpoždění při potvrzování transakcí.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster