SingleStore DB

How Snapshots and Logs are Used
How Snapshots and Logs are Used with Durability

In-memory database updates you make using Data Definition Language (DDL) and Data Manipulation Language (DML) commands are written to logs on disk. When the size of the updates reaches snapshot_trigger_size, a snapshot is taken and written to disk. A snapshot is a full backup of the database. Following the creation of a snapshot, subsequent DDL and DML in-memory updates are again written to the logs, until snapshot_trigger_size is again reached.

Following a server restart, the latest snapshot and the logs containing the updates made after the snapshot are loaded from disk and replayed in memory.

How Snapshots and Logs are Used with Replication

With replication, database partitions are copied from a primary host to a secondary host.

When a replica is provisioned, it receives an initial snapshot from the master. The replica replays this snapshot.

Going forward, the replica receives and replays logs from the master. These logs contain the in-memory database updates (from DDL and DML commands) made on the master. When the size of the logs reaches snapshot_trigger_size as set on the master, the replica takes a snapshot. A snapshot is a full backup of the database. Following the creation of a snapshot, subsequent DDL and DML in-memory updates on the master are again written to the logs that are sent to the replica, until snapshot_trigger_size (as set on the master) is again reached.