Canonical napoveduje različico 1.0 Dqlite, knjižnice C za SQL

Canonical

Prejšnji teden Canonical je napovedal izdajo glavne različice projekta Dqlite 1.0, razvijate motor SQL Vgrajen SQLite, združljiv s podporo kopiranja podatkov, samodejnega obnavljanja po katastrofi in odpornosti na napake z zajemom več vozlišč.

Dqlite je knjižnica C. Izvaja repliciran in SQL mehanizem baz podatkov z visoko razpoložljivostjo in samodejnim preklopom. Kratica "dqlite" pomeni "Distributed SQLite", kar pomeni, da dqlite razširja SQLite z omrežnim protokolom, ki lahko poveže več primerkov vaše aplikacije in jih naredi, da delujejo kot zelo razpoložljiva grozda, ne da bi bili odvisni od zunanjih baz podatkov.

Kot rečeno DBMS je izveden v obliki knjižnice C, ki je priložena aplikacijam in se distribuira pod licenco Apache 2.0 (originalni SQLite je na voljo v javni domeni). Knjižnica je vtičnik na podlagi obstoječe kode SQLite, ki dodaja podporo omrežnega protokola za povezovanje več primerkov aplikacije, ki se izvaja na različnih gostiteljih.

Aplikacija, zgrajena z Dqlite, lahko deluje kot grozd za preusmeritev z avtonomno napako, neodvisno od zunanjih DBMS.

V praksi, Canonical uporablja Dqlite v sistemu za upravljanje vsebnikov LXD. Med področji uporabe knjižnice je omenjeno tudi ustvarjanje odpornih naprav in procesorjev interneta stvari v računalniških sistemih Edge.

Za zagotovitev doslednosti pri kopiranju podatkov se uporablja metoda soglasja, ki temelji na algoritmu Raft in se uporablja v projektih, kot so etcd, RethinkDB, CockroachDB in OpenDaylight. Dqlite uporablja lastno asinhrono izvedbo C-splava, napisano v C.

Za multipleksiranje obdelave povezav in organizacijo zagona podprogramov se uporabljata pripravljeni knjižnici libuv in libco.

V primerjavi s podobnim projektom rqlite Dqlite nudi popolno podporo transakcijam, lahko komunicira s katerim koli projektom C, omogoča uporabo funkcije time () in namesto podvajanja, ki temelji na prevodu izraza SQL, uporablja replikacijo na podlagi okvirja.

Med funkcijami, ki jih je mogoče poudariti v programu Dqlite, so naslednje:

  • Vse diskovne in omrežne operacije izvajajte v asinhronem načinu
  • Prisotnost niza testov za potrditev točnosti podatkov
  • Nizka poraba pomnilnika in učinkovita izmenjava podatkov po omrežju
  • Stalno shranjevanje diska baze podatkov in dnevnik transakcij (z zmožnostjo predpomnjenja v pomnilniku)
  • Hitro okrevanje po okvarah
  • Stabilen odjemalec CLI v jeziku Go, s katerim lahko inicializirate bazo podatkov, konfigurirate replikacijo in povežete / odklopite vozlišča
  • Podpora za arhitekture ARM, X86, POWER in IBM Z.
  • Izvedba algoritma Raft je optimizirana za zmanjšanje zakasnitve transakcij.
  • Asinhrona izvedba z enim navojem, ki uporablja libuv kot zanko dogodka.
  • Žični protokol po meri, optimiziran za primitive SQLite in tipe podatkov.
  • Podvajanje podatkov na osnovi algoritma Raft in njegova učinkovita implementacija v C-raft.

Kako namestiti Dqlite na Ubuntu in izpeljanke?

Canonical ponuja informacije o tem, kako lahko zgradite odjemalca za interakcijo z Dqlite, in si oglejte to V naslednji povezavi.

Kar zadeva namestitev knjižnice v sistem, To lahko namestite na dva načina za uporabnike Ubuntuja ali katerega koli drugega izpeljanka iz njega. Canonical zagotavlja PPA od koder ga je mogoče dobiti na dokaj preprost način.

Ta PPA je mogoče dodati iz terminala in v njem izvršiti naslednje ukaze:

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

Drugi način namestitve te knjižnice je prevajanje tega v sistemu, zato je to bolj splošna metoda tako za Ubuntu kot za druge distribucije Linuxa.

Za to morajo odpreti samo terminal in izvesti naslednje ukaze:

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

Ko so nameščene vse potrebne knjižnice, lahko za izdelavo knjižnice v skupni rabi dqlite zaženete:

autoreconf -i
./configure
make
sudo make install

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.