Dqlite 1.0, një version i shpërndarë i SQLite nga Canonical, është i disponueshëm

Kanonike botuar publikimi i rëndësishëm i projektit Dqlite 1.0 (SQLite i shpërndarë), i cili zhvillon një motor SQL të ngulitur të përputhshëm me SQLite që mbështet riprodhimin e të dhënave, rikuperimin automatik nga dështimet dhe tolerancën e gabimeve duke shpërndarë mbajtësit nëpër nyje të shumta. DBMS zbatohet në formën e një biblioteke C të bashkangjitur në aplikacione dhe shperndare nga nën licencën Apache 2.0 (sQLite origjinale ofrohet në domenin publik). Lidhjet gjuhësore të disponueshme Go.

Biblioteka është një shtesë për bazën ekzistuese të kodeve SQLite që shton mbështetjen e protokollit të rrjetit për ndërlidhjen e shumë shembujve të një aplikacioni që ekzekutohet në hoste të ndryshëm. Një aplikacion i përpiluar me Dqlite mund të funksionojë si një grup i vetë-mjaftueshëm tolerant ndaj gabimeve, i pavarur nga DBMS-të e jashtme. Në praktikë, Dqlite përdoret nga Canonical në sistemin e tij të menaxhimit të kontejnerëve LXD. Ndër fushat e aplikimit të bibliotekës, përmendet edhe krijimi i pajisjeve dhe procesorëve të Internetit të Gjërave tolerante ndaj gabimeve në sisteme.
Buzë- llogaritjet.

Për të siguruar qëndrueshmëri në përsëritjen e të dhënave, përdoret një metodë konsensusi e bazuar në algoritëm trap, i cili përdoret në projekte të tilla si etcd, RethinkDB, CockroachDB dhe OpenDaylight. Dqlite përdor zbatimin e tij asinkron trap C, shkruar në gjuhën C. Bibliotekat e gatshme përdoren për përpunimin e lidhjeve të shumëfishta dhe për të organizuar nisjen e korutinave libuv и libco.

Krahasuar me një projekt të ngjashëm rqlite,Dqlite ofron mbështetje të plotë transaksionale, mund të komunikojë, me çdo projekt C, lejon përdorimin e funksionit time() dhe ,përdor replikimin e bazuar në kornizë në vend të replikimit të bazuar në përkthim SQL.

Karakteristikat e Dqlite:

  • Kryen të gjitha operacionet e diskut dhe rrjetit në mënyrë asinkrone;
  • Disponueshmëria e një grupi testimi për të konfirmuar korrektësinë e të dhënave;
  • Konsumi i ulët i memories dhe shkëmbimi efikas i të dhënave përmes rrjetit;
  • Ruajtja e përhershme e bazës së të dhënave dhe regjistri i transaksioneve në disk (me mundësinë e cachimit në memorie);
  • Rikuperim i shpejtë nga dështimet;
  • Klient i qëndrueshëm CLI në gjuhën Go, i cili mund të përdoret për të inicializuar bazën e të dhënave, për të konfiguruar replikimin dhe për të lidhur/shkëputur nyjet;
  • Mbështet arkitekturat ARM, X86, POWER dhe IBM Z;
  • Zbatimi i algoritmit Raft është optimizuar për të minimizuar vonesat gjatë kryerjes së transaksioneve.

Burimi: opennet.ru

Shto një koment