MyRocks column families
MyRocks stores data in column families. These are similar to tablespaces.
By default, the data is stored in the default
column family.
One can specify which column family the data goes to by using index comment:
INDEX index_name(col1, col2, ...) COMMENT 'column_family_name'
If the column name starts with rev:
, the column family is reverse-ordered.
Reasons for column families
Storage parameters like
- Bloom filter settings
- Compression settings
- Whether the data is stored in reverse order
are specified on a per-column family basis.
Creating a column family
When one is creating a table or index, they can specify the name of the column family for it. If the column family doesn't exist, it will be automatically created.
Dropping a column family
There is currently no way to drop a column family. RocksDB supports this internally but MyRocks doesn't provide any way to do it.
Setting column family parameters
Use these variables:
- rocksdb_default_cf_options
- rocksdb_override_cf_options
- rocksdb_update_cf_options
(TODO: elaborate)
Examining column family parameters
Check INFORMATION_SCHEMA.ROCKSDB_CF_OPTIONS
.