Bermigrasi 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 Cassandra to Bigtable proxy adapter atau Cassandra to Bigtable client for Java, untuk 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. Pendekatan ini ideal untuk aplikasi yang memerlukan performa dan fleksibilitas tinggi.
Cassandra to Bigtable proxy adapter
Cassandra to Bigtable proxy adapter memungkinkan Anda menghubungkan aplikasi berbasis Cassandra ke Bigtable. Proxy adapter berfungsi sebagai antarmuka Cassandra yang kompatibel dengan kabel, dan memungkinkan aplikasi Anda berinteraksi dengan Bigtable menggunakan CQL. Menggunakan proxy adapter tidak mengharuskan Anda mengubah driver Cassandra, dan penyesuaian konfigurasi minimal.
Untuk menyiapkan dan mengonfigurasi proxy adapter, lihat Cassandra to Bigtable proxy adapter.
Untuk mempelajari versi Cassandra yang mendukung proxy adapter, lihat Versi Cassandra yang didukung.
Batasan
Cassandra to Bigtable proxy adapter 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. Cassandra to Bigtable proxy adapter 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
Cassandra to Bigtable proxy adapter mendukung operasi Data Definition Language (DDL). Operasi DDL memungkinkan Anda membuat dan mengelola tabel secara langsung melalui perintah CQL. Sebaiknya gunakan 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 Cassandra to Bigtable proxy adapter 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
Cassandra to Bigtable proxy adapter mendukung operasi Data Manipulation Language (DML) seperti INSERT, DELETE, UPDATE, dan SELECT.
Untuk menjalankan kueri DML mentah, semua nilai kecuali numerik harus memiliki tanda kutip 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 Cassandra to Bigtable proxy adapter dengan alat proxy Zero Downtime Migration (ZDM) open source dan alat migrator data Cassandra untuk memigrasikan data dengan waktu nonaktif minimal.
Diagram berikut menunjukkan langkah-langkah untuk bermigrasi dari Cassandra ke Bigtable menggunakan proxy adapter:
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 migrator data Cassandra.
- Validasi migrasi Anda. Setelah divalidasi, Anda dapat menghentikan koneksi ke Cassandra dan terhubung langsung ke Bigtable.
Saat menggunakan proxy adapter dengan alat proxy ZDM, kemampuan migrasi berikut didukung:
- Penulisan ganda: mempertahankan ketersediaan data selama migrasi
- Pembacaan asinkron: menskalakan dan menguji tekanan instance Bigtable Anda
- Pelaporan dan verifikasi data otomatis: memastikan integritas data selama proses
- Pemetaan data: memetakan jenis data dan kolom untuk memenuhi standar produksi Anda
Untuk berlatih memigrasikan Cassandra ke Bigtable, lihat Migrasi dari Cassandra ke Bigtable dengan Proxy Penulisan Ganda codelab.
Cassandra to Bigtable client for Java
Anda dapat berintegrasi langsung dengan Bigtable dan mengganti driver Cassandra. Cassandra to Bigtable client for Java library memungkinkan Anda mengintegrasikan aplikasi Java berbasis Cassandra dengan Bigtable menggunakan CQL.
Untuk mengetahui petunjuk tentang cara membuat library dan menyertakan dependensi dalam kode aplikasi, lihat Cassandra to Bigtable Client for Java.
Contoh berikut menunjukkan cara mengonfigurasi aplikasi Anda dengan Cassandra to Bigtable client for Java:
Memahami performa
Bigtable dirancang untuk throughput tinggi, latensi rendah, dan skalabilitas besar. Bigtable dapat menangani jutaan permintaan per detik pada data petabyte. Saat Anda bermigrasi dari Cassandra menggunakan Cassandra to Bigtable client for Java atau Cassandra to Bigtable proxy adapter, pahami implikasi performa berikut:
Overhead klien dan proxy
Kedua pendekatan migrasi ini menghasilkan overhead performa minimal. Keduanya bertindak sebagai lapisan terjemahan antara Cassandra Query Language (CQL) dan Bigtable Data API, yang dioptimalkan untuk efisiensi.
Performa dengan jenis koleksi Cassandra
Jika model data Cassandra Anda menggunakan jenis koleksi seperti peta, set, atau daftar untuk menerapkan skema dinamis, Bigtable dapat menangani pola ini secara efektif. Proxy adapter dan klien untuk Java memetakan operasi koleksi ini ke model data dasar Bigtable, yang cocok untuk set data jarang dan lebar.
Operasi tingkat elemen dalam koleksi ini sangat efisien. Hal ini mencakup tindakan berikut:
- Untuk membaca atau menulis satu nilai dalam peta.
- Untuk menambahkan atau menghapus elemen dari set.
- Untuk menambahkan atau menyisipkan elemen ke daftar.
Bigtable mengoptimalkan jenis operasi titik ini pada elemen koleksi individual, dan performanya identik dengan operasi pada kolom skalar standar.
Mengukur workload Anda
Performa Bigtable dapat bervariasi bergantung pada workload, desain skema, pola akses data, dan konfigurasi cluster Anda. Untuk mendapatkan metrik performa yang akurat untuk kasus penggunaan Anda dan memastikan Bigtable memenuhi persyaratan spesifik Anda, sebaiknya ukur workload Cassandra Anda terhadap Bigtable menggunakan salah satu pendekatan migrasi.
Untuk mengetahui informasi selengkapnya tentang praktik terbaik performa Bigtable, lihat Memahami performa.
Alat open source Cassandra tambahan
Karena kompatibilitas kabel Cassandra to Bigtable proxy adapter dengan CQL memungkinkan Anda menggunakan alat tambahan dalam ekosistem open source Cassandra. Alat ini mencakup hal-hal berikut:
- Cqlsh: Shell CQL memungkinkan Anda terhubung langsung ke Bigtable melalui proxy adapter. 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 proxy adapter.