Na voljo je Dqlite 1.0, distribuirana različica SQLite podjetja Canonical

Canonical Company objavljeno pomembna izdaja projekta Dqlite 1.0 (Distributed SQLite), ki razvija vdelan mehanizem SQL, združljiv s SQLite, ki podpira replikacijo podatkov, samodejno obnovitev po napakah in toleranco napak z razdelitvijo obdelovalcev po več vozliščih. DBMS je implementiran v obliki knjižnice C, ki je priložena aplikacijam in distributer pod licenco Apache 2.0 (izvirni SQLite je na voljo v javni domeni). Na voljo so jezikovne vezave Go.

Knjižnica je dodatek k obstoječi kodni bazi SQLite, ki dodaja podporo omrežnemu protokolu za medsebojno povezovanje več primerkov aplikacije, ki se izvaja na različnih gostiteljih. Aplikacija, prevedena z Dqlite, lahko deluje kot samozadostna gruča, odporna na napake, neodvisna od zunanjih DBMS-jev. V praksi Dqlite uporablja Canonical v svojem sistemu za upravljanje vsebnikov LXD. Med področji uporabe knjižnice je omenjeno tudi ustvarjanje na napake odpornih naprav in procesorjev interneta stvari v sistemih
Edge- izračuni.

Za zagotovitev doslednosti pri podvajanju podatkov se uporablja konsenzna metoda, ki temelji na algoritmu Splav, ki se uporablja v projektih, kot so etcd, RethinkDB, CockroachDB in OpenDaylight. Dqlite uporablja lastno asinhrono izvedbo C-splav, napisano v jeziku C. Pripravljene knjižnice se uporabljajo za multipleksno obdelavo povezav in organizacijo zagona korutin libuv и libco.

V primerjavi s podobnim projektom rqlite,Dqlite zagotavlja popolno transakcijsko podporo, lahko komunicira s katerim koli projektom C, omogoča uporabo funkcije time() in ,uporablja podvajanje, ki temelji na okvirju, namesto podvajanja, ki temelji na prevodu SQL.

Lastnosti Dqlite:

  • Izvedite vse diskovne in omrežne operacije asinhrono;
  • Razpoložljivost testnega niza za potrditev pravilnosti podatkov;
  • Nizka poraba pomnilnika in učinkovita izmenjava podatkov po omrežju;
  • Trajna hramba podatkovne baze in transakcijskega dnevnika na disku (z možnostjo predpomnjenja v pomnilnik);
  • Hitro okrevanje po okvarah;
  • Stabilen odjemalec CLI v jeziku Go, ki se lahko uporablja za inicializacijo baze podatkov, konfiguracijo replikacije in povezovanje/prekinitev povezave z vozlišči;
  • Podpira arhitekture ARM, X86, POWER in IBM Z;
  • Implementacija algoritma Raft je optimizirana za zmanjšanje zamud pri izvajanju transakcij.

Vir: opennet.ru

Dodaj komentar