Canonical Annuncia a Versione 1.0 di Dqlite, una Libreria C per SQL

Canonical

A settimana passata Canonical hà annunziatu a liberazione di una versione maiò di u prugettu Dqlite 1.0, stai sviluppendu un mutore SQL Cumpatibile SQLite integratu chì supporta a replica di dati, a recuperazione automatica di disastru, è a tolleranza di difetti attraversendu più nodi.

Dqlite hè una libreria C. Implementa un mutore di basa di dati SQL è replicatu cù alta disponibilità è failover automaticu. L'acronimu "dqlite" significa "Distribuitu SQLite", ciò chì significa chì dqlite estende SQLite cù un protocolu di rete chì pò cunnesse più istanze di a vostra applicazione è fà li agisce cum'è un cluster altamente dispunibile, senza dipendenza da basi di dati esterne.

Cumu l'accennatu u SGBD hè implementatu in forma di una biblioteca C attaccata à l'applicazioni è hè distribuitu sottu a licenza Apache 2.0 (u SQLite originale hè furnitu in u duminiu publicu). A biblioteca hè un plugin basatu annantu à u codice SQLite esistente, chì aghjusta un supportu di protocolu di rete per ligà più istanze di l'applicazione chì gira in diversi host.

Una applicazione custruita cù Dqlite pò funzionà cum'è un cluster di failover per sbagliu autonomu, indipendente da DBMS esterni.

In pratica, Canonical usa Dqlite in u sistema di gestione di cuntenienti LXD. Trà l'area di applicazione di a biblioteca, hè ancu citata a creazione di dispositivi è processori Internet di e cose chì tolleranu i difetti in i sistemi di computazione Edge.

Per assicurà a cunsistenza in a replicazione di dati, un metudu di cunsensu basatu annantu à l'algoritmu Raft hè adupratu, chì hè adupratu in prughjetti cum'è etcd, RethinkDB, CockroachDB è OpenDaylight. Dqlite utilizza a so propria implementazione asincrona di C-raft, scritta in C.

Per multiplexà a trasfurmazione di cunnessione è urganizà u lanciu di coroutine, sò aduprate e bibliuteche preparate libuv è libco.

Comparatu à un prughjettu rqlite simile, Dqlite furnisce un sustegnu cumpletu di transazzione, pò cumunicà cù qualsiasi prughjettu C, permette di aduprà a funzione time (), è usa a replica basata nantu à u quadru invece di a replica basata nantu à a traduzzione di l'espressione SQL.

Di e caratteristiche chì ponu esse messe in risaltu in Dqlite sò e seguenti:

  • Eseguite tutte l'operazioni di discu è di rete in modu asincrunu
  • A presenza di un inseme di testi per cunfirmà l'accuratezza di i dati
  • Bassa cunsumazione di memoria è scambiu di dati efficiente nantu à a rete
  • Storage permanente di u discu di basa di dati è log di transazzioni (cù capacità di cache in memoria)
  • Recuperazione rapida dopu fallimenti
  • Cliente CLI stabile in lingua Go, chì pò esse adupratu per inizializà a basa di dati, cunfigurà a replica è cunnette / disconnect nodes
  • Supportu per architetture ARM, X86, POWER è IBM Z
  • L'implementazione di l'algoritmu Raft hè ottimizzata per minimizà a latenza di transazzioni.
  • Implementazione unica filettata asincrona aduprendu libuv cum'è loop d'eventi.
  • Protocollu di filu persunalizatu ottimizatu per primitivi SQLite è tippi di dati.
  • Replica di dati basata annantu à l'algoritmu Raft è a so implementazione efficiente in C-raft.

Cume installà Dqlite in Ubuntu è derivati?

Canonical furnisce infurmazioni nantu à cumu si pò custruisce un cliente per l'interazione cù Dqlite, pudete cunsultà questu In u ligame seguente.

Avà per l'installazione di a biblioteca nantu à u sistema, Questu pò esse installatu in dui modi per quelli chì sò utenti Ubuntu o qualsiasi altru derivativu di questu. Canonical furnisce un PPA da induve si pò uttene in un modu abbastanza sèmplice.

Stu PPA pò esse aghjuntu da un terminal è esecutendu i cumandamenti seguenti in questu:

sudo add-apt-repository ppa:dqlite/v1
sudo apt-get update
sudo apt-get install libdqlite-dev

L'altru metudu per installà sta biblioteca hè cumpilendu di questu nantu à u sistema dunque questu hè un metudu più generale per Ubuntu è altre distribuzioni Linux.

Per fà questu, anu solu da apre un terminal è eseguisce i seguenti cumandamenti:

git clone --depth 100 https://github.com/canonical/sqlite.git
cd sqlite
./configure --enable-replication
make
sudo make install
cd ..
git clone https://github.com/canonical/libco.git
cd libco
make
sudo make install
cd ..
git clone https://github.com/canonical/raft.git
cd raft
autoreconf -i
./configure
make
sudo make install
cd ..

Una volta installate tutte e biblioteche necessarie, per custruisce a biblioteca spartita dqlite, pudete eseguisce:

autoreconf -i
./configure
make
sudo make install

U cuntenutu di l'articulu aderisce à i nostri principii di etica edituriale. Per signalà un errore cliccate quì.

Sianu the first to comment

Lasciate u vostru cummentariu

U vostru indirizzu email ùn esse publicatu. campi, nicissarii sò marcati cù *

*

*

  1. Responsabile di i dati: Miguel Ángel Gatón
  2. Scopu di i dati: Cuntrolla SPAM, gestione di cumenti.
  3. Legitimazione: U vostru accunsentu
  4. Cumunicazione di i dati: I dati ùn seranu micca cumunicati à terzi, eccettu per obbligazione legale.
  5. Archiviazione di dati: Base di dati ospitata da Occentus Networks (UE)
  6. Diritti: In ogni mumentu pudete limità, recuperà è cancellà e vostre informazioni.