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.
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 adaptor proxy, lihat Versi Cassandra yang didukung.
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.
Jenis data yang didukung
Tabel berikut menunjukkan cara jenis data CQL Cassandra yang didukung dipetakan ke padanan Bigtable.
Jenis CQL | Pemetaan Bigtable |
---|---|
text |
RAW BYTES |
blob |
RAW BYTES |
timestamp |
RAW BYTES |
int |
RAW BYTES |
bigint |
RAW BYTES |
float |
RAW BYTES |
double |
RAW BYTES |
boolean |
RAW BYTES |
MAP<key, value> |
Nama kolom di Cassandra digunakan sebagai nama grup kolom di Bigtable. key peta digunakan sebagai penentu kolom, dan value peta disimpan sebagai nilai sel. |
SET<item> |
Nama kolom di Cassandra digunakan sebagai nama grup kolom di Bigtable. Setiap item dalam SET digunakan sebagai penentu kolom, dan nilai sel dibiarkan kosong. |
LIST<item> |
Nama kolom di Cassandra digunakan sebagai nama grup kolom di Bigtable. Stempel waktu saat ini digunakan sebagai penentu kolom, dan item daftar disimpan sebagai nilai sel. |
Untuk mengetahui informasi selengkapnya tentang pemetaan jenis data di Bigtable, lihat Ringkasan GoogleSQL untuk Bigtable.
Jenis data yang tidak didukung
Jenis data Cassandra berikut tidak didukung:
counter
date
decimal
duration
frozen
inet
smallint
time
timeuuid
tinyint
US-ASCII
- Jenis
user-defined
(UDT) uuid
varint
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
Gunakan 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: mempertahankan ketersediaan data selama migrasi
- Operasi baca asinkron: menskalakan dan menguji ketahanan instance Bigtable Anda
- Pelaporan dan verifikasi data otomatis: memastikan integritas data selama proses berlangsung
- 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
Jika Anda ingin 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
Kompatibilitas melalui kabel 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.