Dqlite 1.0, eng verdeelt Versioun vu SQLite vu Canonical, ass verfügbar

Kanonesch publizéiert bedeitend Projet Verëffentlechung Dqlite 1.0 (Verdeelt SQLite), deen e SQLite-kompatibel embedded SQL-Motor entwéckelt deen Datereplikatioun ënnerstëtzt, automatesch Erhuelung vu Feeler, a Feelertoleranz andeems Dir Handler iwwer verschidde Noden verdeelt. Den DBMS gëtt a Form vun enger C-Bibliothéik mat Uwendungen an verdeelt duerch ënner der Apache 2.0 Lizenz (d'Original SQLite gëtt am Public Domain zur Verfügung gestallt). Sproochverbindunge verfügbar Go.

D'Bibliothéik ass en Add-on zu der existéierender SQLite Codebase déi Netzwierkprotokoll Ënnerstëtzung bäidréit fir verschidde Instanzen vun enger Applikatioun op verschiddene Hosten ze verbannen. Eng Applikatioun, déi mat Dqlite kompiléiert ass, kann als selbststänneg Feelertolerant Cluster funktionnéieren, onofhängeg vun externen DBMSen. An der Praxis gëtt Dqlite vu Canonical a sengem Containermanagementsystem benotzt LXD. Ënnert de Beräicher vun der Applikatioun vun der Bibliothéik gëtt och d'Schafung vu Feeler-toleranten Internet of Things Apparater a Prozessoren a Systemer ernimmt.
Bord- Berechnungen.

Fir Konsistenz an der Datereplikatioun ze garantéieren, gëtt eng Algorithmus-baséiert Konsensmethod benotzt Raft, déi a Projete wéi etcd, RethinkDB, CockroachDB an OpenDaylight benotzt gëtt. Dqlite benotzt seng eege asynchron Ëmsetzung C-flott, an der C Sprooch geschriwwen. Ready-made Bibliothéike gi benotzt fir d'Verbindungsveraarbechtung ze multiplexéieren an de Start vu Coroutinen ze organiséieren libv и libco.

Am Verglach mat engem ähnleche Projet rqlit,Dqlite bitt voll Transaktiounssupport, ka kommunizéieren, mat all C-Projet, erlaabt d'Benotzung vun der Zäit () Funktioun, a benotzt Frame-baséiert Replikatioun amplaz SQL Iwwersetzung-baséiert Replikatioun.

Features vun Dqlite:

  • Féiert all Disk- an Netzwierkoperatiounen asynchron;
  • Disponibilitéit vun engem Testset fir d'Korrektheet vun den Donnéeën ze bestätegen;
  • Niddereg Erënnerungsverbrauch an effizienten Datenaustausch iwwer dem Netz;
  • Permanent Späichere vun der Datebank an Transaktiounslog op Disk (mat der Méiglechkeet vum Cache an der Erënnerung);
  • séier Erhuelung vu Feeler;
  • Stabile CLI Client an der Go Sprooch, déi benotzt ka ginn fir d'Datebank z'initialiséieren, Replikatioun ze konfiguréieren an Noden ze verbannen / trennen;
  • Ënnerstëtzt ARM, X86, POWER an IBM Z Architekturen;
  • D'Ëmsetze vum Raft Algorithmus ass optimiséiert fir Verzögerungen ze minimiséieren wann Dir Transaktiounen engagéiert.

Source: opennet.ru

Setzt e Commentaire