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

Kompania Canonical publikoi çlirimi i rëndësishëm i projektit Dqlite 1.0 (SQLite e Shpërndarë), duke zhvilluar një motor SQL të integruar të pajtueshëm me SQLite, që mbështet replikimin e të dhënave, rikuperimin automatik nga dështimet dhe sigurimin e disponueshmërisë duke shpërndarë menaxherët në disa node. DBMS është implementuar si një bibliotekë C e lidhur me aplikacionet dhe distribuohet ndodhet nën licencën Apache 2.0 (SQLite origjinal ofrohet si pronë publike). Disponohen lidhje për gjuhën Go.

Biblioteka është një shtresë mbi bazën ekzistuese të kodit SQLite, e cila shton mbështetje për protokollin rrjetësor për lidhjen e disa instancave të aplikacionit të ekzekutuar në hoste të ndryshëm. Një aplikacion i ndërtuar me Dqlite mund të funksionojë si një klaster i disponueshëm që nuk varet nga DBMS-të e jashtme. Në praktikë, Dqlite përdoret nga Canonical në sistemin e menaxhimit të kontejnerëve LXD. Ndër fushat e aplikimit të bibliotekës përfshihet gjithashtu krijimi i pajisjeve të disponueshme për Internetin e Gjërave dhe menaxherëve në sistemet
Edge-analitikë.

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

. Krahasuar me një projekt të ngjashëm rqlite, Dqlite ofron mbështetje të plotë për transaksionet, mund të lidhet me çdo projekt në gjuhën C, lejon përdorimin e funksionit time() dhe aplikon replikimin të bazuar në korniza në vend të replikimit të bazuar në transmetimin e shprehjeve SQL.

Veçoritë e Dqlite:

  • Kryerja e tĂ« gjitha operacioneve disk dhe rrjet nĂ« mĂ«nyrĂ« asinkrone;
  • Prania e njĂ« grupi testesh pĂ«r tĂ« konfirmuar korrektĂ«sinĂ« e tĂ« dhĂ«nave;
  • Konsumi i ulĂ«t i memories dhe shkĂ«mbimi efektiv i tĂ« dhĂ«nave pĂ«rmes rrjetit;
  • Ruajtja e pĂ«rhershme nĂ« disk e DB dhe logut tĂ« transaksioneve (me mundĂ«si pĂ«r memorizimin nĂ« memorje);
  • Rikuperim i shpejtĂ« pas dĂ«shtimeve;
  • NjĂ« klient stabil CLI nĂ« gjuhĂ«n Go, i cili mund tĂ« pĂ«rdoret pĂ«r tĂ« inicializuar DB, konfiguruar replikimin dhe lidhur/ndaluar node-t;
  • MbĂ«shtetje pĂ«r arkitekturĂ«n ARM, X86, POWER dhe IBM Z;
  • Implementimi i algoritmit Raft Ă«shtĂ« optimizuar pĂ«r tĂ« minimizuar vonesat gjatĂ« ngadalĂ«simit tĂ« transaksioneve.

Burimi: opennet.ru

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