Ang Dqlite 1.0, usa ka gipang-apod-apod nga bersyon sa SQLite gikan sa Canonical, anaa

Canonical gipatik mahinungdanong pagpagawas sa proyekto Dqlite 1.0 (Distributed SQLite), nga nagpalambo sa usa ka SQLite-compatible nga naka-embed nga SQL engine nga nagsuporta sa data replication, awtomatikong pagbawi gikan sa mga kapakyasan, ug fault tolerance pinaagi sa pag-apod-apod sa mga handler sa daghang mga node. Ang DBMS gipatuman sa porma sa usa ka C library nga gilakip sa mga aplikasyon ug giapod-apod sa ubos sa Apache 2.0 nga lisensya (ang orihinal nga SQLite gihatag sa publiko nga domain). Anaa ang mga pagbugkos sa pinulongan Go.

Ang librarya usa ka add-on sa naglungtad nga SQLite codebase nga nagdugang suporta sa network protocol alang sa pagkonektar sa daghang mga higayon sa usa ka aplikasyon nga nagdagan sa lainlaing mga host. Ang usa ka aplikasyon nga gihugpong sa Dqlite mahimong molihok isip usa ka igo-sa-kaugalingon nga fault-tolerant cluster, nga independente sa mga eksternal nga DBMS. Sa praktis, ang Dqlite gigamit sa Canonical sa sistema sa pagdumala sa sulud niini LXD. Lakip sa mga lugar sa aplikasyon sa librarya, ang paghimo sa fault-tolerant nga Internet of Things nga mga aparato ug mga processor sa mga sistema gihisgutan usab.
Pagbalhin- mga kalkulasyon.

Aron masiguro ang pagkamakanunayon sa pagkopya sa datos, usa ka pamaagi sa konsensus nga nakabase sa algorithm ang gigamit Raft, nga gigamit sa mga proyekto sama sa etcd, RethinkDB, CockroachDB ug OpenDaylight. Ang Dqlite naggamit sa kaugalingon nga asynchronous nga pagpatuman C-balsa, gisulat sa C nga pinulongan. Ang mga andam nga librarya gigamit sa pagproseso sa daghang koneksyon ug pag-organisar sa paglansad sa mga coroutine libuv ΠΈ libco.

Kon itandi sa susama nga proyekto rqlite, Ang Dqlite naghatag ug bug-os nga transactional nga suporta, makakomunikar , sa bisan unsa nga C language nga proyekto, nagtugot sa paggamit sa oras(), function, ug naggamit sa frame-based replication imbes sa SQL ,translation-based replication.

Mga bahin sa Dqlite:

  • Buhata ang tanan nga mga operasyon sa disk ug network nga asynchronously;
  • Ang pagkaanaa sa usa ka set sa pagsulay aron makumpirma ang katukma sa datos;
  • Ubos nga konsumo sa memorya ug episyente nga pagbayloay sa datos sa network;
  • Permanenteng pagtipig sa database ug log sa transaksyon sa disk (nga adunay posibilidad sa pag-cache sa memorya);
  • Dali nga pagkaayo gikan sa mga kapakyasan;
  • Lig-on nga kliyente sa CLI sa pinulongang Go, nga magamit sa pagsugod sa database, pag-configure sa replikasyon ug pagkonektar/pagdiskonekta sa mga node;
  • Nagsuporta sa ARM, X86, POWER ug IBM Z nga mga arkitektura;
  • Ang pagpatuman sa Raft algorithm gi-optimize aron maminusan ang mga paglangan kung maghimo mga transaksyon.

Source: opennet.ru

Idugang sa usa ka comment