From 4218c3365fdfaf990c87db7e03d3682c44f7755c Mon Sep 17 00:00:00 2001 From: Philip O'Toole Date: Mon, 14 Nov 2022 22:46:32 -0500 Subject: [PATCH] Update DESIGN.md --- DOC/DESIGN.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DOC/DESIGN.md b/DOC/DESIGN.md index 7e55a44f..03ee6a6a 100644 --- a/DOC/DESIGN.md +++ b/DOC/DESIGN.md @@ -13,7 +13,7 @@ The diagram below shows a high-level view of a rqlite node. ## File system ### Raft -The Raft layer always creates a file -- it creates the _Raft log_. The log stores the set of committed SQLite commands, in the order which they were executed. This log is authoritative record of every change that has happened to the system. It may also contain some read-only queries as entries, depending on read-consistency choices. +The Raft layer always creates a file -- it creates the _Raft log_. This log stores the set of committed SQLite commands, in the order which they were executed. This log is authoritative record of every change that has happened to the system. It may also contain some read-only queries as entries, depending on read-consistency choices. Since every node in an rqlite cluster applies the entries log in exactly the same way, this guarantees that the SQLite database is the same on every node. ### SQLite By default, the SQLite layer doesn't create a file. Instead, it creates the database in memory. rqlite can create the SQLite database on disk, if so configured at start-time, by passing `-on-disk` to `rqlited` at startup. Regardless of whether rqlite creates a database entirely in memory, or on disk, the SQLite database is completely recreated everytime `rqlited` starts, using the information stored in the Raft log.