Dqlite is a fast, embedded, persistent SQL database with Raft consensus that is perfect for fault-tolerant IoT and Edge devices. 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. Stable Golang client and a documented wire protocol for other languages. Runs on ARM, X86, POWER and IBM Z architectures. C-Raft is tuned to minimize transaction latency. C-Raft and dqlite are both written in C for maximum cross-platform portability. Published under the LGPLv3 license with a static linking exception for maximum compatibility. Includes common CLI pattern for database initialization and voting member joins and departures.
Features
- Fully asynchronous network and disk I/O
- Comprehensive test suite for correctness
- Benchmarked for memory footprint and network efficiency
- Persistent storage to disk for transaction logs
- Fast recovery for system restore
- Stable Golang client and a documented wire protocol for other languages