Dqlite 1.0 er tilgængelig, den distribuerede version af SQLite fra Canonical

Virksomheden Canonical offentliggjorde betydelig udgivelse af projektet Dqlite 1.0 (Distributed SQLite), der udvikler en SQLite-kompatibel indbygget SQL-motor, der understøtter datarapportering, automatisk fejlgendannelse og sikring af fejltolerance ved at sprede håndteringsfunktioner på flere noder. DBMS'en er implementeret som en tilknyttet C-bibliotek til applikationer og distribueres er under Apache 2.0 licens (den originale SQLite leveres som offentlig ejendom). Bindings til sprog Go.

Biblioteket er et lag oven på den eksisterende SQLite-kodebase, som tilføjer support til netværksprotokoller for at forbinde flere tilfælde af applikationen, der kører på forskellige værter. En Dqlite-applikation kan fungere som et selvstændigt fejltolerant klynge uden afhængighed af eksterne DBMS. I praksis anvendes Dqlite af Canonical i containerstyringssystemer LXD. Blandt anvendelsesområderne for biblioteket nævnes også oprettelse af fejltolerante internet-of-things-enheder og behandlere i
Edge-beregning.

For at sikre konsistens ved datarapportering anvendes en metode til at nå konsensus baseret på en algoritme Raft, som bruges i projekter som etcd, RethinkDB, CockroachDB og OpenDaylight. I Dqlite anvendes en egen asynkron implementering af C-raft, skrevet i C. Til multiplexering af forbindelsebehandling og organisering af start af koroutiner anvendes eksisterende biblioteker libuv og libco.

Sammenlignet med det lignende projekt rqlite, tilbyder Dqlite fuld støtte til transaktioner, kan forbindes til alle projekter skrevet i C, muliggør brug af funktionen time() og anvender rammebaseret replikering i stedet for SQL-udtryksspredning.

Funktioner ved Dqlite:

  • Udførelse af alle disk- og netværksoperationer i asynkron tilstand;
  • Tilgængeligheden af et testsæt til at bekræfte dataintegriteten;
  • Lavt hukommelsesforbrug og effektiv dataudveksling over netværket;
  • Vedvarende opbevaring på disk af database og transaktionslog (med mulighed for caching i hukommelsen);
  • Hurtig fejlgendannelse;
  • Stabil CLI-klient skrevet i Go, der kan bruges til at initialisere DB, konfigurere replikering og tilslutte/frakoble noder;
  • Understøttelse af arkitekturer ARM, X86, POWER og IBM Z;
  • Implementeringen af Raft-algoritmen er optimeret for at minimere forsinkelser ved bekræftelse af transaktioner.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster