Kanonisk
Biblioteket är ett tillägg till den befintliga SQLite-kodbasen som lägger till nätverksprotokollstöd för sammankoppling av flera instanser av en applikation som körs på olika värdar. En applikation kompilerad med Dqlite kan fungera som ett självförsörjande feltolerant kluster, oberoende av externa DBMS. I praktiken används Dqlite av Canonical i sitt containerhanteringssystem
För att säkerställa konsekvens i datareplikeringen används en algoritmbaserad konsensusmetod
Jämfört med ett liknande projekt
Funktioner hos Dqlite:
- Utför alla disk- och nätverksoperationer asynkront;
- Tillgänglighet av en testuppsättning för att bekräfta riktigheten av data;
- Låg minnesförbrukning och effektivt datautbyte över nätverket;
- Permanent lagring av databasen och transaktionslogg på disk (med möjlighet till cachelagring i minnet);
- Snabb återhämtning från fel;
- Stabil CLI-klient i Go-språk, som kan användas för att initiera databasen, konfigurera replikering och ansluta/koppla från noder;
- Stöder ARM, X86, POWER och IBM Z-arkitekturer;
- Implementeringen av Raft-algoritmen är optimerad för att minimera förseningar när transaktioner genomförs.
Källa: opennet.ru