Canonical oznamuje verziu 1.0 Dqlite, knižnice C pre SQL

kánonický

Minulý týždeň Spoločnosť Canonical oznámila vydanie hlavnej verzie projektu Dqlite 1.0, vyvíjate engine SQL Zabudovaný kompatibilný s SQLite, ktorý podporuje replikáciu údajov, automatické zotavenie po katastrofe a odolnosť voči chybám tým, že sa rozprestiera na viacerých uzloch.

Dqlite je knižnica C. Implementuje replikovaný databázový stroj SQL s vysokou dostupnosťou a automatickým zlyhaním. Skratka „dqlite“ znamená „Distribuovaný SQLite“, čo znamená, že dqlite rozširuje SQLite o sieťový protokol, ktorý umožňuje pripojenie viacerých inštancií vašej aplikácie a ich fungovanie ako vysoko dostupného klastra bez závislosti na externých databázach.

Ako bolo spomenuté DBMS je implementovaný vo forme knižnice C pripojenej k aplikáciám a je distribuovaný pod licenciou Apache 2.0 (pôvodný SQLite je poskytovaný vo verejnej doméne). Knižnica je doplnok na základe existujúceho kódu SQLite, ktorá pridáva podporu sieťových protokolov na prepojenie viacerých inštancií aplikácie bežiacej na rôznych hostiteľoch.

Aplikácia postavená na Dqlite môže fungovať ako klaster pre prípad zlyhania autonómnou chybou, nezávislé od externých DBMS.

V praxi, Spoločnosť Canonical používa Dqlite v systéme správy kontajnerov LXD. Z aplikačných oblastí knižnice je tiež spomenutá tvorba odolných zariadení a procesorov Internetu vecí vo výpočtových systémoch Edge.

Na zabezpečenie konzistencie pri replikácii údajov sa používa konsenzuálna metóda založená na algoritme Raft, ktorá sa používa v projektoch ako etcd, RethinkDB, CockroachDB a OpenDaylight. Dqlite používa vlastnú asynchrónnu implementáciu C-raftu napísanú v jazyku C.

Na multiplexovanie spracovania spojenia a organizáciu spustenia korutín sa používajú pripravené knižnice libuv a libco.

V porovnaní s podobným projektom rqlite poskytuje Dqlite úplnú podporu transakcií, môže komunikovať s akýmkoľvek projektom C, umožňuje vám používať funkciu time () a namiesto replikácie založenej na preklade výrazov SQL používa replikáciu na základe rámcov.

Medzi funkciami, ktoré je možné zvýrazniť v Dqlite, sú nasledujúce:

  • Vykonajte všetky operácie na disku a v sieti v asynchrónnom režime
  • Prítomnosť súboru testov na potvrdenie presnosti údajov
  • Nízka spotreba pamäte a efektívna výmena dát po sieti
  • Trvalé úložisko databázového disku a protokol transakcií (s možnosťou ukladania do pamäte cache)
  • Rýchle zotavenie po poruchách
  • Stabilný klient CLI v jazyku Go, ktorý je možné použiť na inicializáciu databázy, konfiguráciu replikácie a pripojenie / odpojenie uzlov
  • Podpora pre architektúry ARM, X86, POWER a IBM Z.
  • Implementácia Raftovho algoritmu je optimalizovaná tak, aby sa minimalizovala latencia transakcií.
  • Asynchrónna implementácia s jedným vláknom s využitím libuv ako slučky udalostí.
  • Vlastný protokol protokolu optimalizovaný pre primitívy a dátové typy SQLite.
  • Replikácia dát založená na algoritme Raft a jeho efektívna implementácia v C-raft.

Ako nainštalovať Dqlite na Ubuntu a deriváty?

Canonical poskytuje informácie o tom, ako môžete vytvoriť klienta pre interakciu s Dqlite, môžete sa s tým poradiť Na nasledujúcom odkaze.

Čo sa týka inštalácie knižnice do systému, Toto je možné nainštalovať dvoma spôsobmi pre tých, ktorí sú používateľmi Ubuntu alebo akýkoľvek iný jej derivát. Spoločnosť Canonical poskytuje PPA odkiaľ sa to dá získať celkom jednoduchým spôsobom.

Tento PPA je možné pridať z terminálu a vykonávať v ňom nasledujúce príkazy:

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

Druhou metódou inštalácie tejto knižnice je kompilácia toho v systéme, takže toto je všeobecnejšia metóda pre distribúcie Ubuntu aj pre iné linuxové distribúcie.

Na to musia iba otvoriť terminál a vykonať nasledujúce príkazy:

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

Po nainštalovaní všetkých potrebných knižníc môžete na vytvorenie zdieľanej knižnice dqlite spustiť:

autoreconf -i
./configure
make
sudo make install

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.