Canonical je najavio verziju 1.0 Dqlite, C biblioteke za SQL

Kanonski

Prošli tjedan Canonical je najavio izdavanje glavne verzije projekta Dqlite 1.0, razvijate SQL mehanizam Ugrađeni SQLite kompatibilan koji podržava replikaciju podataka, automatski oporavak od katastrofe i toleranciju kvarova 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" znači "Distribuirani 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 pričvršćene na aplikacije i distribuira se pod licencom Apache 2.0 (izvorni 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 kvara autonomnom pogreškom, neovisno o vanjskim DBMS-ima.

U praksi, Canonical koristi Dqlite u sustavu upravljanja spremnicima LXD. Među područjima primjene knjižnice, također se spominje stvaranje uređaja i procesora Internet of Things otpornih na kvarove u računalnim sustavima Edge.

Kako bi se osigurala dosljednost replikacije podataka, koristi se metoda konsenzusa koja se temelji na algoritmu Raft koja se koristi u projektima poput etcd, RethinkDB, CockroachDB i OpenDaylight. Dqlite koristi vlastitu asinkronu implementaciju C-splava, napisanu u 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ćuje vam upotrebu funkcije time () i koristi replikaciju temeljenu na okviru umjesto replikacije bazirane na prijevodu SQL izraza.

Od značajki koje se mogu istaknuti u Dqliteu su sljedeće:

  • Izvodite sve radnje na disku i mreži u asinkronom načinu
  • Prisutnost niza testova za potvrdu točnosti podataka
  • Mala potrošnja memorije i učinkovita razmjena podataka putem mreže
  • Trajna pohrana 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.
  • Asinkrona jednonitna implementacija koja koristi libuv kao petlju događaja.
  • Prilagođeni žičani protokol optimiziran za SQLite primitive i tipove podataka.
  • Replikacija podataka temeljena na algoritmu Raft i njegova učinkovita primjena u C-raftu.

Kako instalirati Dqlite na Ubuntu i derivate?

Canonical pruža informacije o tome kako možete izraditi klijenta za interakciju s Dqliteom, možete to konzultirati U sljedećem linku.

Što se tiče instaliranja knjižnice u sustav, Ovo se može instalirati na dva načina za one koji su korisnici Ubuntua ili bilo koji drugi njegov derivat. Canonical nudi PPA odakle se 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

Druga metoda za instalaciju ove knjižnice je prevođenjem ovoga na sustavu, 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 knjižnice, da biste izgradili zajedničku knjižnicu dqlite, možete pokrenuti:

autoreconf -i
./configure
make
sudo make install

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.