Dqlite 1.0, 'n verspreide weergawe van SQLite van Canonical, is beskikbaar

Canonical Company gepubliseer beduidende projekvrystelling Dqlite 1.0 (Verspreide SQLite), wat 'n SQLite-versoenbare ingebedde SQL-enjin ontwikkel wat datareplikasie, outomatiese herstel van mislukkings en fouttoleransie ondersteun deur hanteerders oor verskeie nodusse te versprei. Die DBBS word geïmplementeer in die vorm van 'n C-biblioteek wat aan toepassings en versprei deur onder die Apache 2.0-lisensie (die oorspronklike SQLite word in die publieke domein verskaf). Taalbindings beskikbaar Go.

Die biblioteek is 'n byvoeging tot die bestaande SQLite-kodebasis wat netwerkprotokolondersteuning byvoeg vir die onderlinge koppeling van verskeie gevalle van 'n toepassing wat op verskillende gashere loop. 'n Toepassing wat met Dqlite saamgestel is, kan as 'n selfversorgende foutverdraagsame groepering funksioneer, onafhanklik van eksterne DBBS'e. In die praktyk word Dqlite deur Canonical in sy houerbestuurstelsel gebruik LXD. Onder die toepassingsgebiede van die biblioteek word die skepping van foutverdraagsame Internet of Things-toestelle en verwerkers in stelsels ook genoem
Edge- berekeninge.

Om konsekwentheid in data-replikasie te verseker, word 'n algoritme-gebaseerde konsensusmetode gebruik vlot, wat gebruik word in projekte soos etcd, RethinkDB, CockroachDB en OpenDaylight. Dqlite gebruik sy eie asynchrone implementering C-vlot, geskryf in C-taal. Klaargemaakte biblioteke word gebruik om verbindingsverwerking te multipleks en die bekendstelling van koroutines te organiseer libuv и libco.

In vergelyking met 'n soortgelyke projek rqlite,Dqlite bied volledige transaksionele ondersteuning, kan met enige C-projek kommunikeer, laat die gebruik van die time()-funksie toe, en ,gebruik raamgebaseerde replikasie in plaas van SQL-vertalingsgebaseerde replikasie.

Kenmerke van Dqlite:

  • Voer alle skyf- en netwerkbewerkings asynchronies uit;
  • Beskikbaarheid van 'n toetsstel om die korrektheid van die data te bevestig;
  • Lae geheueverbruik en doeltreffende data-uitruiling oor die netwerk;
  • Permanente berging van die databasis en transaksielogboek op skyf (met die moontlikheid om in die geheue te kas);
  • Vinnige herstel van mislukkings;
  • Stabiele CLI-kliënt in Go-taal, wat gebruik kan word om die databasis te inisialiseer, replikasie op te stel en nodusse te koppel/ontkoppel;
  • Ondersteun ARM-, X86-, POWER- en IBM Z-argitekture;
  • Die implementering van die Raft-algoritme is geoptimaliseer om vertragings te verminder wanneer transaksies gepleeg word.

Bron: opennet.ru

Voeg 'n opmerking