Apa itu Apache Cassandra | Pengantar Cassandra

Dalam artikel ini, kita akan belajar tentang konsep NoSQL di tingkat tinggi karena keluarga memainkan peran penting di pasar BigData. Kami juga akan membahas apa itu Cassandra yang merupakan DB NoSQL terkemuka di pasar, arsitektur Cassandra, komponen utama dan kasus penggunaannya secara detail.
Contents
1. Pengenalan Database NoSQL2. Jenis Database NoSQL2.1. Penyimpanan Nilai Kunci2.2. Dokumen2.3. Berorientasi Kolom2.4. berbasis grafik3. Apa itu Apache Cassandra?4. Arsitektur Cassandra5. Komponen utama Cassandra6. Dimana menggunakan Cassandra?7. Kasing penggunaan Cassandra8 yang ideal. Ringkasan1. Pengenalan Database NoSQL

Istilah “NoSQL” mengacu pada metode database yang berbeda dari sistem manajemen database relasional (RDBMS) yang khas. Untuk memahami NoSQL, pertama-tama perlu memahami SQL, yang merupakan bahasa query yang digunakan oleh database relasional.

Table, kolom, baris, dan skema digunakan untuk mengatur dan mengambil data dalam database relasional. Database NoSQL, di sisi lain, tidak bergantung pada struktur ini dan sebaliknya menggunakan model data yang lebih fleksibel. Basis data

NoSQL telah diadopsi oleh organisasi arus utama karena RDBMS semakin gagal memenuhi persyaratan kinerja, skalabilitas, dan fleksibilitas dari aplikasi intensif data generasi berikutnya.

“Bukan SQL” atau “tidak hanya SQL” adalah dua istilah yang dapat digunakan digunakan untuk menggambarkan NoSQL.

Data tidak terstruktur meningkat pada tingkat yang jauh lebih cepat daripada data terstruktur dan tidak sesuai dengan struktur relasional RDBMS, sehingga NoSQL sangat berguna untuk menyimpan Data tidak terstruktur.

Pengguna dan data sesi; obrolan, pesan, dan data log; data deret waktu seperti IoT dan data perangkat; dan item besar seperti video dan foto adalah contoh dari data tidak terstruktur.
2. Jenis Database NoSQL2
.1. Penyimpanan Nilai Kunci

Ini sering dianggap sebagai bentuk paling dasar dari basis data NoSQL. Model data bebas skema ini disusun sebagai kamus pasangan nilai kunci, dengan kunci dan nilai untuk setiap item.

Ini sering digunakan untuk menyimpan dan menyimpan data sesi pengguna seperti keranjang belanja. Namun, ketika Anda perlu menarik banyak catatan sekaligus, itu tidak optimal.

Untuk menyediakan skalabilitas dan ketersediaan, data dipartisi dan direplikasi di seluruh cluster. Akibatnya, penyimpanan nilai kunci jarang mendukung transaksi.

Mereka cukup baik dalam menskalakan aplikasi yang menangani data non-transaksional berkecepatan tinggi. Amazon DynamoDB, Redis, dan Riak adalah Database Penyimpanan Nilai Kunci yang populer.
2.2. Document

Database dokumen mengambil konsep database nilai kunci selangkah lebih maju dengan mengelompokkan dokumen ke dalam koleksi. Mereka mengizinkan kueri pada atribut apa pun dalam dokumen dan mendukung pasangan nilai kunci bersarang.

Data terutama direpresentasikan sebagai objek atau dokumen mirip JSON dalam kode aplikasi karena merupakan paradigma data yang efisien dan intuitif untuk developer.

MongoDB dan Amazon DocumentDB adalah contoh untuk Document databases.
2.3. Berorientasi Kolom

Basis data berorientasi kolom berfokus pada kolom, dan setiap kolom ditangani secara terpisah. Saat melakukan kueri di seluruh kolom tertentu dalam database, database berorientasi kolom lebih efisien dalam menyimpan data dan membuat kueri di seluruh baris data yang jarang. Mereka berkinerja baik pada kueri agregat seperti SUM, COUNT, AVG, MIN karena data sudah tersedia di kolom.

HBase, Apache Cassandra adalah contoh terbaik dari database berorientasi kolom.
2.4. Basis data grafik berbasis grafik

A melacak entitas dan koneksinya. Entitas direpresentasikan sebagai node, sedangkan koneksi/hubungan direpresentasikan sebagai edge.

An edge membuat koneksi antar node. Pengidentifikasi unik dialokasikan untuk setiap node dan edge. Basis data grafik bersifat multi-relasional.

Neo4J, Graph Infinite, OrientDB adalah Graph Databases.
3 yang populer. Apa itu Apache Cassandra?

Apache Cassandra adalah sistem manajemen basis data terdistribusi Opensource, berorientasi kolom & yang dapat menangani data dalam jumlah besar di beberapa pusat data dan cloud.

Kemampuannya untuk mengelola volume besar membuatnya sangat berguna untuk bisnis besar. Akibatnya, beberapa perusahaan besar, termasuk Apple, Instagram, Facebook, Uber, Twitter, Cisco, eBay, dan Netflix, sekarang menggunakannya.

Sorotan Cassandra:
Sumber TerbukaSangat terukurKetersediaan TinggiTidak Ada Titik KegagalanKinerja TinggiToleran kesalahan4. Arsitektur Cassandra

Apache Cassandra dibangun untuk mengelola beban kerja data yang besar pada beberapa node tanpa satu titik kegagalan. Desainnya dibangun dengan asumsi bahwa kegagalan sistem dan perangkat keras tidak dapat dihindari.

Cassandra memecahkan masalah kegagalan dengan menerapkan sistem terdistribusi peer-to-peer antara node homogen dan mendistribusikan data di seluruh cluster. Arsitektur

Cassandra berbasis cincin dan tidak memiliki node master atau titik kegagalan tunggal.
Dengan menggunakan protokol komunikasi gosip peer-to-peer, setiap node sering mengirimkan informasi status tentang dirinya sendiri dan node lain di seluruh cluster. Untuk memastikan ketahanan data, setiap node memiliki log komit yang ditulis secara berurutan yang mencatat aktivitas penulisan. Data selanjutnya diindeks dan ditulis ke memtable, struktur dalam memori yang meniru cache tulis kembali. Data ditulis ke disk dalam file data SSTables setiap kali struktur memori selesai. Semua penulisan dipartisi dan diduplikasi/direplikasi di seluruh cluster secara otomatis. Cassandra menggunakan proses yang disebut pemadatan untuk menggabungkan SSTables secara teratur, menghilangkan data usang yang ditandai untuk dihapus menggunakan batu nisan. Berbagai prosedur perbaikan digunakan untuk memastikan bahwa semua data di seluruh cluster tetap konsisten. Cassandra adalah database penyimpanan baris yang dipartisi di mana baris dikelompokkan ke dalam tabel dan kunci utama diperlukan. Dengan menggunakan CQL, setiap pengguna yang berwenang dapat terhubung ke node mana pun di pusat data mana pun dan mengakses data. CQL memiliki sintaks yang sebanding dengan SQL dan bekerja dengan data tabel. Setiap node dalam cluster dapat menerima permintaan baca atau tulis klien. Ketika klien mengirim permintaan ke node, node tersebut menjadi koordinator untuk operasi klien tertentu. Antara aplikasi klien dan node yang memiliki data yang diminta, koordinator berfungsi sebagai proxy. Berdasarkan bagaimana cluster dirancang, koordinator memilih node mana dalam ring yang harus menerima permintaan tersebut.5. Komponen utama Cassandra
Node: Ini adalah server tempat data disimpan, infrastruktur Cassandra dibangun di sekitarnya. Pusat Data: Kumpulan server. Cluster: Satu atau lebih pusat data membentuk sebuah cluster. SSTable: Tabel String yang Diurutkan adalah file yang berisi pasangan string kunci/nilai yang telah diurutkan berdasarkan kunci. Untuk setiap tabel Cassandra, SSTables hanya ditambahkan dan disimpan secara berurutan pada disk. Log komit: Demi ketahanan, semua data awalnya ditulis ke log komit. Setelah semua datanya dikuras ke SSTables, data tersebut dapat diarsipkan, dihapus atau didaur ulang.Mem-Table: Struktur data memory-resident dikenal sebagai mem-table. Data akan ditulis ke tabel mem setelah log komit. Mungkin ada banyak mem-tabel untuk keluarga satu kolom pada waktu tertentu. Filter Bloom: Filter Bloom digunakan oleh Cassandra untuk menentukan apakah salah satu SSTables cenderung memiliki kunci partisi yang diinginkan tanpa harus membaca isinya.6. Di mana menggunakan Cassandra?

Cassandra telah terbukti sangat berguna dalam berbagai aplikasi.

Berikut ini adalah beberapa pertimbangan utama saat melempar ke Cassandra:
Kita harus memilih Cassandra ketika sifat aplikasinya intensif ‘tulis’ dibandingkan dengan ‘baca’. Distribusi data antar node cepat, dan penulisan tidak mahal.Cassandra juga cocok untuk distribusi data di berbagai pusat data dan zona ketersediaan cloud.Cassandra dapat menjadi ‘tulang punggung’ yang kuat untuk analitik real-time bila digunakan bersama dengan Apache Spark dan lainnya peralatan. Ini juga skala secara linier. Jadi, jika Anda mengharapkan data real-time Anda tumbuh, Cassandra tidak diragukan lagi adalah pilihan terbaik.7. Kasus penggunaan Cassandra
Messaging yang ideal: Karena Cassandra dapat menangani sejumlah besar data, ini adalah pilihan terbaik dari layanan Messaging.Aplikasi sensor: Cassandra cocok untuk menangani data yang berasal dari berbagai perangkat sensor dengan kecepatan tinggi.Aplikasi Ecom: Banyak pengecer mengandalkan di Cassandra untuk keamanan keranjang belanja yang andal serta input dan output katalog produk yang cepat.Mesin Rekomendasi: Cassandra sangat cocok untuk analisis dan rekomendasi konsumen, menjadikannya pilihan populer di antara bisnis online dan platform jejaring sosial.8. Ringkasan

Dalam artikel ini, kita telah membahas ikhtisar konsep basis data NoSQL dan arsitektur dasar Cassandra. Kami akan memandu instalasi Cassandra di artikel mendatang.

Resource:
https://aws.amazon.com/nosql/