Dqlite 1.0 este disponibil, o variantă distribuită a SQLite de la Canonical

Compania Canonical a publicat o lansare semnificativă a proiectului Dqlite 1.0 (Distributed SQLite), dezvolta un motor SQL încorporabil compatibil cu SQLite, care suportă replicarea datelor, recuperarea automată după erori și asigurarea rezilienței prin distribuirea handler-ilor pe mai multe noduri. SGBD-ul este implementat sub forma unei biblioteci C atașate aplicațiilor și se răspândește sub licența Apache 2.0 (SQLite original este oferit ca domeniu public). Sunt disponibile legături pentru limbajul Go.

Biblioteca este o extensie a bazei de cod existente SQLite, care adaugă suport pentru protocolul de rețea pentru a lega între ele mai multe instanțe ale aplicației rulând pe gazde diferite. O aplicație construită cu Dqlite poate funcționa ca un cluster rezistent la erori, independent de SGBD-urile externe. În practică, Dqlite este utilizat de Canonical în sistemul de gestionare a containerelor. LXDDomeniile de aplicare ale bibliotecii includ de asemenea crearea de dispozitive IoT rezistente la erori și processori în sistemele
Edge-computational.

Pentru a asigura consistența în timpul replicării datelor, se aplică o metodă de atingere a consensului bazată pe algoritmul Raft, utilizat în proiecte precum etcd, RethinkDB, CockroachDB și OpenDaylight. În Dqlite se aplică o implementare asincronă proprie C-raft, scrisă în limbajul C. Pentru multiplexarea gestionării conexiunilor și organizarea execuției coroutine se utilizează biblioteci gata realizate libuv și libco.

Comparativ cu un proiect similar rqlite, Dqlite oferă un suport complet pentru tranzacții, se poate lega cu orice proiecte în limbajul C, permite utilizarea funcției time() și aplică replicarea bazată pe cadre în loc de replicarea bazată pe transcrierea expresiilor SQL.

Caracteristicile Dqlite:

  • Executarea tuturor operațiunilor de pe disc și rețea în mod asincron;
  • Disponibilitatea unui set de teste pentru a confirma corectitudinea datelor;
  • Consum scăzut de memorie și schimb eficient de date prin rețea;
  • Stocare constantă pe disc a Bazei de Date și a jurnalului de tranzacții (cu posibilitatea de caching în memorie);
  • Recuperare rapidă după erori;
  • Client CLI stabil scris în Go, care poate fi utilizat pentru inițializarea Bazei de Date, configurarea replicării și conectarea/deconectarea nodurilor;
  • Suport pentru arhitecturi ARM, X86, POWER și IBM Z;
  • Implementarea algoritmului Raft este optimizată pentru a minimiza întârzierile în cadrul confirmării tranzacțiilor.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster