Canonical najavljuje verziju 1.0 Dqlite, C biblioteke za SQL

kanonski

Prošle nedelje Canonical je najavio izdavanje glavne verzije projekta Dqlite 1.0, razvijate SQL engine Ugrađeni SQLite kompatibilan koji podržava replikaciju podataka, automatski oporavak od katastrofe i toleranciju grešaka obuhvaćajući više čvorova.

Dqlite je C biblioteka Primjenjuje replicirani i SQL mehanizam baze podataka s velikom dostupnošću i automatskim otkazivanjem. Skraćenica "dqlite" označava "Distributed SQLite", što znači da dqlite proširuje SQLite mrežnim protokolom koji može povezati više instanci vaše aplikacije i natjerati ih da djeluju kao visoko dostupni klaster, bez ovisnosti o vanjskim bazama podataka.

Kao što je spomenuto DBMS je implementiran u obliku C biblioteke pripojene aplikacijama i distribuira se pod licencom Apache 2.0 (originalni SQLite dostupan je u javnoj domeni). Biblioteka je dodatak na bazi postojećeg SQLite koda, koji dodaje podršku mrežnog protokola za povezivanje više instanci aplikacije koja se izvodi na različitim hostovima.

Aplikacija izgrađena s Dqliteom može funkcionirati kao klaster preusmjeravanja autonomnom greškom, neovisno o vanjskim DBMS-ima.

U praksi, Canonical koristi Dqlite u LXD sustavu za upravljanje spremnicima. Među područjima primjene biblioteke, također se spominje stvaranje uređaja i procesora Internet of Things otpornih na kvarove u Edge računskim sistemima.

Da bi se osigurala dosljednost replikacije podataka, koristi se metoda konsenzusa zasnovana na algoritmu Raft, koja se koristi u projektima poput etcd, RethinkDB, CockroachDB i OpenDaylight. Dqlite koristi vlastitu asinkronu implementaciju C-splava, napisanu na C.

Za multipleksiranje obrade veze i organiziranje pokretanja podprograma koriste se pripremljene biblioteke libuv i libco.

U usporedbi sa sličnim projektom rqlite, Dqlite pruža potpunu podršku za transakcije, može komunicirati s bilo kojim C projektom, omogućava vam upotrebu funkcije time () i koristi replikaciju zasnovanu na okviru umjesto replikacije bazirane na prijevodu SQL izraza.

Od karakteristika koje se mogu istaknuti u Dqliteu su sljedeće:

  • Izvodite sve radnje na disku i mreži u asinhronom načinu
  • Prisustvo niza testova za potvrđivanje tačnosti podataka
  • Mala potrošnja memorije i efikasna razmjena podataka putem mreže
  • Stalna memorija diska baze podataka i dnevnik transakcija (s mogućnošću predmemoriranja u memoriji)
  • Brzi oporavak nakon kvarova
  • Stabilni CLI klijent u jeziku Go, koji se može koristiti za inicijalizaciju baze podataka, konfiguriranje replikacije i povezivanje / odspajanje čvorova
  • Podrška za ARM, X86, POWER i IBM Z arhitekture
  • Implementacija algoritma Raft optimizirana je kako bi se smanjilo kašnjenje transakcija.
  • Asinhrona jednonitna implementacija koja koristi libuv kao petlju događaja.
  • Prilagođeni žičani protokol optimiziran za SQLite primitive i tipove podataka.
  • Replikacija podataka zasnovana na algoritmu Raft i njegova efikasna implementacija u C-raft.

Kako instalirati Dqlite na Ubuntu i derivate?

Canonical pruža informacije o tome kako možete stvoriti klijenta za interakciju s Dqlite-om, možete to konzultirati Na sledećem linku.

Što se tiče instaliranja biblioteke na sistem, Ovo se može instalirati na dva načina za one koji su korisnici Ubuntu-a ili bilo koji drugi njegov derivat. Canonical nudi PPA odakle se to može dobiti na prilično jednostavan način.

Ovaj PPA može se dodati s terminala i izvršavati sljedeće naredbe u njemu:

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

Drugi način instaliranja ove biblioteke je kompajliranje ovoga na sistemu, pa je ovo općenitija metoda i za Ubuntu i za druge Linux distribucije.

Da bi to učinili, trebaju samo otvoriti terminal i izvršiti sljedeće naredbe:

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 ..

Jednom kada su instalirane sve potrebne biblioteke, da biste izgradili dijeljenu biblioteku dqlite, možete pokrenuti:

autoreconf -i
./configure
make
sudo make install

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.