Sudah kurang lebih 20 tahun bahasa SQL digunakan oleh para developer. Dengan adanya teknologi Internet semua hal dapat berubah. Transaksi data setiap hari semakin bertambah dan para developer merasakan adanya kekurangan pada SQL. Oleh karena itu, sekaran kita perlu mengenal apa itu NoSQL.

Salah satunya adalah saat data diminta SQL memerlukan memori yang besar, karena harus melihat pada tabel-tabel yang ada pada database kita. Jika database kita kecil hal tersebut tidak masalah, namun jika database kita besar akan mengurangi kinerja. Dari latar belakang kondisi tersebut banyak developer mulai mencari cara untuk mengatasinya.

Ditahun 2000 muncul sebuah gerakan yang disebut “NoSQL Movement” yang diprakasai oleh Johan Oskarsson. Pergerakkan ini menghasilkan sebuah mekanisme dimana untuk mengambil data tidak lagi menggunakan SQL.

NoSQL

NoSQL (Not-Only SQL) dibuat dengan tujuan khusus untuk model data spesifik dan memiliki skema fleksibel untuk membuat aplikasi modern. Database NoSQL dikenal secara luas karena kemudahan pengembangan, fungsionalitas, dan kinerja dalam berbagai skala. Database NoSQL menggunakan berbagai model data, termasuk dokumen, grafik, nilai kunci, dalam memori, dan pencarian.

Bagaimana Cara Kerjanya?

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.

Dalam database relasional, catatan buku sering diselubungkan (atau “dinormalkan”) dan disimpan dalam tabel terpisah, dan hubungan ditetapkan dengan pembatasan kunci primary dan foreign. Dalam contoh ini, tabel Buku memiliki kolom untuk ISBN, Judul Buku, dan Nomor Edisi, tabel Penulis memiliki kolom untuk IDPenulis dan Nama Penulis, dan tabel Penulis-ISBN memiliki kolom IDPenulis dan ISBN. Model relasional didesain untuk mengaktifkan database untuk menegakkan integritas referensial antara tabel di dalam database, dinormalkan untuk mengurangi redundansi, dan umumnya dioptimalkan untuk penyimpanan.

Baca Juga:  Microsoft Membawa SQL Server Untuk Linux

Dalam database NoSQL, catatan buku biasanya disimpan sebagai dokumen JSON. Untuk setiap buku, item, ISBN, Judul Buku, Nomor Edisi, Nama Penulis, dan IDPenulis disimpan sebagai atribut dalam dokumen tunggal. Dalam model ini, data dioptimalkan untuk pengembangan intuitif dan skalabilitas horizontal.

Model Database

Karena penyimpanan data dalam NoSQL tidak memerlukan skema tabel yang tetap seperti pada relational database. NoSQL memiliki beberapa jenis/model database, diantaranya:

Document

Mendefenisikan database sebagai dokumen artinya penyimpanan data dan proses manipulasinya dalam bentuk objek dokument. Contoh objek dokumen yang sering diterapkan dalam pemrograman adalah format Json.

Konsep dari Json merupakan konsep data yang efesien dalam pembangunan aplikasi karena Json memiliki sifat yang fleksible, semi struktur dan hirarki. Sehingga memungkinkan program akan lebih mudah dikembangkan karena documen akan menyusaikan penyimpanan data berdasarkan kebutuhan dari aplikasi.

Key-Value

Mendefinisikan database dengan key-value adalah penyimpanan data dengan dengan metode key-value (nilai-kunci) sebagai tempat akses data-data. Contoh database yang manganut konsep key-value adalah Amazon dynamoDB.

Graph

Database jenis grafik menggunakan node sebagai entitas data dan edge sebagai hubungan antar entitas. Setiap edge memiliki node awalan dan node akhiran. Edge juga menggambarkan hubungan antara parent-child, kepemilikan, tindakan dan lain sebagainya.

Tidak ada batasan jumlah suatu node untuk terhubung dengan node lainnya. Tujuan dari database jenis grapik ini adalah jejaring media sosial, grafik pengetahuan dan mesin rekomendasi.

In-Memory

Database model ini bekerja dengan menyimpan data pada memori utama. Dengan penyimpanan data didalam RAM maka aksesnya akan sangat cepat sekali. Tidak ada perangkat disk manapun yang mampu menyaingi kecepatan dari akses langsung ke memori utama (RAM) sekali pun itu SSD (Solid State Disk).

Baca Juga:  Mengembalikan Data yang Terhapus di SQL Server

Jika demikian bagaimana jika perangkat (server) mati tentunya seluruh data akan hilang. Akan tetapi cara kerja database jenis ini tidak seperti itu sepenuhnya, karna database in-memory dapat disimpan dalam sebuah disk penyimpanan layaknya MySQL atau Postgres. Cara kerja penyimpanan datanya kedalam sebuah disk yaitu dengan cara pengambilan log dan snapshot. Anda dapat perhatikan gambar dibawah ini untuk menjelaskan cara kerjanya.

Search-Engine

Bagi anda yang senang berselancar didunia maya tentunya pernah memakai Google untuk mencari suatu informasi yang berupa konten data baik itu berupa text, gambar, vidio dan lain-lain.

Dalam hal ini search-engine database digunakan pada saat proses pencarian karena penciptaan dari konsep database search-engine didedikasikan untuk mesin pencari. Cara kerja dari search-engine database digunakan untuk mencari data yang sangat panjang, besar dan tidak terstruktur yakni dengan menggunakan index sebagai sumber informasi untuk pengoptimalan pencarian.

Dalam model database Document. MongoDB mendukung konsep pemodelan database document dengan menggunakan format Json sebagai penulisan datanya. Itulah sekilas pengenalan NoSQL untuk membantu Anda memahami lebih baik database NoSQL.