Scylla SSTable Format

Sorted Strings Table (SSTable) is the persistent file format used by Scylla and Apache Cassandra. SSTable is saved as a persistent, ordered, immutable set of files on disk. Immutable means SSTables are never modified; they are created by a MemTable flush and are deleted by a compaction. The location of Scylla SSTables is specified in scylla.yaml data_file_directories parameter (default location: /var/lib/scylla/data).

SSTable 3.0 (mc format) is more efficient and requires less disk space than the SSTable 2.x. SSTable version support is as follows:

SSTable Version

Scylla Enterprise Version

Scylla Open Source Version

2.1.8 (‘ka’)

2018.1

2.2

2.2 (‘la’)

N/A

2.3

3.0 (‘mc’)

2019.1, 2020.1

3.x, 4.x

  • In Scylla 3.1 and above, mc format is enabled by default.

  • In Scylla 3.0, mc format is disabled by default and can be enabled by adding the enable_sstables_mc_format parameter as ‘true’ in scylla.yaml file.

For example:

enable_sstables_mc_format: true

Note

If you change the default setting in either Scylla version, you must apply this change to all nodes in order for it to take effect.

For more information on each of the SSTable formats, see below: