Migrating from Apache Cassandra to Bigtable

This document describes open-source tools that let you migrate your data from Cassandra to Bigtable with minimal disruption. These tools include the Cassandra-Bigtable Proxy adapter and the Bigtable CQL client library for Java. Before you begin your migration, make sure you're familiar with Bigtable for Cassandra users.

Proxy adapter

The Cassandra-Bigtable Proxy adapter lets you connect your Cassandra-based applications to Bigtable. The proxy adapter functions as a wire-compatible Cassandra interface, and it lets your application interact with Bigtable using Cassandra Query Language (CQL). Using the proxy adapter doesn't require you to change your Cassandra drivers, and configuration adjustments are minimal.

To get started, see Cassandra to Bigtable Proxy Adapter.

Zero Downtime Migration (ZDM) proxy tool

You can use the Cassandra-Bigtable proxy adapter in combination with the open-source Zero Downtime Migration (ZDM) proxy tool to migrate your data with no downtime.

Using the proxy adapter with the ZDM proxy tool supports the following migration functionalities:

  • Dual writes: maintain data availability during migration
  • Asynchronous reads: scale and stress-test your Bigtable instance
  • Automated data verification and reporting: ensure data integrity throughout the process
  • Data mapping: map field and data types to meet your production standards

Additional Cassandra open-source tools

The wire compatibility of the Cassandra-Bigtable proxy adapter with CQL lets you use additional tools in the Cassandra open-source ecosystem, including the following:

  • Cqlsh: The CQL shell lets you connect directly to Bigtable through the proxy adapter. You can use it for debugging and quick data lookups using CQL.
  • Cassandra Data Migrator (CDM): This Spark-based tool is suitable for migrating large volumes of data (up to billions of rows) of historical data. The tool provides validation, diff reporting, and replay capabilities, and it's fully compatible with the proxy adapter.

Bigtable CQL client library for Java

The Bigtable CQL client library for Java lets you integrate your Cassandra-based Java applications with Bigtable using CQL. The library replaces Cassandra drivers in your Java applications.

For instructions on building the library and including the dependency in your application code, see the GitHub README.

For sample code showing how to configure your application to use the client library, see How to use.

What's next