Skip to main content

NoSQL: Definisi, Kelebihan dan Jenis-jenisnya

Apa itu NoSQL

NoSQL atau Non-SQL adalah sebuah database yang menyimpan data dengan format selain relational table. Walaupun demikian, database NoSQL tetap bisa menyimpan relationship data, akan tetapi data tersebut akan disimpan dengan format yang berbeda. Akronim NoSQL sendiri pertama kali digunakan oleh Carlo Strozzi pada tahun 1998 untuk menamai relational database yang ringan dan tidak menggunakan SQL. Pada tahun 2009, nama NoSQL muncul kembali ketika Eric Evans dan Johan Oskarsson menggambarkan non – relational data sebagai NoSQL. Pada saat ini, NoSQL sudah dikenal untuk mengatasi data – data pada web application yang tidak terstruktur dan membutuhkan waktu proses yang cepat.

Berbeda dari relational database, struktur data yang digunakan pada NoSQL database lebih bersifat fleksibel. Hal tersebut dapat terjadi karena NoSQL database bersifat schema – less atau free – from. Semua data dengan berbagai struktur dapat disimpan pada database jenis ini. Tidak seperti relational database yang harus menggunakan schema tertentu dalam menyimpan data di dalamnya. Selain perbedaan akan schema tersebut, NoSQL database dan relational database juga memiliki perbedaan pada saat melakukan query. Pada relational database, SQL sudah menjadi standar untuk melakukan query. Sedangkan pada NoSQL database, setiap jenisnya dapat memiliki syntax yang berbeda – beda untuk melakukan query.

Kelebihan NoSQL

Secara umum, NoSQL database cocok untuk berbagai aplikasi modern seperti mobile application, web application dan game karena memiliki beberapa kelebihan sebagai berikut :

1. Fleksibilitas

Karena bersifat schema – less, NoSQL database dapat menyimpan semua data dengan berbagai struktur data yang memungkinkan pengembangan aplikasi yang lebih cepat

2. Skalabilitas

NoSQL database umumnya dirancang untuk dikembangkan dengan menggunakan perangkat keras yang terdistribusi guna meningkatakan skala.

3. Performa yang tinggi

NoSQL database dioptimalkan untuk model data dan pola akses tertentu yang memungkinkan kinerja yang lebih tinggi

4. Sangat fungsional

NoSQL database menyediakan API dan tipe data yang fungsional yang dibuat khusus untuk masing – masing model datanya

Jenis-jenis NoSQL

Secara garis besar, NoSQL database dapat dibagi menjadi 4 jenis. Keempat jenis tersebut memiliki kelebihan dan kekurangan masing – masing. Keempat jenis database NoSQL yaitu :

1. Graph database

Gambar Ilustrasi Graph Database

Graph database adalah jenis database yang menyimpan data pada node dan edge. Node biasanya menyimpan sebuah value, sedangkan edge akan menyimpan informasi tentang relationship antar node. Salah satu contoh dari database jenis ini adalah JanusGraph.

2. Wide – column stores

Gambar Ilustrasi Wide – Column Stores

Database jenis ini menyimpan data pada sebuah tabel, baris dan kolom yang dinamis. Database jenis ini cocok untuk menyimpan data dalam jumlah besar dimana pola query yang akan digunakan dapat diprediksi. Database jenis ini biasanya digunakan untuk menyimpan data IoT dan data user profile. Cassandra adalah salah satu contoh dari database jenis ini.

3. Key – value database

Gambar Ilustrasi Key – Value Database

Key – value database adalah database dengan bentuk yang lebih sederhana, dimana setiap item terdiri dari key dan value. Database jenis ini cocok untuk menyimpan data dalam jumlah besar yang tidak membutuhkan query yang kompleks untuk menarik data. Salah satu contok key – value database adalah Redis.

4. Document database

Gambar Ilustrasi Document Database

Document database adalah tipe database yang menyimpan data dalam bentuk dokumen yang memiliki bentuk seperti objek JSON. Pada dokumen tersebut, berisi pasangan dari field dan value. Value yang disimpan juga dapat menggunakan berbagai tipe data, seperti string, number, boolean, array dan object. Salah satu contoh dari document database adalah MongoDB.

--o0o--

Artikel terkait:

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan d...