Dqlite documentation

Dqlite (distributed SQLite) is a fast, embedded and persistent SQL database that is designed to keep your application running.

It extends SQLite across a cluster of machines, which ensures high availability and fast failover with automatic leader election.
To minimise transaction latency and gain high-performance transactional consensus and fault tolerance, it uses C-Raft, an optimised Raft implementation in C.

Dqlite provides edge applications with an ultra-fast SQL database that is automatically replicated across multiple hosts and guarantees fast failover.
It ensures maximum cross-platform portability, outstanding efficiency and a tiny footprint.

These features make Dqlite perfect for fault-tolerant IoT and Edge devices, but also for agents and backend cloud services that want to simplify their operation.

At the moment, the biggest user of Dqlite is the LXD system containers manager, which uses Dqlite to implement high-availability when running in cluster mode.

Project and community

Dqlite is a Canonical project. It is released under a slightly modified version of LGPLv3, which includes a copyright exception allowing users to statically link the library code in their project and release the final work under their own terms.

Dqlite is an open source project that warmly welcomes community projects, contributions, suggestions, fixes and constructive feedback. We have adopted the Ubuntu Code of Conduct.

Thinking about using Dqlite for your next project? Get in touch!

Last updated 7 months ago. Help improve this document in the forum.