Dqlite 1.0, isang ipinamamahaging bersyon ng SQLite mula sa Canonical, ay magagamit

Canonical ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° makabuluhang pagpapalabas ng proyekto Dqlite 1.0 (Distributed SQLite), na bumubuo ng SQLite-compatible na naka-embed na SQL engine na sumusuporta sa pagtitiklop ng data, awtomatikong pagbawi mula sa mga pagkabigo, at fault tolerance sa pamamagitan ng pamamahagi ng mga humahawak sa maraming node. Ang DBMS ay ipinatupad sa anyo ng isang C library na naka-attach sa mga application at ipinamahagi ni sa ilalim ng lisensya ng Apache 2.0 (ang orihinal na SQLite ay ibinigay sa pampublikong domain). Available ang mga binding ng wika Go.

Ang library ay isang add-on sa umiiral na SQLite codebase na nagdaragdag ng suporta sa network protocol para sa pag-uugnay ng maraming pagkakataon ng isang application na tumatakbo sa iba't ibang mga host. Ang isang application na pinagsama-sama sa Dqlite ay maaaring gumana bilang isang self-sufficient fault-tolerant cluster, independiyente sa mga panlabas na DBMS. Sa pagsasagawa, ang Dqlite ay ginagamit ng Canonical sa sistema ng pamamahala ng lalagyan nito LXD. Kabilang sa mga lugar ng aplikasyon ng library, ang paglikha ng fault-tolerant na Internet of Things na mga device at processor sa mga system ay binanggit din.
Gilid- mga kalkulasyon.

Upang matiyak ang pagkakapare-pareho sa pagtitiklop ng data, ginagamit ang isang paraan ng pinagkasunduan batay sa algorithm Raft, na ginagamit sa mga proyekto tulad ng etcd, RethinkDB, CockroachDB at OpenDaylight. Gumagamit ang Dqlite ng sarili nitong asynchronous na pagpapatupad C-balsa, nakasulat sa wikang C. Ang mga handa na aklatan ay ginagamit sa multiplex na pagpoproseso ng koneksyon at ayusin ang paglulunsad ng mga coroutine libuv ΠΈ libco.

Kung ikukumpara sa isang katulad na proyekto rqlite,Ang Dqlite ay nagbibigay ng buong transaksyonal na suporta, maaaring makipag-usap, sa anumang C proyekto, nagbibigay-daan sa paggamit ng time() function, at ,gumagamit ng frame-based na replikasyon sa halip na SQL translation-based, replication.

Mga Tampok ng Dqlite:

  • Gawin ang lahat ng mga pagpapatakbo ng disk at network nang hindi magkakasabay;
  • Availability ng test set para kumpirmahin ang kawastuhan ng data;
  • Mababang pagkonsumo ng memorya at mahusay na pagpapalitan ng data sa network;
  • Permanenteng imbakan ng database at log ng transaksyon sa disk (na may posibilidad ng pag-cache sa memorya);
  • Mabilis na pagbawi mula sa mga pagkabigo;
  • Matatag na kliyente ng CLI sa wikang Go, na maaaring magamit upang simulan ang database, i-configure ang pagtitiklop at ikonekta/idiskonekta ang mga node;
  • Sinusuportahan ang ARM, X86, POWER at IBM Z na mga arkitektura;
  • Ang pagpapatupad ng algorithm ng Raft ay na-optimize upang mabawasan ang mga pagkaantala kapag gumagawa ng mga transaksyon.

Pinagmulan: opennet.ru

Magdagdag ng komento