Dostupan je Dqlite 1.0, distribuirana verzija SQLite-a tvrtke Canonical

Kanonski опубликовала značajno izdanje projekta Dqlite 1.0 (Distribuirani SQLite), koji razvija SQLite kompatibilan ugrađeni SQL mehanizam koji podržava replikaciju podataka, automatski oporavak od kvarova i toleranciju na greške distribucijom rukovatelja na više čvorova. DBMS je implementiran u obliku C biblioteke pripojene aplikacijama i distribuira pod licencom Apache 2.0 (izvorni SQLite dostupan je u javnoj domeni). Dostupni jezični uvezi Go.

Knjižnica je dodatak postojećoj bazi kodova SQLite koja dodaje podršku mrežnog protokola za međusobno povezivanje više instanci aplikacije koja se izvodi na različitim hostovima. Aplikacija sastavljena s Dqliteom može funkcionirati kao samodostatni klaster otporan na greške, neovisno o vanjskim DBMS-ovima. U praksi Canonical koristi Dqlite u svom sustavu upravljanja spremnicima LXD. Među područjima primjene biblioteke spominje se i izrada uređaja i procesora u sustavima otpornih na pogreške Internet of Things
rub- izračuni.

Kako bi se osigurala dosljednost u replikaciji podataka, koristi se konsenzusna metoda koja se temelji na algoritmu Splav, koji se koristi u projektima kao što su etcd, RethinkDB, CockroachDB i OpenDaylight. Dqlite koristi vlastitu asinkronu implementaciju C-splav, napisano u C jeziku. Gotove biblioteke koriste se za multipleksiranje obrade veze i organiziranje pokretanja korutina libuv и libco.

U usporedbi sa sličnim projektom rqlite,Dqlite pruža potpunu transakcijsku podršku, može komunicirati ,s bilo kojim C projektom, dopušta korištenje funkcije time() i ,koristi replikaciju temeljenu na okvirima umjesto replikacije temeljene na SQL prijevodu.

Značajke Dqlite-a:

  • Izvršite sve diskovne i mrežne operacije asinkrono;
  • Dostupnost testnog seta za potvrdu točnosti podataka;
  • Mala potrošnja memorije i učinkovita razmjena podataka preko mreže;
  • Trajna pohrana baze podataka i transakcijskog dnevnika na disk (s mogućnošću predmemoriranja u memoriji);
  • Brzi oporavak od kvarova;
  • Stabilni CLI klijent u Go jeziku, koji se može koristiti za inicijalizaciju baze podataka, konfiguraciju replikacije i spajanje/odspajanje čvorova;
  • Podržava ARM, X86, POWER i IBM Z arhitekture;
  • Implementacija Raft algoritma optimizirana je za smanjenje kašnjenja prilikom izvršavanja transakcija.

Izvor: opennet.ru

Dodajte komentar