Migrating Cassandra data to Scylla

Tzach Livyatan edited this page Oct 2, 2018 · 18 revisions

For more on migration from Apach Cassandra to Scylla see https://docs.scylladb.com/operating-scylla/procedures/cassandra_to_scylla_migration_process/

Requirements/Details for migration

  • Scylla supports SSTable version ka (should be the version used in C* versions 2.1.8 and 2.1.9). If your database uses an older version of sstable, consider doing an upgrade (TBD: Is downgrade possible?).

  • Counter cell is currently not supported by Scylla, so make sure that a column family being migrated doesn't use counter cell. Scylla will not refuse to boot when loading a column family with counter cell, but reading and writing operations on it will fail (read may even crash Scylla because of an assert triggered in the SSTable parser).

  • Data-Tiered compaction strategy is currently not supported, so Scylla will fallback to Size-Tiered strategy. Scylla currently supports Size-tiered and Leveled compaction strategies. This should no longer be an issue after Scylla supports all compaction strategies.

Recommendations for migration

  • Run Cassandra before migration because there may be a need for commitlog replay, then run 'nodetool flush'. After that, your data is ready for migration.

  • Make sure Cassandra is not running during migration because partially written SSTable(s) may be copied.

Steps for migration

  • Copy the content of Cassandra data directory to /var/lib/scylla/data, the default data directory for Scylla.

  • Content of Cassandra commitlog directory can be ignored (after following the first recommendation in the section above).

  • Copy the content of Cassandra config file (cassandra.yaml) to /var/lib/scylla/conf/scylla.yaml.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.