Cassandra Database - Diagrams |
Apa itu Cassandra Jika Anda seorang pengembang backend atau administrator database, Anda mungkin akrab dengan salah satu database NoSQL yang akan kita bicarakan, Apache Cassandra. Cassandra adalah salah satu database paling populer yang digunakan karena kecepatan dan skalabilitasnya yang luar biasa. Selain Cassandra, ada beberapa jenis database NoSQL seperti MongoDB, Redis, dan ONDB.
Seperti yang dapat Anda lihat dari gambar di atas, Cassandra masih berada dalam daftar 10 besar mesin database yang paling banyak digunakan saat ini. Data ini diperoleh dari situs DB Engine pada Desember 2020. Anda dapat mengakses situs web resmi Cassandra (cassandra.apache.org).
Pengertian Apache Cassandra
Apache Cassandra atau yang lebih dikenal dengan Cassandra adalah produk manajemen database open source yang didistribusikan oleh Apache yang sangat terukur (scalable) dan mampu menangani volume yang sangat besar (big data). ) dirancang untuk mengelola secara terstruktur. data. Cassandra adalah database NoSQl yang tidak menggunakan hubungan antar tabel dan tidak menyimpan data dalam format tabel dinamis (kolom yang ditentukan) seperti database relasional.
Apache Cassandra Database adalah pilihan tepat bagi pengguna yang membutuhkan skalabilitas dan ketersediaan tinggi tanpa mengorbankan kinerja sistem yang mereka bangun. Kemampuan Cassandra untuk menyimpan data dalam jumlah besar tidak perlu dipertanyakan lagi. Banyak perusahaan besar seperti Facebook, IBM, Reddit, Apple, dan Twitter menggunakan Cassandra sebagai salah satu alat pendukung mereka untuk meningkatkan bisnis mereka.
Sejarah Singkat Apache Cassandra
Avinash Lakshman dan Prashant Malik, rekan penulis Dynamo Amazon, awalnya mengembangkan Cassandra di Facebook untuk melakukan fungsi pencarian kotak masuk Facebook, memungkinkan pengguna untuk mengambil pesan dan lainnya yang Kami permudah temukan.
Arsitektur yang dihasilkan menggabungkan model distribusi yang diusulkan dalam makalah Amazon Dynamo dan menggunakan mesin penyimpanan berstruktur log yang dijelaskan dalam makalah BigTable Google untuk mendistribusikan data ke beberapa node. Memungkinkan penskalaan horizontal. Hasilnya adalah database yang sangat skalabel yang mampu menangani kasus penggunaan data besar yang intensif kinerja.
Facebook akhirnya merilis Cassandra pada Juli 2008 sebagai proyek open source menggunakan kode Google. Kemudian pada bulan Maret 2009 Cassandra menjadi salah satu proyek Apache Incubator, dan pada tahun 2010 Cassandra dipromosikan menjadi proyek tingkat atas (top-level Apache).
Pengembang Facebook kemudian menamai database ini setelah Cassandra, dewa teknik kuda Trojan.
Fitur Apache Cassandra
Apache Cassandra memiliki beberapa fitur yang mengejutkan pengguna. Bahkan, beberapa fitur tersebut dijelaskan lengkap di situs resmi cassandra.apache.org. Karakteristik ini juga menjadi keunggulan Cassandra. Data yang mungkin berada di Indonesia akan berada di negara lain dengan server yang berbeda baik dari segi hardware maupun platform.
- Elastic scalability
Apache Cassandra merupakan database terdistribusi, dimana penambahan kapasitas penyimpanan dapat ditambah sewaktu-waktu dan tanpa terikat hardware dan lokasi yang sama, sehingga bisa jadi data A ditempatkan di Indonesia, data lainnya ditempatkan di negara lain dengan server yang berbeda baik dari segi hardware maupun platformnya. - Penyimpanan Data Fleksibel Cassandra
mendukung semua format data yang tersedia termasuk data terstruktur, semi terstruktur, dan tidak terstruktur. Namun, secara dinamis dapat menyesuaikan dengan perubahan struktur data sesuai kebutuhan. Penyimpanan terbesar termasuk Apple dengan lebih dari 75.000 node yang menyimpan lebih dari 10 PB data, Netflix 2.500 node yang melayani lebih dari 1 triliun permintaan per hari pada 42 TB, dan banyak aplikasi lainnya. - Distribusi data yang mudah
Cassandra memberikan fleksibilitas untuk mendistribusikan data yang Anda butuhkan dengan mereplikasi data di beberapa pusat data. Data secara otomatis direplikasi di beberapa node jika terjadi kegagalan. Node yang gagal dapat diganti secara langsung (tanpa downtime). - Fast Writes
Cassandra dirancang untuk berjalan pada perangkat keras kelas bawah. Mereka cepat untuk menulis dan dapat menyimpan ratusan terabyte data tanpa mengorbankan efisiensi membaca.
Komponen Cassandra
Cassandra memiliki beberapa komponen utama yaitu :
- Node : merupakan server tempat penyimpanan data.
- Data center : Kumpulan dari beberapa node.
- Cluster : Kumpulan dari beberapa data center.
- Commit Log : log dari proses penulisan di Cassandra, yang berfungsi juga sebagai Crash Recovery Mechanism.
- Mem-Table : merupakan memory-resident data structure. Setelah menulis dalam commit log, Cassandra melakukan penulisan disini.
- CQL : Cassandra Query Language, adalah bahasa perintah query di Cassandra.
Kenapa Pilih Cassandra
- Cassandra mampu menyelesaikan tugas rumit dengan mudah
Mencatat peristiwa, mengumpulkan metrik, membuat kueri data historis, semua tugas ini mungkin tampak membosankan, tetapi ini sangat penting dalam data besar dan alur kerja DevOps. Selain itu, mengonfigurasi repositori pusat untuk log bisa menjadi tugas yang sangat berat mengingat beragamnya data dan sumber daya dalam jumlah besar.
Tapi jangan khawatir. Membuat gudang pusat log dan metrik serta mengambil informasi historis dari penyimpanan adalah tugas yang cepat dan mudah dengan Cassandra. Setelah struktur tabel didefinisikan dan dirancang, database berfungsi dengan baik dan mudah beradaptasi dengan kebutuhan yang berbeda. -
Cassandra mudah dipelajari
Anda dapat mempelajari cassandra dengan cepat, karena pada dasarnya Cassandra mengoperasikan CQL (Cassandra Query Language) yang tidak jauh beda dengan SQL meskipun terdapat beberapa fitur tambahan yang canggih. Cassandra terbilang memiliki susunan yang sederhana yang menggunakan daftar variabel, perintah, dan fungsi yang cukup terbatas. Karena kesederhanaannya ini, anda dapat menguasai Cassandra dalam waktu satu bulan. Sehingga dapat mempersingkat waktu anda untuk segera memasarkan produk dari aplikasi yang anda buat dengan cepat. -
Cassandra dapat menurunkan biaya overhead admin dan meringankan teknisi DevOps
Seperti yang dijelaskan sebelumnya, event logging, metrics collection, dan bekerja dengan data historis adalah tugas dari Cassandra. Sehingga membuat pengeluaran biaya admin menjadi berkurang karena semua sudah dikerjakan oleh Cassandra. Selain itu, tugas tim DevOps akan terbantu dan semakin berkurang, sehingga tim dapat lebih berkonsentrasi pada tugas-tugas inti mereka seperti meningkatkan kualitas produk atau fitur-fiturnya, dan lain sebagainya. - Cassandra memiliki tingkat ketahanan yang tinggi terhadap berbagai kesalahan teknis
Cassandra adalah cluster tanpa master, jadi tidak ada satu titik kegagalan. Hash data terus direplikasi di seluruh cluster untuk memastikan 100% uptime, bahkan jika setengah dari server tidak tersedia untuk sementara. Ini sangat berguna jika Anda melakukan pembaruan atau pemeliharaan berkelanjutan pada cluster Anda. Server dan rak server penuh, seluruh pusat data mati, dan layanan pelanggan tidak berhenti. Aplikasi selalu tersedia.
Penutup
Ini menjelaskan pentingnya Apache Cassandra, database NoSQL yang populer saat ini dan digunakan oleh berbagai perusahaan besar di seluruh dunia. Jadi saya ingin mengambil kesempatan ini untuk berbagi. Jika Anda memiliki sesuatu yang ingin Anda tanyakan atau katakan, silakan beri komentar di bagian komentar di bawah.