Melakukan migrasi dari Apache Cassandra ke Bigtable
Dokumen ini memandu Anda melalui proses migrasi data dari Apache Cassandra ke Bigtable dengan gangguan minimal. Dokumen ini menjelaskan cara menggunakan alat open source, seperti adaptor proxy Cassandra ke Bigtable atau klien Cassandra ke Bigtable untuk Java, guna melakukan migrasi. Sebelum memulai, pastikan Anda memahami Bigtable untuk pengguna Cassandra.
Memilih pendekatan migrasi
Anda dapat bermigrasi dari Apache Cassandra ke Bigtable menggunakan salah satu pendekatan berikut:
- Adaptor proxy Cassandra ke Bigtable memungkinkan Anda menghubungkan aplikasi berbasis Cassandra ke Bigtable tanpa mengubah driver Cassandra. Pendekatan ini ideal untuk aplikasi yang memerlukan perubahan kode minimal.
- Klien Cassandra ke Bigtable untuk Java memungkinkan Anda berintegrasi langsung dengan Bigtable dan mengganti driver Cassandra Anda. Pendekatan ini ideal untuk aplikasi yang memerlukan performa dan fleksibilitas tinggi.
Adaptor proxy Cassandra ke Bigtable
Adaptor proxy Cassandra ke Bigtable memungkinkan Anda menghubungkan aplikasi berbasis Cassandra ke Bigtable. Adaptor proxy berfungsi sebagai antarmuka Cassandra yang kompatibel dengan wire, dan memungkinkan aplikasi Anda berinteraksi dengan Bigtable menggunakan Cassandra Query Language (CQL). Menggunakan adaptor proxy tidak mengharuskan Anda mengubah driver Cassandra, dan penyesuaian konfigurasi sangat minim.
Untuk menyiapkan dan mengonfigurasi adaptor proxy, lihat Adaptor proxy Cassandra ke Bigtable.
Untuk mempelajari versi Cassandra yang mendukung proxy adapter, lihat Versi Cassandra yang didukung.
Batasan
Adaptor proxy Cassandra ke Bigtable memberikan dukungan terbatas untuk jenis data, fungsi, kueri, dan klausa tertentu. Untuk mengetahui informasi selengkapnya, lihat Cassandra to Bigtable Proxy - Limitations.
Keyspace Cassandra
Keyspace Cassandra menyimpan tabel Anda dan mengelola resource dengan cara yang mirip dengan instance Bigtable. Adaptor proxy Cassandra ke Bigtable menangani penamaan keyspace secara transparan, sehingga Anda dapat membuat kueri menggunakan keyspace yang sama. Namun, Anda harus membuat instance Bigtable baru untuk mencapai pengelompokan logis tabel Anda. Anda juga harus mengonfigurasi replikasi Bigtable secara terpisah.
Dukungan DDL
Adaptor proxy Cassandra ke Bigtable mendukung operasi Data Definition Language (DDL). Operasi DDL memungkinkan Anda membuat dan mengelola tabel secara langsung melalui perintah CQL. Kami merekomendasikan pendekatan ini untuk menyiapkan skema Anda karena mirip dengan SQL, tetapi Anda tidak perlu menentukan skema dalam file konfigurasi, lalu menjalankan skrip untuk membuat tabel.
Contoh berikut menunjukkan cara adaptor proxy Cassandra ke Bigtable mendukung operasi DDL:
Untuk membuat tabel Cassandra menggunakan CQL, jalankan perintah
CREATE TABLE
:CREATE TABLE keyspace.table ( id bigint, name text, age int, PRIMARY KEY ((id), name) );
Untuk menambahkan kolom baru ke tabel, jalankan perintah
ALTER TABLE
:ALTER TABLE keyspace.table ADD email text;
Untuk menghapus tabel, jalankan perintah
DROP TABLE
:DROP TABLE keyspace.table;
Untuk mengetahui informasi selengkapnya, lihat Dukungan DDL untuk Pembuatan Skema (Metode yang Direkomendasikan).
Dukungan DML
Adaptor proxy Cassandra ke Bigtable mendukung operasi Bahasa Pengolahan Data (DML) seperti INSERT
, DELETE
, UPDATE
, dan SELECT
.
Untuk menjalankan kueri DML mentah, semua nilai kecuali numerik harus memiliki tanda petik tunggal, seperti yang ditunjukkan dalam contoh berikut:
SELECT * FROM keyspace.table WHERE name='john doe';
INSERT INTO keyspace.table (id, name) VALUES (1, 'john doe');
Mencapai migrasi tanpa periode nonaktif
Anda dapat menggunakan adaptor proxy Cassandra ke Bigtable dengan alat proxy Zero Downtime Migration (ZDM) open source dan alat migrator data Cassandra untuk memigrasikan data dengan periode nonaktif minimal.
Diagram berikut menunjukkan langkah-langkah untuk bermigrasi dari Cassandra ke Bigtable menggunakan adaptor proxy:


Untuk memigrasikan Cassandra ke Bigtable, ikuti langkah-langkah berikut:
- Hubungkan aplikasi Cassandra Anda ke alat proxy ZDM.
- Aktifkan penulisan ganda ke Cassandra dan Bigtable.
- Pindahkan data secara massal menggunakan alat Cassandra Data Migrator.
- Validasi migrasi Anda. Setelah divalidasi, Anda dapat menghentikan koneksi ke Cassandra dan terhubung langsung ke Bigtable.
Saat menggunakan adaptor proxy dengan alat proxy ZDM, kemampuan migrasi berikut didukung:
- Penulisan ganda: menjaga ketersediaan data selama migrasi
- Operasi baca asinkron: menskalakan dan menguji ketahanan instance Bigtable Anda
- Pelaporan dan verifikasi data otomatis: memastikan integritas data di seluruh proses
- Pemetaan data: memetakan kolom dan jenis data untuk memenuhi standar produksi Anda
Untuk berlatih memigrasikan Cassandra ke Bigtable, lihat codelab Migrasi dari Cassandra ke Bigtable dengan Proxy Penulisan Ganda.
Klien Cassandra ke Bigtable untuk Java
Anda dapat berintegrasi langsung dengan Bigtable dan mengganti driver Cassandra. Library klien Cassandra ke Bigtable untuk Java memungkinkan Anda mengintegrasikan aplikasi Java berbasis Cassandra dengan Bigtable menggunakan CQL.
Untuk mengetahui petunjuk tentang cara membangun library dan menyertakan dependensi dalam kode aplikasi, lihat Klien Cassandra ke Bigtable untuk Java.
Contoh berikut menunjukkan cara mengonfigurasi aplikasi Anda dengan klien Cassandra ke Bigtable untuk Java:
Alat open source Cassandra tambahan
Karena kompatibilitas wire adaptor proxy Cassandra ke Bigtable dengan CQL memungkinkan Anda menggunakan alat tambahan dalam ekosistem open source Cassandra. Alat ini mencakup:
- Cqlsh: Shell CQL memungkinkan Anda terhubung langsung ke Bigtable melalui adaptor proxy. Anda dapat menggunakannya untuk proses debug dan pencarian data cepat menggunakan CQL.
- Cassandra Data Migrator (CDM): Alat berbasis Spark ini cocok untuk memigrasikan data historis dalam volume besar (hingga miliaran baris). Alat ini menyediakan kemampuan validasi, pelaporan perbedaan, dan pemutaran ulang, serta sepenuhnya kompatibel dengan adaptor proxy.