Minggu, 25 Juli 2021

Pengenalan Database No Sql

Apa itu No Sql?

     NoSQL adalah singkatan dari Not Only SQL. Database management system ini bersifat tanpa relasi (non-relational). Artinya, NoSQL bisa mengelola database dengan skema yang fleksibel dan tidak membutuhkan query yang kompleks.

Dengan pendekatan ini, NoSQL mempunyai skalabilitas tinggi untuk dapat berkembang sesuai dengan kebutuhan data yang ada. Tak heran, database management ini dianggap paling cocok untuk mengolah big data yang selalu berubah-ubah sekalipun. 

Berbagai perusahaan besar seperti Facebook dan Google juga memanfaatkan NoSQL pada bisnis mereka. Alasannya, NoSQL memiliki kemampuan untuk mendukung real-time web application yang dikembangkan.


Jenis jenis dalam Database NoSql

Secara umum, database pada NoSQL dibedakan menjadi empat jenis, yaitu:

1. Key-value

Jenis database ini menyimpan database dalam pasangan key/value berbentuk tabel hash yang simpel. Jadi, cocok digunakan oleh Anda yang ingin menyimpan banyak data tanpa menggunakan query yang ribet saat hendak memprosesnya.

Pada key-value, setiap key-nya itu unik, sedangkan value-nya bisa berupa JSON, BLOB (Binary Large Objects), string, dan lain sebagainya.  Sebagai contoh, Anda bisa melihatnya di bawah ini:

contoh database key-value nosql

Beberapa database key-value yang populer adalah RedisDynamoDB, dan Riak

2. Column-based

Column-based (disebut juga dengan wide-column) merupakan jenis database NoSQL yang menyimpan data dalam bentuk kolom. Jadi, column-based sangat cocok untuk query SUM, COUNT, AVG, MIN, dan semacamnya..

Contoh NoSQL column-based bisa Anda lihat di bawah ini:

contoh database column-based nosql

Kelebihan utama NoSQL column-based adalah fleksibilitas kolomnya. Setiap kolom tak terikat dengan kolom lainnya. Maka, Anda bebas mengubah kolom apapun tanpa mempengaruhi yang lain. 

Beberapa database column-based yang populer adalah HBaseCassandra, dan Hypertable.

3. Document-oriented

Jenis database ini menggunakan data yang berisi sepasang key dan value yang disimpan di dokumen dengan format JSON atau XML. Value disini bisa saja berupa string, angka, boolean, arrays, hingga object. 

Supaya lebih jelas, berikut perbandingan document-oriented NoSQL dan relational SQL:

contoh database document-oriented nosql

Bagi Anda yang akrab dengan JSON, Anda tentu melihat kemiripan struktur yang digunakan jenis NoSQL tersebut. Struktur itu berbeda dengan tabel relasional ala SQL yang mempunyai baris dan kolom.

Dengan pendekatan ini, Anda tak perlu tahu kolom-kolomnya terlebih dahulu seperti di SQL. Sangat fleksibel, kan? Tak heran, jenis database document-oriented ini kebanyakan digunakan untuk CMS, platform blogging, analisis real-time, dan aplikasi e-commerce.

Beberapa database document-oriented yang populer adalah Amazon SimpleDBCouchDB, dan MongoDB.

4. Graph-based

Graph-based adalah jenis database NoSQL yang berfokus untuk menyimpan hubungan antar entitas. Entitas tersebut disimpan dalam bentuk node, sedangkan hubungan antar entitasnya disebut sebagai edge.

Berikut contoh NoSQL graph-based:

Sumber gambar: guru99

Graph-based ini sangat cocok dipakai jika Anda ingin menemukan pola yang saling berhubungan dalam data. Maka dari itu, jenis database ini umumnya digunakan untuk media sosial, mendeteksi penipuan, dan data spasial.

Beberapa database graph-based yang populer adalah Neo4JJanusGraph, dan InfiniteGraph.


Perbedaan SQL dan NoSQL

Berikut perbedaan antara SQL dan NoSQL yang bisa menjadi pertimbangan Anda sebelum menggunakannya:


PerbedaanSQLNoSQL
TipeRDBMS atau Relational DatabasesNon-relational database atau distributed database
FungsiUntuk mengolah data pada Online Analytical Processing (OLAP)Untuk mengolah data terkait aplikasi dan website modern yang semakin kompleks
Bahasa queryStructured query language (SQL)Tidak membutuhkan bahasa query yang terlalu kompleks
Struktur databaseBerbentuk tabelBisa berbentuk key-value, column, dokumen, dan graph
SchemaPerlu ditentukan dahuluSkema dinamis untuk data tak terstruktur
Jenis skalabilitasSkala vertikal atau scale up dengan membeli hardware baru.Skala horizontal atau scale out dengan menambah server.
Contoh databaseMySQL, Postgres, MS-SQLRedis, Neo4j, MongoDB

Kesimpulan

Walaupun sekilas mirip, NoSQL berbeda dengan SQL dalam hal pengelolaan data. NoSQL adalah manajemen database non-relasional yang memiliki empat jenis. Mulai key-value, column-based, document-oriented dan graph-based.

Pendekatan ini membuat NoSQL memiliki berbagai kelebihan yaitu:

  • lebih mudah untuk scale out tanpa harus membeli server mahal
  • mampu menyimpan banyak data dengan performa baik
  • fleksibel untuk berbagai kebutuhan dan data
  • lebih ramah untuk developer dalam pengembangannya.

Pengenalan Database No Sql

Apa itu No Sql?        NoSQL adalah singkatan dari Not Only SQL.   Database management system   ini bersifat tanpa relasi ( non-relational) ...