Canonical oznamuje verzi 1.0 Dqlite, knihovny C pro SQL

Kanonický

V minulém týdnu Společnost Canonical oznámila vydání hlavní verze projektu Dqlite 1.0, vyvíjíte stroj SQL Integrovaný kompatibilní s SQLite, který podporuje replikaci dat, automatické zotavení po katastrofě a odolnost proti chybám tím, že zahrnuje více uzlů.

Dqlite je knihovna C. Implementuje replikovaný a databázový stroj SQL s vysokou dostupností a automatickým převzetím služeb při selhání. Zkratka „dqlite“ znamená „Distribuovaný SQLite“, což znamená, že dqlite rozšiřuje SQLite o síťový protokol, který umožňuje připojit více instancí vaší aplikace a zajistit, aby fungovaly jako vysoce dostupný klastr, bez závislosti na externích databázích.

Jak bylo zmíněno DBMS je implementován ve formě knihovny C připojené k aplikacím a je distribuován pod licencí Apache 2.0 (původní SQLite je poskytován ve veřejné doméně). Knihovna je plugin na základě existujícího kódu SQLite, který přidává podporu síťového protokolu k propojení více instancí aplikace spuštěné na různých hostitelích.

Aplikace vytvořená pomocí Dqlite může fungovat jako cluster s podporou převzetí služeb při selhání autonomní chybou, nezávislý na externím DBMS.

V praxi, Canonical používá Dqlite v systému správy kontejnerů LXD. Mezi aplikačními oblastmi knihovny je zmíněna také tvorba zařízení a procesorů Internet of Things odolných vůči chybám ve výpočetních systémech Edge.

Aby byla zajištěna konzistence v replikaci dat, používá se konsensuální metoda založená na Raftově algoritmu, která se používá v projektech jako etcd, RethinkDB, CockroachDB a OpenDaylight. Dqlite používá vlastní asynchronní implementaci C-raftu, napsanou v C.

K multiplexování zpracování připojení a organizaci spouštění korutin se používají připravené knihovny libuv a libco.

Ve srovnání s podobným projektem rqlite poskytuje Dqlite plnou podporu transakcí, může komunikovat s jakýmkoli projektem C, umožňuje vám používat funkci time () a místo replikace založené na překladu výrazů SQL používá replikaci na základě rámců.

Z funkcí, které lze v Dqlite zvýraznit, jsou následující:

  • Proveďte všechny operace na disku a v síti v asynchronním režimu
  • Přítomnost sady testů k potvrzení přesnosti údajů
  • Nízká spotřeba paměti a efektivní výměna dat po síti
  • Trvalé úložiště databázového disku a protokol transakcí (s možností ukládání do mezipaměti)
  • Rychlé zotavení po selhání
  • Stabilní klient CLI v jazyce Go, který lze použít k inicializaci databáze, konfiguraci replikace a připojení / odpojení uzlů
  • Podpora architektur ARM, X86, POWER a IBM Z.
  • Implementace Raftova algoritmu je optimalizována tak, aby se minimalizovala latence transakce.
  • Asynchronní implementace s jedním vláknem pomocí libuv jako smyčky události.
  • Vlastní protokol drátu optimalizovaný pro primitivy a datové typy SQLite.
  • Replikace dat založená na algoritmu Raft a jeho efektivní implementace v C-raftu.

Jak nainstalovat Dqlite na Ubuntu a deriváty?

Canonical poskytuje informace o tom, jak můžete vytvořit klienta pro interakci s Dqlite, můžete se poradit Na následujícím odkazu.

Pokud jde o instalaci knihovny do systému, To lze nainstalovat dvěma způsoby pro ty, kteří jsou uživateli Ubuntu nebo jakýkoli jiný jeho derivát. Canonical poskytuje PPA odkud jej lze získat poměrně jednoduchým způsobem.

Tento PPA lze přidat z terminálu a provádět v něm následující příkazy:

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

Druhou metodou instalace této knihovny je kompilace toho v systému, takže se jedná o obecnější metodu jak pro Ubuntu, tak pro jiné linuxové distribuce.

K tomu musí pouze otevřít terminál a provést následující pří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 ..

Jakmile jsou nainstalovány všechny potřebné knihovny, můžete pro vytvoření sdílené knihovny dqlite spustit:

autoreconf -i
./configure
make
sudo make install

Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.