Apa itu Apache Cassandra?

Terakhir diperbarui: 24/07/2026

Apache Cassandra adalah database NoSQL terdistribusi dan open source yang dirancang untuk menangani data bervolume tinggi di beberapa server. Arsitekturnya yang terdesentralisasi menghilangkan titik tunggal kegagalan, sehingga menjadikannya pilihan yang andal untuk workload dengan ketersediaan tinggi dan tindakan penulisan yang intensif, serta perlu tetap online terlepas dari adanya pemadaman layanan node atau pusat data. 

Asal-usul dan evolusi Apache Cassandra

Engineer Facebook (sekarang Meta), Avinash Lakshman dan Prashant Malik, membuat Cassandra untuk mendukung penelusuran kotak masuk Facebook. Mereka membutuhkan sistem yang dapat menyimpan dan menelusuri set data yang sangat besar di banyak server tanpa memperlambat performa. 

Untuk membangunnya, tim mengambil inspirasi dari dua model database mapan lainnya: menggabungkan model penyimpanan kolom lebar dari makalah Bigtable Google tahun 2006 dengan arsitektur cincin terdistribusi Dynamo Amazon. Mereka menamai project ini dengan nama peramal Troya dalam mitologi, sebagai simbol "kutukan" membuat prediksi yang tidak dipercayai orang lain.

Project ini berkembang pesat seiring potensinya yang makin jelas bagi komunitas engineering yang lebih luas:

  • 2008: Facebook merilis kode sumber Cassandra sebagai project open source di Google Code
  • 2009: Project ini diterima di Apache Incubator, yang menandai transisinya menjadi software yang dikelola komunitas
  • 2010: Cassandra menjadi project tingkat atas Apache Software Foundation, yang mengukuhkan posisinya di industri
  • 2011: Rilis versi 1.0 menandakan kematangan project ini, dengan adopsi luas oleh perusahaan seperti Netflix, eBay, dan Twitter.
  • 2021: Rilis versi 4.0 menetapkan standar tinggi untuk stabilitas, dengan ribuan perbaikan bug dan pengujian ekstensif
  • 2024–2026: Rilis modern seperti 5.0 dan yang lebih baru telah menambahkan dukungan untuk teknologi yang lebih baru, seperti penelusuran vektor, Storage-Attached Indexing (SAI), dan keamanan yang lebih baik, sehingga database tetap relevan untuk workload AI dan big data modern

Karena reputasinya, banyak perusahaan mempercayai Linux untuk mendukung sistem mereka. Meskipun Cassandra tetap menjadi pilihan yang terbukti untuk sistem ketersediaan tinggi, mengevaluasi pertukaran desainnya dapat membantu tim memutuskan apakah mengelola sendiri arsitektur lama sesuai dengan kebutuhan aplikasi modern atau tidak.

Apa kegunaan Apache Cassandra?

Cassandra sering digunakan untuk pekerjaan yang melibatkan aliran data yang stabil, seperti informasi dari sensor cerdas (IoT), logging aplikasi, dan pipeline pemantauan.  Database ini juga banyak digunakan untuk pelacakan peristiwa dan sistem rekomendasi, yang mengutamakan penyimpanan dan pembuatan kueri data secara cepat dalam skala besar.

Sistem yang tidak dapat mentoleransi waktu non-operasional menggunakan Cassandra karena replikasi multi-pusat data dan penulisan asinkronnya memungkinkan seluruh pusat data menjadi offline tanpa mengganggu layanan atau kehilangan data. Banyak perusahaan global mengandalkan layanan ini untuk menjaga aplikasi mereka tetap berjalan 24/7 di berbagai region.

Bagaimana cara kerja arsitektur Apache Cassandra?

Cassandra menggunakan desain peer-to-peer yang setiap node-nya identik. Node-node ini diatur dalam cincin yang terdesentralisasi, dan menggunakan metode yang disebut hashing yang konsisten untuk mendistribusikan data secara merata, mencegah bottleneck, dan memastikan tidak ada titik tunggal kegagalan. Anda juga dapat memilih seberapa ketat database saat memeriksa apakah pembacaan atau penulisan berhasil, yang memungkinkan Anda memutuskan antara kecepatan dan memiliki data terbaru berdasarkan kebutuhan aplikasi spesifik Anda.

Database ini menggunakan model yang disebut penyimpanan wide-column, yang membantu mengatur data Anda ke dalam keyspace, baris, dan kolom dinamis yang mirip dengan spreadsheet biasa, tetapi dengan lebih banyak fleksibilitas. Dengan demikian, Anda dapat merancang data dengan cara yang mudah diubah seiring berkembangnya aplikasi.

Fitur

Apache Cassandra

RDBMS tradisional

Model data

Didenormalisasi

Dinormalisasi

Fleksibilitas skema

Dapat diubah saat berjalan

Memerlukan waktu non-operasional

Struktur indeks

Log-structured merge tree

B-Tree


Pengoptimalan tulis

Utama

Sekunder

Pemosisian CAP (Konsistensi, ketersediaan, toleransi partisi)

AP (Tersedia dan toleransi partisi)

CA (Konsisten dan tersedia)

Kemampuan kueri

CQL (tanpa JOIN)

SQL lengkap dengan JOIN

Fitur

Apache Cassandra

RDBMS tradisional

Model data

Didenormalisasi

Dinormalisasi

Fleksibilitas skema

Dapat diubah saat berjalan

Memerlukan waktu non-operasional

Struktur indeks

Log-structured merge tree

B-Tree


Pengoptimalan tulis

Utama

Sekunder

Pemosisian CAP (Konsistensi, ketersediaan, toleransi partisi)

AP (Tersedia dan toleransi partisi)

CA (Konsisten dan tersedia)

Kemampuan kueri

CQL (tanpa JOIN)

SQL lengkap dengan JOIN

Cara Cassandra menyimpan dan memproses data

Mesin penyimpanan Cassandra mengandalkan Log-Structured Merge (LSM) Tree untuk menangani data. Penulisan yang masuk ditulis ke log commit untuk ketahanan dan disimpan dalam memori melalui Memtable. Saat penuh, Memtable akan di-flush ke disk sebagai Sorted String Table (SSTable) yang tidak dapat diubah.

Desain khusus penambahan ini adalah alasan Cassandra unggul dalam throughput yang banyak menulis. Dengan menghindari update di tempat, sistem dapat memproses data yang masuk jauh lebih cepat daripada sistem tradisional yang mengandalkan I/O disk acak.

Pertanyaan umum (FAQ)

Berikut adalah jawaban atas beberapa pertanyaan umum tentang Cassandra.

Cassandra adalah database terdistribusi yang digunakan untuk aplikasi yang harus selalu online dan menangani banyak penulisan data, seperti log streaming atau data sensor.

Cassandra adalah database NoSQL. Cassandra menggunakan bahasa bernama CQL yang mirip dengan SQL, tetapi tidak mendukung semua fitur yang sama, seperti gabungan kompleks atau keamanan transaksi yang mendalam.

Kafka digunakan untuk memindahkan data secara real-time, sedangkan Cassandra digunakan untuk menyimpan data tersebut dengan aman. Keduanya sering digunakan bersamaan dalam satu sistem.

Cassandra paling cocok untuk menulis banyak data dalam skala besar. MongoDB adalah database dokumen yang sering kali lebih baik jika Anda perlu menelusuri berbagai jenis data dengan struktur yang fleksibel.

Cassandra dibuat untuk Pemrosesan Transaksi Online (OLTP), yang berarti Cassandra sangat baik dalam menangani pembacaan dan penulisan yang sederhana dan berkecepatan tinggi. Cassandra tidak dibuat untuk tugas analisis yang kompleks seperti menjalankan laporan besar atau memindai semua data Anda sekaligus.

Manfaat Apache Cassandra

Skalabilitas

Anda dapat menambahkan lebih banyak node untuk menangani lebih banyak pekerjaan, dan Anda tidak perlu mematikan sistem untuk melakukannya.

Tidak ada titik tunggal kegagalan

Karena semua node setara, sistem ini sangat stabil.

Penyalinan data otomatis

Sistem akan otomatis menyimpan data Anda di beberapa tempat.

Operasi tulis yang cepat

Desain penyimpanan dibuat untuk menangani sejumlah besar operasi tulis sekaligus.

Konsistensi yang dapat disesuaikan

Anda dapat mengontrol seberapa ketat data Anda berdasarkan per kueri. Pilih node "Semua" untuk akurasi sempurna, atau node "Satu" untuk kecepatan tercepat.

Tidak ada keterikatan pada vendor

Karena berjalan di hardware standar, Anda tidak terikat pada penyedia cloud tertentu. Anda dapat memindahkan data antara konfigurasi lokal dan cloud yang berbeda jika diperlukan.

Menggunakan layanan terkelola untuk mengoptimalkan workload Cassandra

Menjalankan sistem Cassandra Anda sendiri memerlukan banyak overhead. Anda harus merencanakan berapa banyak ruang yang dibutuhkan, menyiapkan server, menangani perbaikan, memastikan Anda memiliki cadangan, dan melakukan update saat sistem berjalan.

Layanan terkelola mengubah hal ini dengan menangani pekerjaan berat untuk Anda. 

  • Mengotomatiskan pemeliharaan: Layanan terkelola dapat membantu mengotomatiskan proses seperti pemadatan dan perbaikan node, sehingga memastikan proses tersebut berjalan pada waktu yang tepat tanpa memperlambat aplikasi Anda
  • Perencanaan kapasitas dan penskalaan otomatis: Daripada menebak berapa banyak server yang Anda butuhkan, layanan terkelola membantu memantau traffic, menghemat uang, dan mencegah bottleneck performa
  • Menyederhanakan pencadangan dan pemulihan: Kehilangan data bukanlah pilihan. Layanan terkelola membuat pencadangan lebih mudah dan otomatis, sehingga Anda dapat memulihkan data dengan cepat jika terjadi masalah
  • Pemantauan proaktif: Layanan ini dilengkapi dengan dasbor bawaan yang mengawasi tanda-tanda masalah, seperti waktu respons disk yang lambat atau penggunaan CPU yang tinggi, sebelum menjadi pemadaman layanan
  • Patch dan upgrade: Menjaga software tetap terbaru sangat penting untuk keamanan dan performa. Layanan terkelola dapat membantu menangani update ini di latar belakang, sering kali menggunakan upgrade berkelanjutan yang memastikan database Anda tetap online sepanjang waktu

Dengan memindahkan tugas operasional ini ke platform terkelola, tim Anda tidak perlu lagi mengkhawatirkan infrastruktur database dan dapat berfokus untuk memberikan nilai tambah bagi pengguna.

Memilih strategi deployment Cassandra yang tepat

Saat memutuskan cara menjalankan workload Cassandra, Anda memiliki tiga jalur utama. 

  • Pertama, Anda dapat mengelola Cassandra open source secara mandiri, yang memberi Anda kontrol penuh atas software, tetapi memaksa tim Anda untuk mengelola infrastruktur yang mendasarinya
  • Kedua, Anda dapat memilih layanan yang kompatibel dengan Cassandra terkelola, yang memberikan pengalaman yang sama tanpa perlu repot melakukan operasi sehari-hari
  • Terakhir, Anda dapat memilih alternatif berbasis cloud, seperti Google Cloud Bigtable atau Spanner, yang dibuat khusus untuk pola ketersediaan tinggi dan throughput tinggi yang sama, tetapi dirancang untuk bekerja secara lancar dengan ekosistem cloud modern

Memilih jalur yang tepat bergantung pada keseimbangan antara keahlian tim Anda dan kebutuhan bisnis spesifik Anda. Gunakan checklist ini untuk memandu proses pengambilan keputusan Anda:

Pertanyaan

Jika ya…

Jika tidak…

Apakah kita punya waktu untuk memperbaiki dan menyesuaikan database?

Anda dapat menangani cluster yang dikelola sendiri jika memiliki engineer khusus untuk "database plumbing".

Pilih layanan terkelola untuk menghindari pemborosan waktu rekayasa dalam pemeliharaan infrastruktur.

Apakah "tetap online" lebih penting daripada konsistensi yang sempurna?

Model AP Cassandra sangat cocok untuk aplikasi dengan ketersediaan tinggi.

Pertimbangkan Cloud Spanner, yang menawarkan skala sistem terdistribusi dengan keamanan data yang ketat.

Apakah kami perlu meningkatkan skala dengan cepat seiring pertumbuhan kami?

Gunakan layanan terkelola atau Bigtable, yang menawarkan penskalaan otomatis untuk menangani lonjakan traffic.

Cluster statis mungkin berfungsi, tetapi Anda berisiko mengalami bottleneck performa selama periode sibuk.

Apakah layanan terkelola akan membuat pekerjaan kami lebih andal?

Tentu saja; layanan terkelola mengotomatiskan pencadangan dan penerapan patch untuk mencegah kesalahan manusia.

Anda menerima risiko yang lebih tinggi dari pemeliharaan manual dan potensi kesalahan konfigurasi.

Apakah kami menargetkan portabilitas infrastruktur?

Self-managed memberi Anda kebebasan maksimal untuk berpindah antar-cloud atau berjalan di infrastruktur lokal.

Anda merasa nyaman dengan manfaat khusus cloud sebagai imbalan atas upaya operasional yang lebih rendah.

Pertanyaan

Jika ya…

Jika tidak…

Apakah kita punya waktu untuk memperbaiki dan menyesuaikan database?

Anda dapat menangani cluster yang dikelola sendiri jika memiliki engineer khusus untuk "database plumbing".

Pilih layanan terkelola untuk menghindari pemborosan waktu rekayasa dalam pemeliharaan infrastruktur.

Apakah "tetap online" lebih penting daripada konsistensi yang sempurna?

Model AP Cassandra sangat cocok untuk aplikasi dengan ketersediaan tinggi.

Pertimbangkan Cloud Spanner, yang menawarkan skala sistem terdistribusi dengan keamanan data yang ketat.

Apakah kami perlu meningkatkan skala dengan cepat seiring pertumbuhan kami?

Gunakan layanan terkelola atau Bigtable, yang menawarkan penskalaan otomatis untuk menangani lonjakan traffic.

Cluster statis mungkin berfungsi, tetapi Anda berisiko mengalami bottleneck performa selama periode sibuk.

Apakah layanan terkelola akan membuat pekerjaan kami lebih andal?

Tentu saja; layanan terkelola mengotomatiskan pencadangan dan penerapan patch untuk mencegah kesalahan manusia.

Anda menerima risiko yang lebih tinggi dari pemeliharaan manual dan potensi kesalahan konfigurasi.

Apakah kami menargetkan portabilitas infrastruktur?

Self-managed memberi Anda kebebasan maksimal untuk berpindah antar-cloud atau berjalan di infrastruktur lokal.

Anda merasa nyaman dengan manfaat khusus cloud sebagai imbalan atas upaya operasional yang lebih rendah.

Mengatasi tantangan bisnis Anda dengan Google Cloud

Pelanggan baru mendapatkan kredit gratis senilai $300 untuk dibelanjakan di Google Cloud.
Hubungi spesialis penjualan Google Cloud untuk membahas tantangan unik Anda secara lebih mendetail.

Menjalankan workload Cassandra di Google Cloud dengan Bigtable dan Spanner

Jika Anda ingin menghindari pekerjaan mengelola Cassandra sendiri, Google Cloud menawarkan dua solusi yang bermanfaat: Bigtable dan Spanner

Jika Anda sudah menggunakan Cassandra untuk penyimpanan kolom lebar dan throughput tulis yang tinggi, Bigtable mungkin sangat cocok. Untuk menggunakannya, Anda dapat memetakan keyspace dan tabel Cassandra yang ada ke tabel Bigtable, lalu mengupdate kode aplikasi Anda untuk menggunakan library klien Cloud Bigtable. Karena terkelola sepenuhnya, Bigtable otomatis menangani sharding dan load balancing yang sebelumnya harus Anda sesuaikan secara manual di Cassandra.

Jika workload Cassandra Anda telah berkembang hingga memerlukan konsistensi yang lebih kuat atau Anda memerlukan fitur relasional SQL, Spanner juga dapat menjadi pilihan yang baik. Untuk menggunakannya, Anda menentukan skema menggunakan SQL standar, yang mungkin mengharuskan Anda menormalisasi beberapa data Cassandra yang didenormalisasi. SQL standar menawarkan skala horizontal yang sama dengan Cassandra, tetapi dengan manfaat tambahan berupa konsistensi global yang kuat dan dukungan SQL relasional penuh.

Langkah selanjutnya

Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.

Google Cloud