rqlite is a distributed relational database, which uses SQLite as its storage engine. rqlite uses Raft to achieve consensus across all the instances of the SQLite databases, ensuring that every change made to the system is made to a quorum of SQLite databases, or none at all. It also gracefully handles leader elections, and tolerates failures of machines, including the leader.
rqlite gives you the functionality of a rock solid, fault-tolerant, replicated relational database, but with very easy installation, deployment, and operation. With it you've got a lightweight and reliable distributed relational data store. Think etcd or Consul, but with relational data modelling also available.
You could use rqlite as part of a larger system, as a central store for some critical relational data, without having to run a heavier solution like MySQL.
- Very easy deployment, with no need to separately install SQLite.
- Fully replicated production-grade SQL database.
- Production-grade distributed consensus system.
- An easy-to-use HTTP(S) API, including leader-redirection and bulk-update support. A CLI is also available.
- Discovery Service support, allowing clusters to be dynamically created.
- Basic auth security and user-level permissions.
- Read consistency levels.
- Transaction support.
- Hot backups.
Full source code is available on GitHub.
Downloading latest image
docker pull rqlite/rqlite
Starting a single node
docker run -p 4001:4001 -p4002:4002 rqlite/rqlite
Instructions for clustering via Docker are forthcoming, but it should not be difficult for people with experience with Docker and networking.