Cassandra - Pendahuluan

Apache Cassandra adalah database terdistribusi yang sangat skalabel dan berkinerja tinggi yang dirancang untuk menangani sejumlah besar data di banyak server komoditas, menyediakan ketersediaan tinggi tanpa satu titik kegagalan. Ini adalah jenis database NoSQL. Mari kita pahami dulu apa yang dilakukan database NoSQL.

NoSQLDatabase

Database NoSQL (terkadang disebut Not Only SQL) adalah database yang menyediakan mekanisme untuk menyimpan dan mengambil data selain relasi tabel yang digunakan dalam database relasional. Basis data ini bebas skema, mendukung replikasi mudah, memiliki API sederhana, pada akhirnya konsisten, dan dapat menangani data dalam jumlah besar.

Tujuan utama database NoSQL adalah memiliki

  • kesederhanaan desain,
  • penskalaan horizontal, dan
  • kontrol yang lebih baik atas ketersediaan.

Database NoSql menggunakan struktur data yang berbeda dibandingkan dengan database relasional. Itu membuat beberapa operasi lebih cepat di NoSQL. Kesesuaian database NoSQL yang diberikan bergantung pada masalah yang harus diselesaikannya.

NoSQL vs. Database Relasional

Tabel berikut mencantumkan poin-poin yang membedakan database relasional dari database NoSQL.

Database Relasional Database NoSql
Mendukung bahasa kueri yang kuat. Mendukung bahasa kueri yang sangat sederhana.
Ini memiliki skema tetap. Tidak ada skema tetap.
Mengikuti ACID (Atomicity, Consistency, Isolation, dan Durability). Itu hanya “akhirnya konsisten”.
Mendukung transaksi. Tidak mendukung transaksi.

Selain Cassandra, kami memiliki database NoSQL berikut yang cukup populer -

  • Apache HBase- HBase adalah database open source, non-relasional, dan terdistribusi yang meniru BigTable Google dan ditulis di Java. Ini dikembangkan sebagai bagian dari proyek Apache Hadoop dan berjalan di atas HDFS, memberikan kemampuan seperti BigTable untuk Hadoop.

  • MongoDB - MongoDB adalah sistem database berorientasi dokumen lintas platform yang menghindari penggunaan struktur database relasional berbasis tabel tradisional yang mendukung dokumen mirip JSON dengan skema dinamis yang membuat integrasi data dalam jenis aplikasi tertentu lebih mudah dan lebih cepat.

Apa itu Apache Cassandra?

Apache Cassandra adalah sistem penyimpanan (database) open source, terdistribusi dan terdesentralisasi / terdistribusi, untuk mengelola data terstruktur dalam jumlah sangat besar yang tersebar di seluruh dunia. Ini menyediakan layanan yang sangat tersedia tanpa satu titik kegagalan.

Di bawah ini adalah beberapa poin penting dari Apache Cassandra -

  • Ini skalabel, toleran terhadap kesalahan, dan konsisten.

  • Ini adalah database berorientasi kolom.

  • Desain distribusinya didasarkan pada Amazon's Dynamo dan model datanya di Bigtable Google.

  • Dibuat di Facebook, ini sangat berbeda dari sistem manajemen basis data relasional.

  • Cassandra mengimplementasikan model replikasi gaya Dynamo tanpa satu titik kegagalan, tetapi menambahkan model data "kelompok kolom" yang lebih canggih.

  • Cassandra digunakan oleh beberapa perusahaan terbesar seperti Facebook, Twitter, Cisco, Rackspace, ebay, Twitter, Netflix, dan banyak lagi.

Fitur Cassandra

Cassandra menjadi sangat populer karena fitur teknisnya yang luar biasa. Diberikan di bawah ini adalah beberapa fitur Cassandra:

  • Elastic scalability- Cassandra sangat terukur; itu memungkinkan untuk menambahkan lebih banyak perangkat keras untuk mengakomodasi lebih banyak pelanggan dan lebih banyak data sesuai kebutuhan.

  • Always on architecture - Cassandra tidak memiliki satu titik kegagalan dan selalu tersedia untuk aplikasi bisnis penting yang tidak dapat menyebabkan kegagalan.

  • Fast linear-scale performance- Cassandra dapat diskalakan secara linier, yaitu meningkatkan throughput Anda saat Anda meningkatkan jumlah node di cluster. Oleh karena itu, ia mempertahankan waktu respons yang cepat.

  • Flexible data storage- Cassandra mengakomodasi semua kemungkinan format data termasuk: terstruktur, semi-terstruktur, dan tidak terstruktur. Ini dapat secara dinamis mengakomodasi perubahan pada struktur data Anda sesuai dengan kebutuhan Anda.

  • Easy data distribution - Cassandra memberikan fleksibilitas untuk mendistribusikan data yang Anda butuhkan dengan mereplikasi data di beberapa pusat data.

  • Transaction support - Cassandra mendukung properti seperti Atomicity, Consistency, Isolation, dan Durability (ACID).

  • Fast writes- Cassandra dirancang untuk dijalankan pada perangkat keras komoditas murah. Ia melakukan penulisan yang sangat cepat dan dapat menyimpan ratusan terabyte data, tanpa mengorbankan efisiensi pembacaan.

Sejarah Cassandra

  • Cassandra dikembangkan di Facebook untuk pencarian kotak masuk.
  • Itu bersumber terbuka oleh Facebook pada Juli 2008.
  • Cassandra diterima di Apache Incubator pada Maret 2009.
  • Itu dibuat sebagai proyek tingkat atas Apache sejak Februari 2010.