April 28, 2022·4 min read·engineeringcassandraschematooling

Liquibase compatibility gives Cassandra 4.0 upgrades another dependency

Liquibase has verified its Cassandra tooling against 4.0 using its existing test harness. The case study shows why schema change automation belongs in the compatibility assessment for a database upgrade.

A database upgrade can preserve application behavior while still leaving the schema deployment process unsupported. The process that changes the schema has its own database integration, and that integration needs to work against the new server. Liquibase's Cassandra 4.0 support addresses that part of the upgrade.

The Cassandra community's April 28 announcement points to a Liquibase case study published this month. Liquibase already supports Cassandra 3.11 and has added support for 4.0. The case study describes using the Liquibase Test Harness to run existing test cases against the newer database. That is a more specific result than a general claim that database automation and Cassandra are compatible.

I am interested in Cassandra where its distributed design solves a requirement the application actually has. That choice also commits the application to an operational ecosystem. Compatibility of schema tooling matters because the database must continue accepting deliberate changes after its first deployment.

Compatibility includes the process that changes the schema

The case study describes Liquibase as a database change management tool and as the name of the company supplying its commercial offering. The open source project uses the Apache 2.0 license. Its role is to bring database updates into the automated release process, with a repeatable way to validate and trace changes as they move toward production.

That role creates a dependency separate from application queries. An application can keep using its existing schema while the release process needs to introduce a new object or alter an existing one. A compatibility assessment limited to application access would not cover the code that performs those changes. The schema tool has to understand enough about the target database to perform its own work.

The announcement does not describe a new Cassandra schema language or a new server-side migration engine. It describes support in a tool that operates with Cassandra. That distinction sets the scope of the result. A verified integration makes the external change process available for the newer release, but it does not establish that every possible schema transformation is safe for every application.

The Cassandra extension repository as it stood before the announcement also identifies the support as an extension. Its README includes a local Cassandra setup and CQL for creating a keyspace. This places the integration in a concrete database environment. The tool must interact with Cassandra's configuration and schema rather than assuming that all supported databases behave identically.

Existing tests make the compatibility claim assessable

Liquibase says it uses its Test Harness to apply existing tests to new products. In the case study, that means taking the tests used with Cassandra 3.11 and running them against 4.0. The aim is to have the tooling ready before customers move to the new server.

Reusing a test set gives the comparison a defined starting point. The expected operations already exist, and the newer database receives the same tests. A failure can then identify a difference affecting the integration. This is useful evidence about continuity of the supported workflow, even though the case study does not publish an exhaustive compatibility matrix.

There is a practical consequence for interpreting the announcement. The stated result concerns the same set of tools working as customers move between those Cassandra versions. It does not require an organization to introduce a different schema change system solely because it upgrades the server. Existing release automation can remain a candidate, with its Cassandra integration verified for the target version.

The case study does not specify a Liquibase version, a complete list of tested operations, or performance measurements. Those details should not be inferred from the compatibility statement. The evidence presented is that Liquibase ran its existing harness against Cassandra 4.0 and confirmed support. Keeping that claim precise makes it useful without treating a short customer case study as a full technical certification.

Automation needs a defined change process

The case study argues that manual database changes slow delivery and collaboration. Its proposed response is a repeatable process that makes changes traceable and auditable. The engineering value is the ability to represent a database change as part of a release process with an identifiable input and outcome.

I prefer that approach to depending on an operator to reconstruct the intended change at deployment time. The judgement does not require assuming that automation removes the need to understand Cassandra. It requires a process in which the intended schema update has a stable representation and can be exercised against the database it will change.

The support announcement makes that process more credible for a Cassandra 4.0 deployment because the integration has been exercised against that server version. It also identifies the boundary of the integration. Liquibase supplies change management, while Cassandra supplies the database behavior on which the change operates. The application still determines what its schema should mean and when a change is compatible with its code.

For an existing Liquibase user considering Cassandra 4.0, the case study supplies evidence that the schema automation dependency has received attention alongside the server release. The specific contribution is continuity of the change tooling across the upgrade, backed by reuse of the integration's existing test cases against the newer database.