V-class 3 Sistem Basis Data

V-CLASS 3

Prestest

1. Apa yg anda ketahui tentang No SQL?
          NoSql merupakan sistem manajemen basis data yang di identifikasikan dengan tidak mematuhi aturan pada model sistem manajemen basis data. NOSQL adalah database generasi terbaru yang mengarahkan kepada database yang tidak berelasi (non-relational), dapat disebarkan kepada siapapun (open-source) dan berskala horisontal (horizontal scale).

       Database NoSQL menggunakan berbagai model data untuk mengakses dan mengelola data, seperti dokumen, grafik, nilai kunci, dalam memori, dan pencarian. Jenis database ini dioptimalkan secara khusus untuk aplikasi yang memerlukan volume data besar, latensi rendah, dan model data fleksibel, yang dicapai dengan mengurangi pembatasan konsistensi data dari database lainnya.

Kenapa harus menggunakan Database NoSQL?
  • Fleksibilitas : Database NoSQL umumnya menyediakan skema fleksibel yang memungkinkan pengembangan yang lebih cepat dan lebih berulang. Model data fleksibel membuat database NoSQL ideal untuk data yang semi terstruktur dan tidak terstruktur.
  • Skalabilitas : Database NoSQL umumnya didesain untuk meningkatkan skala dengan menggunakan klaster perangkat keras yang terdistribusi alih-alih meningkatkan skala dengan menambah server yang mahal dan robust. Beberapa penyedia layanan cloud menangani aktivitas di balik operasi ini sebagai layanan yang dikelola sepenuhnya.
  • Kinerja tinggi : Database NoSQL dioptimalkan untuk model data spesifik (seperti dokumen, nilai kunci, dan grafik) dan pola akses yang memberikan kinerja yang lebih tinggi dibandingkan jika Anda mencoba mendapatkan fungsionalitas yang mirip dengan database relasional.
  • Fungsionalitas tinggi : Database NoSQL menyediakan API dan jenis data fungsional yang dibuat secara khusus untuk setiap model data yang sesuai.
2. SQl dan NoSql apa perbedaannya?
  • Perbedaan SQL dan NoSQL terletak pada cara penulisan database. SQL menggunakan relasional sebagai penyambung antara data-data di dalam tabel database. Sedangkan NoSQL tidak menggunakan Relasional sebagai cara mereka untuk menyambungkan antar data . 
  • NoSQL tidak menggunakan Schema relational, Pada SQL user harus mendefinisikan table yang akan digunakan. Pada NoSQL tidak perlu untuk mendefinisikan terlebih dahulu Table yang akan digunakan. 
  • Dalam Database SQL data berbentuk tabel yang terdiri dari sejumlah baris,Sedangkan Pada NoSQL data tidak memiliki definisi skema standar yang harus dipatuhi. NoSQL memiliki skema yang dinamis sedangkan pada database SQL mengikuti skema yang telah ditetapkan. 
  • Database NoSQL merupakan horizontal terukur sedangkan pada SQL Database vertikal terukur. 
  • Untuk memperbesar pada skala NoSQL hanya perlu tambahkan server DB di cluster untuk load balancing. Sedangkan pada SQL Untuk memperbesar skala harus menambahkan tenaga dari perangkat CPU,SSD,RAM dan perangkat keras lainnya pada server. 
  • Pada database SQL penekanan pada sifat Atomicity, Consistency, Isolation and Durability (ACID) sifat. Sedangkan pad NoSQL mengikuti teorema Consistency, Availability and Partition (CAP) Brewers.

Posttest

1. Buat artikel dari salah satu dari 7 database NoSql yang popular

Apache Cassandra

Logo Apache Cassandra

        Cassandra atau lengkap APACHE CASSANDRA adalah salah satu produk open source untuk menajemen database yang didistribusikan oleh Apache yang sangat scalable (dapat diukur) dan dirancang untuk mengelola data terstruktur yang berkapasitas sangat besar (Big Data) yang tersebar di banyak server. Cassandra merupakan salah satu implementasi dari NoSQL (Not Only SQL) seperti mongoDB. NoSQL merupakan konsep penyimpanan database dinamis yang tidak terikat pada relasi-relasi tabel yang kaku seperti RDBMS. Selain lebih scalable, NoSQL juga memiliki performa pengaksesan yang lebih cepat. Hal-hal itulah yang membuat NoSQL menjadi semakin populer beberapa tahun belakangan ini. Untuk memproses datanya, Cassandra menggunakan bahasa sendiri yang mirip dengan SQL yaitu Cassandra Query Language (CQL).

Sejarah Cassandra

       Cassandra di rancang pertama kali oleh team developer Facebook untuk fasilitas inbox search di Facebook, selanjutnya di open source kan sejak Juni 2008, dan masuk dalam project apache foundation sekitar maret 2009.

Fitur

Sama dengan MongoDB atau pun konsep database berbasis NoSQL lainnya, Cassandra mengusung keunggulan keunggulan seperti :
  • Elastic Scalability, Karena konsepnya adalah database terdistribusi, penambahan kapasitas penyimpanan dapat ditambah sewaktu waktu dan tanpa terikat hardware dan lokasi yang sama, jadi bisa jadi data A di taruh di Indonesia , data lainnya di taruh di negara lain, dengan server yang berbeda baik hardware maupun platformnya.
  • Penyimpanan data yang fleksibel, Cassandra mengakomodasi semua format data yang ada, termasuk: terstruktur, semi-terstruktur, dan tidak terstruktur. Secara dinamis dapat mengakomodasi perubahan struktur data anda sesuai dengan kebutuhan Anda.
  • Distribusi data yang mudah, Cassandra memberikan fleksibilitas untuk mendistribusikan data mana yang Anda butuhkan dengan mereplikasi data di beberapa pusat data.
  • Menulis cepat, Cassandra dirancang untuk berjalan pada perangkat keras low end. Ia melakukan menulis cepat dan dapat menyimpan ratusan terabyte data, tanpa mengorbankan efisiensi membacanya.

Arsitektur

    Cassandra di desain awal untuk menghandle Big Data yang terdiri dari banyak titik-titik (node) yang terpisah-pisah dan saling bekerjasama nyaris tanpa ada kesalahan. Cassandra memiliki peer-to-peer sistem terdistribusi di seluruh node, dan data didistribusikan di antara semua node dalam sebuah cluster. Semua node dalam sebuah cluster memainkan peran yang sama. Setiap node independen dan pada saat yang sama saling berhubungan ke node lain. Setiap node dalam sebuah cluster dapat menerima membaca dan menulis permintaan, terlepas dari mana data sebenarnya terletak di cluster. Ketika sebuah node performanya turun, membaca permintaan / tulis dapat dilayani dari node lain dalam jaringan.

     Replikasi data di Cassandra disebut dengan istilah Gossip Protocol dimana satu atau lebih node dalam sebuah Cluster sebagai replika untuk bagian tertentu dari data. Jika terdeteksi bahwa beberapa node datanya out of date, Cassandra akan mengembalikan nilai terbaru untuk klien. Setelah mendapatkan nilai kembalian terbaru, Cassandra melakukan perbaikan membaca di latar belakang untuk memperbarui nilai-nilai yang out of date.

    Gambar berikut menunjukkan bagaimana Cassandra menggunakan replikasi data antara node dalam sebuah cluster untuk memastikan tidak ada satu titik yang mengalami kegagalan.

Konsep Replication Antar Node Cassandra

Komponen

Cassandra mempunyai beberapa komponen utama yaitu :
  • Node : ini adalah server tempat penyimpanan data.
  • Data Center : kumpulan dari beberapa node.
  • Cluster : Kumpulan dari beberapa data center.
  • Commit Log : adalah log dari proses penulisan di Cassandra , yang berfungsi juga sebagai Crash Recovery Mechanism.
  • Mem-Table : Adalah memory-resident data structure. Setelah menulis dalam commit log , cassandra melakukan penulisan di sini.
  • CQL : Cassandra Query Language , adalah bahasa perintah query di cassandra .
Referensi : 

Komentar