Dqlite 1.0, verżjoni mqassma ta' SQLite minn Canonical, hija disponibbli

Kanoniku ippubblikat rilaxx sinifikanti tal-proġett Dqlite 1.0 (Distributed SQLite), li tiżviluppa magna SQL inkorporata kompatibbli ma 'SQLite li tappoġġja r-replikazzjoni tad-dejta, l-irkupru awtomatiku minn fallimenti, u t-tolleranza tal-ħsarat billi tqassam handlers f'diversi nodi. Id-DBMS huwa implimentat fil-forma ta 'librerija C mehmuża ma' applikazzjonijiet u imqassma minn taħt il-liċenzja Apache 2.0 (is-SQLite oriġinali hija pprovduta fid-dominju pubbliku). Bindings lingwistiċi disponibbli Go.

Il-librerija hija add-on għall-kodiċi eżistenti SQLite li żżid l-appoġġ tal-protokoll tan-netwerk għall-interkonnessjoni ta 'każijiet multipli ta' applikazzjoni li taħdem fuq hosts differenti. Applikazzjoni miġbura b'Dqlite tista' tiffunzjona bħala cluster awtosuffiċjenti li tollera l-ħsarat, indipendenti minn DBMSs esterni. Fil-prattika, Dqlite jintuża minn Canonical fis-sistema ta 'ġestjoni tal-kontejners tagħha LXD. Fost l-oqsma ta 'applikazzjoni tal-librerija, jissemma wkoll il-ħolqien ta' apparati u proċessuri tal-Internet tal-Oġġetti li jifilħu għall-ħsarat fis-sistemi.
Xifer- kalkoli.

Biex tiġi żgurata l-konsistenza fir-replikazzjoni tad-dejta, jintuża metodu ta’ kunsens ibbażat fuq algoritmi Raft, li tintuża fi proġetti bħal etcd, RethinkDB, CockroachDB u OpenDaylight. Dqlite juża l-implimentazzjoni asinkronika tiegħu stess Ċ-ċattra, miktuba bil-lingwa Ċ. Libreriji lesti jintużaw għall-ipproċessar tal-konnessjoni multiplex u jorganizzaw it-tnedija ta 'coroutines libuv и libco.

Meta mqabbel ma 'proġett simili rqlite,Dqlite jipprovdi appoġġ transazzjonali sħiħ, jista 'jikkomunika, bi kwalunkwe proġett C, jippermetti l-użu tal-funzjoni time(), u juża replikazzjoni bbażata fuq frame minflok replikazzjoni bbażata fuq traduzzjoni SQL.

Karatteristiċi ta 'Dqlite:

  • Wettaq l-operazzjonijiet kollha tad-disk u tan-netwerk b'mod asinkroniku;
  • Disponibbiltà ta' sett tat-test biex tikkonferma l-korrettezza tad-dejta;
  • Konsum baxx tal-memorja u skambju effiċjenti tad-dejta fuq in-netwerk;
  • Ħażna permanenti tad-database u log tat-tranżazzjonijiet fuq disk (bil-possibbiltà ta 'caching fil-memorja);
  • Irkupru mgħaġġel minn fallimenti;
  • Klijent CLI stabbli fil-lingwa Go, li jista 'jintuża biex inizjalizza d-database, tikkonfigura r-replikazzjoni u tikkonnettja/skonnettja n-nodi;
  • Jappoġġja arkitetturi ARM, X86, POWER u IBM Z;
  • L-implimentazzjoni tal-algoritmu Raft hija ottimizzata biex timminimizza d-dewmien meta jsiru tranżazzjonijiet.

Sors: opennet.ru

Żid kumment