Dqlite 1.0, varianti i shpërndarë i SQLite nga kompania Canonical, është i disponueshëm

Kompania Canonical publikoi në mënyrë të konsiderueshme Dqlite 1.0 (SQLite e shpërndarë), një motor SQL i integruar që është i pajtueshëm me SQLite, që mbështet replikimin e të dhënave, rikuperimin automatik nga dështimet dhe sigurimin e qëndrueshmërisë përmes shpërndarjes së trajtuesve në disa nyje. Baza e të dhënave është realizuar si një bibliotekë C që e bashkangjitet me aplikacionet dhe shpërndahet në përputhje me licencën Apache 2.0 (SQLite origjinale është e disponueshme si pronë e përbashkët). Ka lidhje të disponueshme për gjuhën Go.

Biblioteka është një shtesë mbi bazën e kodit ekzistues të SQLite që shton mbështetje për protokollin rrjetësor për të lidhur disa instance aplikacioni që janë duke u ekzekutuar në hoste të ndryshëm. Një aplikacion i mbledhur me Dqlite mund të funksionojë si një klaster i qëndrueshëm, i pavarur nga bazat e të dhënave të jashtme. Në praktikë, Dqlite përdoret nga Canonical në sistemin e menaxhimit të kontejnerëve LXD. Mes fushave të aplikimit të bibliotekës përmenden gjithashtu krijimi i pajisjeve të qëndrueshme të internetit të gjërave dhe trajtues të sistemeve
Edge-të llogaritjes.

Për të siguruar një qëndrim të paanshëm gjatë replikimit të të dhënave, aplikohet një metodë për të arritur konsensus bazuar në algoritmin Raft, i cili përdoret në projekte të tilla si etcd, RethinkDB, CockroachDB dhe OpenDaylight. Në Dqlite aplikohet një realizim i veçantë asinkron i C-raft, i shkruar në gjuhën C. Për shumëfishimin e përpunimit të lidhjeve dhe organizimin e fillimit të korutinave përdoren biblioteka të gatshme libuv dhe libco.

Në krahasim me projektin e ngjashëm rqlite, Dqlite siguron mbështetje të plotë për transaksionet, mund të lidhet me çdo projekt në gjuhën C, lejon përdorimin e funksionit time() dhe aplicon replikim të bazuar në kadra në vend të replikimit të bazuar në transmetimin e shprehjeve SQL.

Karakteristikat e Dqlite:

  • Kryerja e tĂ« gjitha operacioneve tĂ« diskut dhe rrjetit nĂ« mĂ«nyrĂ« asinkrone;
  • Prania e njĂ« tabori testues pĂ«r tĂ« konfirmuar korrektĂ«sinĂ« e tĂ« dhĂ«nave;
  • Konsum tĂ« ulĂ«t tĂ« memories dhe shkĂ«mbim efikas tĂ« tĂ« dhĂ«nave nĂ« rrjet;
  • Ruajtje tĂ« vazhdueshme nĂ« disk tĂ« bazĂ«s sĂ« tĂ« dhĂ«nave dhe logut tĂ« transaksioneve (me mundĂ«sinĂ« e cache nĂ« memorie);
  • Rikuperim tĂ« shpejtĂ« pas dĂ«shtimeve;
  • NjĂ« klient CLI tĂ« qĂ«ndrueshĂ«m nĂ« gjuhĂ«n Go, i cili mund tĂ« pĂ«rdoret pĂ«r tĂ« iniciuar bazĂ«n e tĂ« dhĂ«nave, pĂ«r tĂ« konfiguruar replikimin dhe pĂ«r tĂ« lidhur/ç lidhur nyjat;
  • MbĂ«shtetje pĂ«r arkitekturĂ«n ARM, X86, POWER dhe IBM Z;
  • Implementimi i algoritmit Raft Ă«shtĂ« optimizuar pĂ«r tĂ« minimalizuar vonesat gjatĂ« konfirmimit tĂ« transaksioneve.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster