Dqlite 1.0 Àr tillgÀnglig, en distribuerad variant av SQLite frÄn Canonical.

Företaget Canonical publicerade Betydande lansering av projektet Dqlite 1.0 (Distributed SQLite), som utvecklar en SQLite-kompatibel inbÀddad SQL-motor som stödjer datareplication, automatisk ÄterstÀllning efter avbrott och sÀkerstÀller redundans genom att sprida hanterare över flera noder. Databashanteringssystemet Àr implementerat i form av ett C-bibliotek som kopplas till applikationer och sprids slÀpps under Apache 2.0-licensen (den ursprungliga SQLite distribueras som offentlig domÀn). Bindningar för sprÄket finns tillgÀngliga. Go.

Biblioteket Àr ett tillÀgg till den befintliga SQLite-koden som lÀgger till stöd för nÀtverksprotokoll för att koppla samman flera instanser av applikationen som körs pÄ olika vÀrdar. En applikation som byggts med Dqlite kan fungera som en sjÀlvbÀrande redundanskluster utan att vara beroende av externa databashanteringssystem. I praktiken anvÀnds Dqlite av Canonical i containerhanteringssystemet. LXDInom omrÄden som bibliotekets tillÀmpning nÀmns Àven skapandet av redundanta Internet of Things-enheter och bearbetare i system
Edge-berÀkningar.

För att sÀkerstÀlla konsistens vid datareplication tillÀmpas en konsensusmetod baserad pÄ algoritmen Raft, som anvÀnds i projekt som etcd, RethinkDB, CockroachDB och OpenDaylight. I Dqlite anvÀnds en egen asynkron implementation av C-raft, skriven i C. För multiplexering av anslutningsbehandling och organisering av programmets körning anvÀnds fÀrdiga bibliotek. libuv och libco.

JÀmfört med det liknande projektet rqlite, erbjuder Dqlite fullstÀndigt stöd för transaktioner, kan ansluta till alla projekt skrivna i C, tillÄter anvÀndning av funktionen time() och tillÀmpar replikation baserad pÄ ramverk istÀllet för replikation baserad pÄ SQL-uttryck.

Funktioner hos Dqlite:

  • Utförande av alla disk- och nĂ€tverksoperationer i asynkront lĂ€ge;
  • TillgĂ„ng till en testuppsĂ€ttning för att bekrĂ€fta datakorrekthet;
  • LĂ„gt minnesutnyttjande och effektiv datakommunikation över nĂ€tverket;
  • Konsistent lagring av databasen och transaktionsloggen pĂ„ disken (med möjlighet till caching i minnet);
  • Snabb Ă„terstĂ€llning efter avbrott;
  • En stabil CLI-klient skriven i Go, som kan anvĂ€ndas för att initiera databasen, stĂ€lla in replikation och koppla ansluta/koppla frĂ„n noder;
  • Stöd för ARM-, X86-, POWER- och IBM Z-arkitekturer;
  • Genomförandet av Raft-algoritmen Ă€r optimerat för att minimera fördröjningar vid transaktionsĂ„taganden.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster