Bringing together the Apache Cassandra experts from the community and DataStax.

Want to learn? Have a question? Want to share your expertise? You are in the right place!

Not sure where to begin? Getting Started

 

question

Tri avatar image
Tri asked Erick Ramirez answered

Is there a recommended schema versioning tool for Cassandra?

Hi, This question duplicates with a post in 2019 What are the best migration tools for Cassandra? and the answer was "there isn't such a tool in Cassandra". Hope the tooling landscape has improved since then.

The typical usage of this tool is to apply incremental changes to schema during the entire life cycle of an application. Let assume the dev team starts with an initial schema. Works Ok until a business logic change which requires to add a new column C1 in table T1. Then 2 weeks later, column Cn in table Tn needs to change data type from string to integer, etc.

A schema maintenance/versioning tool, like Flyway for relational DB, allows to write scripts which are sourced controled. Then apply the incremental changes in chronological order in an idempotent fashion. ie. a change which is already applied will be skipped.

QUESTION: Can you please recommend such a tool for Cassandra?

schema
10 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

1 Answer

Erick Ramirez avatar image
Erick Ramirez answered

A couple of examples are Sky UK's CQL Migration Tool and Cobli's Cassandra-migrate.

I haven't personally used them since I'm not a fan of programatically changing the schema but I understand the need for it.

For future reference, the Third-party Projects page on the Apache Cassandra website has a list of resources that we try to keep up to date. The cassandra.link and cassandra.tools sites listed on that page have an extensive list curated by Rahul Singh & co at Anant Corp.

As a side note, thanks for bringing up the previous question. I will update my response accordingly. Cheers!

Share
10 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.