rqlite is a lightweight, distributed DBMS built on top of SQLite. rqlite uses the Raft protocol 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.
For a detailed description of much of rqlite functionality, consult the [SQLite entry] (https://dbdb.io/db/sqlite).
rqlite provides data durability via the Raft consensus system. Every change made to the SQLite database is written to the Raft log, and that log is persisted to disk. In the event of a restart or recovery operation, the SQLite database is completely rebuilt from the data contained in the Raft log.
Read Uncommitted Serializable Snapshot Isolation
Since rqlite uses SQLite as its storage engine, it offers the same isolation levels as SQLite.
rqlite's system architecture is comprised of 3 distinct subsystems: the HTTP serving layer, the Raft consensus layer, and the (embedded) SQLite database.
The HTTP layer is responsible for responding to queries, and returning results. The Raft consensus layer controls communication between nodes, implementing the distributed consensus system. Once a change to the database has been committed to the Raft log on each node, each node then makes the change to the last subsystem, which is the embedded SQLite database.
N-ary Storage Model (Row/Record)
Since rqlite uses SQLite as its storage engine, it offers the same storage model as SQLite.
https://github.com/rqlite/rqlite
https://github.com/rqlite/rqlite/tree/master/DOC
Philip O'Toole
2014