Apa itu Apache Cassandra?

Jendela diterangi pada bangunan besar dengan pemandangan berbeda di setiap jendela

Penyusun

Tom Krantz

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

Apa yang dimaksud dengan Apache Cassandra?

Apache Cassandra (Cassandra) adalah basis data NoSQL sumber terbuka dibuat untuk mengelola data dalam jumlah besar di berbagai pusat data.

 

Dirancang sebagai sistem manajemen basis data terdistribusi (DBMS), Cassandra mengandalkan arsitektur peer-to-peer. Setiap node, atau server individu yang menyimpan sebagian data, dalam klaster Cassandra adalah setara, tanpa ketergantungan pada node master.

Data dipartisi di seluruh rekan daripada disimpan di lokasi terpusat, menghilangkan satu titik kegagalan (di mana satu kerusakan dengan cepat mengalir menjadi beberapa). Desain ini memungkinkan replikasi yang mulus, distribusi data yang efisien, dan layanan berkelanjutan bahkan selama waktu henti yang direncanakan atau perubahan mendadak. 

Cassandra menawarkan otomatisasicadangan data, dan metrik terintegrasi untuk contoh penggunaan seperti mengelola perangkat Internet of Things (IoT) yang terhubung. Lebih khusus lagi, ini memberikan skalabilitas linier, ketersediaan tinggi dan toleransi kesalahan, menjadikannya pilihan populer untuk aplikasi big data dan beban kerja real time. Pada September 2024, Cassandra digunakan oleh lebih dari 30.000 organisasi di seluruh dunia.

Berita teknologi terbaru, didukung oleh insight dari pakar

Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan disediakan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM® kami untuk informasi lebih lanjut.

Sejarah Cassandra

Kisah Cassandra dimulai pada tahun 2007 di Facebook, di mana para insinyur mencari sistem yang dapat menyimpan data untuk platform perpesanan perusahaan yang berkembang. Dengan menggabungkan model database NoSQL yang sudah mapan (Dynamo Amazon dan Bigtable Google), mereka menciptakan sistem dengan struktur data yang efisien dan konsistensi akhirnya—di mana pembaruan menyebar hingga semua replika cocok dari waktu ke waktu.

Pada tahun 2008, Cassandra dirilis sebagai proyek sumber terbuka, dengan cepat mendapatkan daya tarik di antara pengembang yang mencari alternatif untuk database relasional tradisional. Apache Software Foundation mengambil alih kepengurusan pada tahun 2009, memformalkan tata kelolanya dan mempercepat adopsi komunitas.

Momentum Cassandra tumbuh ketika pengadopsi awal seperti eBay, Spotify dan Instagram menerapkan Cassandra untuk menangani big data. Munculnya IoT dan personalisasi real-time semakin memperkuat peran Cassandra sebagai basis data pilihan untuk skala dan ketersediaan.

Dukungan komersial dari DataStax menambahkan alat kelas enterprise, tutorial, dan layanan, sementara komunitas terbuka mengembangkan alat dan memperluas dokumentasi. Saat ini, Cassandra tetap menjadi pusat banyak sistem terdistribusi, berkembang baik dalam ekosistem sumber terbuka dan penerapan perusahaan.

AI Academy

Apakah manajemen data merupakan rahasia AI generatif?

Jelajahi mengapa data berkualitas tinggi sangat penting untuk keberhasilan penggunaan AI generatif.

Mengapa Cassandra penting?

Dari layanan streaming dan media sosial hingga belanja online, pelanggan mengharapkan pengalaman digital yang selalu aktif. Bagi perusahaan, waktu aktif bukan lagi tujuan TI tetapi metrik bisnis. Biaya kegagalan sangat besar: perusahaan-perusahaan terkemuka di dunia kehilangan sekitar USD 400 miliar per tahun karena waktu henti yang tidak direncanakan.

Pada saat yang sama, lonjakan data tidak terstruktur dari log peristiwa, telemetri, dan aliran data membuat operasi lebih kompleks di seluruh wilayah dan lingkungan cloud, sehingga meningkatkan kemungkinan kegagalan sistem. Organisasi membutuhkan basis data yang andal yang dapat menangani beragam jenis data dan skala sesuai permintaan di seluruh infrastruktur global. Cassandra direkayasa untuk memenuhi tuntutan ini.

Industri mengandalkan kinerja tinggi Cassandra untuk memproses miliaran operasi penulisan (menyisipkan, memperbarui, dan menghapus) sambil melayani pengguna dengan akurasi waktu nyata. Ketahanannya berasal dari mereplikasi data di seluruh server komoditas, atau mesin standar siap pakai, meminimalkan risiko pemadaman dan memastikan daya tahan bahkan ketika perangkat keras gagal.

Kemampuan Cassandra dalam mengelola beban kerja di berbagai pusat data memberikan konsistensi dan ketersediaan bagi perusahaan di seluruh dunia. Organisasi seperti Netflix dan Amazon menggunakan Cassandra untuk memberikan pengalaman yang dipersonalisasi sambil melindungi dari waktu henti dan kehilangan data. Faktanya, tim Platform Manajemen Aset Netflix menggunakan Cassandra untuk mengelola sekitar 1,9 miliar anotasi (sekitar 2,6 TB), setelah menggandakan klasternya dari 12 menjadi 24 node.

Cassandra vs basis data relasional tradisional

Tidak seperti database relasional, yang mengandalkan definisi skema kaku dan kontrol terpusat, Cassandra dibangun untuk skala terdistribusi. Dalam sistem relasional,kunci utama terkait dengan pemodelan data yang ketat dan skalabilitas yang terbatas. Cassandra, sebaliknya, menggunakan kunci partisi dan faktor replikasi untuk menentukan bagaimana kumpulan data disimpan di seluruh node dan pusat data.

Sementara sistem Structured Query Language (SQL) unggul pada gabungan dan agregat yang kompleks, mereka sering kali menimbulkan hambatan dan risiko satu titik kegagalan. Cassandra menghindari hal ini dengan merangkul arsitektur terdistribusi dan akhirnya konsistensi. Dibandingkan dengan MongoDB, database Cassandra mendukung beban kerja yang banyak menulis dan dapat diskalakan secara linier di beberapa pusat data.

Bagi organisasi yang mengelola data dalam jumlah besar, Cassandra menawarkan keuntungan yang jelas: throughput tinggi, latensi rendah, dan toleransi terhadap pemadaman. Akan tetapi, Cassandra tidak menyediakan tingkat kueri ad hoc yang sama seperti yang ditawarkan beberapa basis data relasional. Pengembang yang menggunakan Cassandra harus merancang strategi pemodelan data dengan hati-hati untuk mengoptimalkan operasi penulisan, replika, dan integritas data.

Fitur utama Cassandra

Desain Cassandra menggabungkan inovasi dalam sistem terdistribusi dengan alat untuk manajemen data tingkat perusahaan. Fitur utama meliputi:

  • Sumber terbuka
  • Kinerja tinggi
  • Ketersediaan yang dapat disetel
  • Skalabilitas linier
  • Replikasi yang mulus
  • Antarmuka yang familier

Sumber terbuka

Cassandra adalah sumber terbuka di bawah Apache Software Foundation, membantu organisasi menghindari vendor lock-in dan menyesuaikan database agar sesuai dengan kebutuhan mereka. Ketika bantuan Kelas Enterprise diperlukan, tim dapat menggunakan sumber daya komunitas atau memilih dukungan komersial dan layanan terkelola.

Kinerja tinggi

Mesin penyimpanan Cassandra menggunakan alur langkah demi langkah (atau jalur penulisan) yang terdiri dari log komit, tabel dalam memori (memtable), dan tabel string terurut (SSTable). Alur ini menerima operasi tulis dengan cepat dan melindunginya. Data yang sering diakses disimpan dalam cache untuk kueri latensi rendah sementara pemadatan, fungsi tata graha otomatis, membantu memastikan penyimpanan data jangka panjang yang efisien.

Ketersediaan yang dapat disetel

Berdasarkan teorema CAP, ketika partisi jaringan terjadi, sistem terdistribusi hanya dapat memberikan dua dari tiga karakteristik yang diinginkan: konsistensi, ketersediaan, dan toleransi partisi (CAP). Cassandra mengatasi pengorbanan ini melalui tingkat konsistensi yang dapat disetel, memungkinkan pengguna untuk memprioritaskan ketersediaan atau konsistensi tergantung pada contoh penggunaan.

Skalabilitas linier

Cassandra meningkatkan kapasitas dengan menambahkan node baru tanpa gangguan layanan, memberikan skalabilitas linier pada server komoditas alih-alih peningkatan vertikal yang mahal. Saat node ditambahkan, Cassandra secara otomatis mendistribusikan ulang data dan lalu lintas di seluruh klaster, sehingga beban kerja meningkat dan throughput meningkat secara proporsional.

Replikasi yang mulus

Cassandra menggandakan data di seluruh node dan pusat data sehingga pengguna lokal memiliki pengalaman dengan latensi rendah sambil menghindari satu titik kegagalan. Ini juga terintegrasi dengan Kubernetes, kerangka kerja antarmuka pemrograman aplikasi (API) dan lingkungan Amazon Web Services (AWS). Ini ditulis dalam Java dan berjalan di Mesin Virtual Java (JVM).

Antarmuka yang familier

Tim menggunakan Cassandra Query Language (CQL) —yang mencerminkan SQL—untuk menentukan konstruksi kunci dengan cepat seperti ruang kunci, tabel, dan kunci utama. Alat bantu interaktif seperti CQL shell (cqlsh) dan tutorial resmi juga dapat membantu mengurangi waktu orientasi bagi pengembang baru.

Memahami Bahasa Kueri Cassandra

Cassandra berinteraksi dengan aplikasi melalui CQL, bahasa khusus domain yang terinspirasi oleh SQL. Sintaks CQL sudah tidak asing lagi bagi para pengembang database, yang memungkinkan mereka untuk mendefinisikan keyspace, skema, tipe data, dan kunci utama serta kunci partisi.

Sebagai contoh, selama peluncuran game global, pengembang dapat membuat keyspace-setara dengan basis data tingkat atas Cassandra yang mendefinisikan pengaturan replikasi. Setelah itu, mereka dapat mendesain tabel di mana kunci partisi (seperti ID pemain atau wilayah) menyimpan data terkait pada node yang sama untuk distribusi data yang efisien. Menggunakan cqlsh, tim dapat menjalankan tutorial, memvalidasi kueri, dan mengelola klaster Cassandra saat mereka menambahkan node baru untuk menangani peningkatan volume pemain.

Karena Cassandra menekankan operasi tulis dan throughput, sintaksnya menghindari fitur yang akan memperlambat kinerja, seperti gabungan kompleks. Sebaliknya, pengembang mengandalkan indeks sekunder, agregat, dan pemodelan data yang dioptimalkan untuk mencapai fleksibilitas.

CQL vs. SQL

Meskipun CQL menyerupai SQL, kedua bahasa mencerminkan pendekatan yang berbeda untuk manajemen data.

Struktur data

SQL beroperasi pada tabel yang dinormalisasi, sementara CQL dirancang untuk data Cassandra denormalisasi yang selaras dengan kunci partisi.

Konsistensi

SQL mengasumsikan integritas data yang ketat, sementara Cassandra menyeimbangkan konsistensi akhirnya dengan tingkat konsistensi yang dapat dikonfigurasi.

Skalabilitas

Sistem SQL biasanya mengandalkan penskalaan vertikal, sementara Cassandra memungkinkan skalabilitas linier dengan menambahkan node baru ke klaster Cassandra.

Operasi

SQL dioptimalkan untuk transaksi, sedangkan CQL dirancang untuk kueri real-time dan operasi tulis volume tinggi.

Pengembang yang pindah dari SQL dapat beradaptasi dengan cepat ke sintaks CQL tetapi harus memikirkan kembali strategi pemodelan data untuk memanfaatkan pendekatan sistem terdistribusi Cassandra.

Contoh penggunaan Cassandra

Cassandra memberi daya beban kerja yang sangat penting di seluruh industri yang menuntut kinerja tinggi, latensi rendah, dan ketahanan. Contohnya antara lain:

  • E-commerce: Peritel menggunakan Cassandra untuk menyimpan data di keranjang belanja, mempersonalisasi rekomendasi, dan memproses pembayaran dengan toleransi kesalahan.
  • IoT: Cassandra mengelola aliran sensor dan kumpulan data dari jutaan perangkat, memastikan wawasan real-time dengan daya tahan.
  • Penerapan cloud: Cassandra terintegrasi dengan AWS dan layanan cloud lainnya. Ini juga dapat diatur pada Kubernetes untuk lingkungan yang dikontainerisasi.
  • Streaming dan hiburan: Layanan streaming memanfaatkan Cassandra untuk menangani aktivitas pengguna global, memberikan pengalaman yang dipersonalisasi tanpa mempertaruhkan waktu henti.

Di luar vertikal ini, Cassandra mendukung organisasi yang membangun sistem terdistribusi untuk big data dan penyimpanan data yang dapat diskalakan. Dengan kombinasi dukungan API, alat perusahaan dan tutorial komunitas terbuka, Cassandra tetap menjadi landasan untuk sistem manajemen basis data modern.

Solusi terkait
IBM StreamSets

Buat dan kelola pipeline data streaming cerdas melalui antarmuka grafis yang intuitif, yang memfasilitasi integrasi data tanpa batas di seluruh lingkungan hybrid dan multicloud.

Jelajahi StreamSets
IBM watsonx.data™

watsonx.data memungkinkan Anda untuk menskalakan analitik dan AI dengan semua data Anda, di mana pun data berada, melalui penyimpanan data yang terbuka, hybrid, dan diatur.

Temukan watsonx.data
Layanan konsultasi data dan analitik

Buka nilai data perusahaan dengan IBM Consulting, membangun organisasi berbasis insight yang memberikan keuntungan bisnis.

Temukan layanan analitik
Ambil langkah selanjutnya

Rancang strategi data yang menghilangkan silo data, mengurangi kompleksitas, dan meningkatkan kualitas data untuk pengalaman pelanggan dan karyawan yang luar biasa.

Jelajahi solusi manajemen data Temukan watsonx.data

Apache Cassandra dan Cassandra adalah merek dagang terdaftar dari The Apache Software Foundation.