Ir pieejama Canonical izplatītā SQLite versija Dqlite 1.0

Kanonisks опубликовала nozīmīgs projekta izlaidums Dqlite 1.0 (Distributed SQLite), kas izstrādā ar SQLite saderīgu iegulto SQL dzinēju, kas atbalsta datu replikāciju, automātisku atkopšanu pēc kļūmēm un kļūdu toleranci, sadalot apstrādātājus vairākos mezglos. DBVS tiek ieviesta C bibliotēkas veidā, kas pievienota lietojumprogrammām un izplata saskaņā ar Apache 2.0 licenci (sākotnējais SQLite ir pieejams publiskajā domēnā). Pieejami valodu iesējumi Go.

Bibliotēka ir papildinājums esošajai SQLite kodu bāzei, kas pievieno tīkla protokola atbalstu, lai savstarpēji savienotu vairākus lietojumprogrammas gadījumus, kas darbojas dažādos saimniekdatoros. Lietojumprogramma, kas kompilēta ar Dqlite, var darboties kā pašpietiekams, kļūdu izturīgs klasteris neatkarīgi no ārējām DBVS. Praksē Canonical savā konteineru pārvaldības sistēmā izmanto Dqlite LXD. Starp bibliotēkas pielietojuma jomām tiek minēta arī defektu izturīgu lietu interneta ierīču un procesoru izveide sistēmās.
mala- aprēķini.

Lai nodrošinātu konsekvenci datu replikācijā, tiek izmantota uz algoritmu balstīta vienprātības metode Plosts, kas tiek izmantots tādos projektos kā etcd, RethinkDB, CockroachDB un OpenDaylight. Dqlite izmanto savu asinhrono ieviešanu C-plosts, rakstīts C valodā. Gatavās bibliotēkas tiek izmantotas, lai multipleksētu savienojumu apstrādi un organizētu korutīnu palaišanu libuv и libco.

Salīdzinot ar līdzīgu projektu rqlite,Dqlite nodrošina pilnu darījumu atbalstu, var sazināties ar jebkuru C projektu, ļauj izmantot time() funkciju un izmanto uz kadru balstītu replikāciju, nevis uz SQL tulkojumu balstītu replikāciju.

Dqlite funkcijas:

  • Veikt visas diska un tīkla darbības asinhroni;
  • Testa komplekta pieejamība datu pareizības apstiprināšanai;
  • Zems atmiņas patēriņš un efektīva datu apmaiņa tīklā;
  • Pastāvīga datu bāzes un darījumu žurnāla glabāšana diskā (ar iespēju saglabāt kešatmiņu atmiņā);
  • Ātra atveseļošanās pēc neveiksmēm;
  • Stabils CLI klients Go valodā, ko var izmantot datu bāzes inicializācijai, replikācijas konfigurēšanai un mezglu savienošanai/atvienošanai;
  • Atbalsta ARM, X86, POWER un IBM Z arhitektūras;
  • Raft algoritma ieviešana ir optimizēta, lai samazinātu aizkavēšanos, veicot darījumus.

Avots: opennet.ru

Pievieno komentāru