Dqlite (“distributed SQLite”) extends SQLite across a cluster of machines, with automatic failover and high-availability to keep your application running. It uses C-Raft, an optimised Raft implementation in C, to gain high-performance transactional consensus and fault tolerance while preserving SQlite’s outstanding efficiency and tiny footprint.
or on Ubuntu:
sudo add-apt-repository -y ppa:dqlite/stable && sudo apt install dqlite
Modern edge computing moves high-value applications to the edge of the network with fewer guarantees about hardware availability and management. Appliances in the cabinet or remote locations cannot be monitored, managed, or replaced very quickly, and cannot assume strict environmental controls. That makes the hardware less reliable and increases the cost of human intervention.
Dqlite provides edge applications with an ultra-fast SQL database that is automatically replicated across multiple hosts and guarantees fast failover. SQLite is the world’s most widely used embedded SQL implementation. Dqlite extends SQLite with robust Raft consensus and failover semantics.
Consensus algorithms provide certainty of transaction replication. It ensures data persistence in the event of the loss of one or more machines in the cluster, as long as a majority survives. Raft is widely considered the consensus algorithm of choice for efficiency and correctness of implementation. C-Raft is a hand-tuned C implementation of Raft that is fully asynchronous by design.