Canonico
La libreria è un componente aggiuntivo della codebase SQLite esistente che aggiunge il supporto del protocollo di rete per l'interconnessione di più istanze di un'applicazione in esecuzione su host diversi. Un'applicazione compilata con Dqlite può funzionare come un cluster tollerante agli errori autosufficiente, indipendente da DBMS esterni. In pratica Dqlite viene utilizzato da Canonical nel suo sistema di gestione dei contenitori
Per garantire la coerenza nella replica dei dati, viene utilizzato un metodo di consenso basato su algoritmi
Rispetto ad un progetto simile
Caratteristiche di Dqlite:
- Eseguire tutte le operazioni su disco e rete in modo asincrono;
- Disponibilità di un test set per confermare la correttezza dei dati;
- Basso consumo di memoria ed efficiente scambio di dati sulla rete;
- Archiviazione permanente del database e del registro delle transazioni su disco (con possibilità di memorizzazione nella cache in memoria);
- Recupero rapido dai guasti;
- Client CLI stabile in linguaggio Go, che può essere utilizzato per inizializzare il database, configurare la replica e connettere/disconnettere i nodi;
- Supporta le architetture ARM, X86, POWER e IBM Z;
- L'implementazione dell'algoritmo Raft è ottimizzata per ridurre al minimo i ritardi durante l'esecuzione delle transazioni.
Fonte: opennet.ru