Migrating from DataStax Astra DB to Apache Cassandra
This guide describes how to migrate from DataStax Astra DB to open-source Apache Cassandra with no downtime. Astra DB is a managed, serverless database service built on Apache Cassandra. CQL tables are ordinary Cassandra tables and the move to a self-operated cluster is a well-understood procedure.
The migration uses a dual-write proxy so that the application keeps running throughout: writes go to both Astra and the new cluster while existing data is copied across in the background; cutover occurs only once the new cluster is proven.
For the cost, risk, and support case behind a move to self-managed Cassandra, see the business case.
What makes an Astra migration different
Section titled “What makes an Astra migration different”Astra is a managed service rather than a distribution installed by the operator, which shapes the migration in three ways.
Connecting through the Secure Connect Bundle
Section titled “Connecting through the Secure Connect Bundle”Applications connect to Astra using a Secure Connect Bundle (SCB) and an application token, not through a list of contact points. Open-source Cassandra does not use a Secure Connect Bundle, so the most important application change in this migration is replacing the SCB with standard contact points and credentials at cutover. This is covered in Cutover and Drivers.
There is no node-level access to the source
Section titled “There is no node-level access to the source”Because Astra is fully managed, there is no access to nodetool, JMX, or
configuration files for the source database, and a dedicated datacenter cannot be
added to Astra. The migration is therefore always to a separate open-source
Cassandra cluster, provisioned and operated by the migrating team, with traffic moved
across by the proxy.
Standard CQL carries over; the proprietary layer does not
Section titled “Standard CQL carries over; the proprietary layer does not”CQL tables, Storage-Attached Indexes (SAI), and vector data are all native to Apache Cassandra and migrate directly.
The Data API, Collections, and Vectorize are out of scope
On top of the Cassandra core, Astra offers a proprietary document and AI layer: the Data API, Collections (JSON documents), and Vectorize (server-side embedding generation). These are not part of open-source Apache Cassandra and are not covered by this guide, which addresses CQL workloads. If the application uses any of them, talk to AxonOps so the right approach can be designed.
Vector workloads require Cassandra 5.0 or later
The native vector type and SAI-based approximate nearest-neighbour search
arrived in Apache Cassandra 5.0. If the Astra application uses vector search, the
target cluster must be Cassandra 5.0 or later.
Moving from a managed service to self-managed
Section titled “Moving from a managed service to self-managed”Leaving a serverless platform raises fair questions about what changes and what is gained.
- Node failure is a routine, planned operation. Cassandra replicates every row across multiple nodes, so the cluster keeps serving reads and writes when a node fails. The failed node is replaced as an unhurried, routine operation. AxonOps alerts on failure events and drives the node-replacement and repair workflow; 24/7 expert support under a defined SLA provides a named support contact.
- Scaling. Cassandra does not scale to zero like serverless, but it scales horizontally and predictably: add nodes to grow capacity and throughput, online and without resharding. Capacity is planned and controlled rather than discovered on an invoice.
- Backups and day-2 operations. These are operator responsibilities, but not manual ones. AxonOps provides scheduled backups with point-in-time restore, adaptive repair, rolling restarts, alerting, and health checks, which is the managed-style automation Astra ran behind the scenes (see Post-Migration Operations).
- Kubernetes, if that is the target platform. Cassandra runs well on Kubernetes (for example via the K8ssandra project or a Cassandra operator), supporting a declarative, managed-style workflow while the operator owns the database.
- Cost. Serverless billing is convenient but charges on usage, including data scanned rather than returned and per-region writes, which is hard to predict and grows with scale. Self-managed cost is infrastructure plus operations tooling, forecastable and controlled by the operator.
Self-managed Apache Cassandra places scaling, backup, and upgrade decisions under direct operator control.
The migration at a glance
Section titled “The migration at a glance”The migration is a controlled, phased process. Each phase has clear entry and exit criteria and, where relevant, a rollback path.
| Phase | Activity | Page |
|---|---|---|
| 0 | Inventory the Astra database, schema, drivers, and connection details | Assessment |
| 1 | Provision the target cluster, the ZDM Proxy, and the data-copy tooling | ZDM Proxy and CDM Setup |
| 2 | Dual-write through the proxy and bulk-copy existing data | Data Migration |
| 3 | Check health, consistency, and performance, then repair the target | Validation |
| 4 | Repoint the application, drop the Secure Connect Bundle, remove the proxy | Cutover and Drivers |
| 5 | Take ownership of day-2 operations on the new cluster | Post-Migration Operations |
| Ref | Caveats and troubleshooting for the migration tooling | Operational Caveats |
How the dual-write migration works
Section titled “How the dual-write migration works”The application talks only to the proxy. New writes are mirrored to both databases from the moment the proxy is deployed, while a bulk-copy tool backfills the data that already existed in Astra. Once the target holds a complete, validated copy, reads are moved across, the application is repointed directly at the new cluster, and the proxy is removed.
Frequently asked questions
Section titled “Frequently asked questions”Is DataStax Astra DB just Apache Cassandra?
Section titled “Is DataStax Astra DB just Apache Cassandra?”Astra is built on Apache Cassandra, and standard CQL tables are ordinary Cassandra tables. Astra adds a proprietary layer (the Data API, Collections, and Vectorize) that is not part of open-source Cassandra.
What replaces the Secure Connect Bundle after migration?
Section titled “What replaces the Secure Connect Bundle after migration?”Standard contact points and credentials. Open-source Cassandra does not use a Secure Connect Bundle; the SCB is removed and standard contact points and credentials are used, as with any Cassandra cluster.
Is it possible to migrate off Astra DB with zero downtime?
Section titled “Is it possible to migrate off Astra DB with zero downtime?”Yes. The ZDM Proxy dual-writes to both Astra and the new cluster while existing data is copied across; cutover occurs only once the target is validated.
Do SAI and vector search carry over from Astra?
Section titled “Do SAI and vector search carry over from Astra?”Yes. Both are native to Apache Cassandra 5.0, so vector workloads require a Cassandra 5.0 or later target.