Apa Itu Document Store di NoSQL?
Apa Itu Document Store?
Document store atau bisa juga disebut document database adalah jenis database non-relational yang diarancang untuk menyimpan dan melakukan query data sebagai dokumen seperti JSON, XML, dan lain-lain.
Database dokumen (document store) ini memudahkan pengembang untuk menyimpan dan membuat query data dalam database dengan menggunakan format model dokumen yang sama yang mereka gunakan dalam kode aplikasi mereka. Sifat dokumen dan database dokumen yang fleksibel, semi terstruktur, dan hierarkis memungkinkannya berkembang sesuai dengan kebutuhan aplikasi.
Model dokumen berfungsi dengan baik pada kasus penggunaan seperti katalog, profil pengguna, dan sistem manajemen konten dimana setiap dokumen unik dan berkembang dari waktu ke waktu. Database dokumen memungkinkan pengindeksan yang fleksibel, ad hoc queries yang kuat, dan analisis dari kumpulan dokumen.
195410194-MARIO-IF 4-STMIK AKAKOM Yogyakarta
Contoh Penggunaan Document Store
Kasus : Sebuah museum akan menampilkan detail dari koleksinya secara digital menggunakan layar di dekat koleksinya atau pengunjung bisa men-scan QR Code dari masing-masing koleksi untuk melihat detail lengkapnya pada website museum
Dari kasus tersebut sudah jelas bahwa dibutuhkan data dari koleksi-koleksi pada museum itu. Jadi, kita bisa menyimpan data-data tersebut pada database sebagai dokumen atau JSON.
Kenapa tidak menggunakan database yang relational saja?
Jika disimpan pada database relational, maka setiap koleksi akan disimpan pada satu kolom. Dan karena database relational, setiap kolom harus sama bentuknya. Tapi, setiap koleksi tidak tentu apakah semua detilnya memiliki bentuk yang sama, mungkin beberapa koleksi tidak memiliki detil tertentu. Jadi, untuk menghemat penggunaan database dari skema yang tidak terisi maka menggunakan database dokumen akan lebih efisien.
Implementasi menggunakan MongoDB
Disini saya menggunakan docker container untuk menjalankan mongodb. Berikut adalah cara menjalankan docker container :
- Pastikan komputer kalian memiliki docker. Docker bisa diinstalll di Windows, Mac, maupun Linux, untuk installasinya bisa mengunjungi situs resminya Docker.
- Setelah memastikan komputer terinstall docker, lalu mulai untuk proses menjalankan container. Tapi sebelum itu pastikan apakah kalian sudah menginstall mongodb di komputer. Untuk installasinya bisa dilihat di situs resminya MongoDB.
- Setelah MongoDB terinstall di komputer, selanjutnya adalah mendownload docker image dari mongodb dengan perintah
docker pull mongo
- Setelah download selesai, pastikan apakah image berhasil didownload dengan mengeceknya menggunakan perintah
docker images
- Stelah memastikan image berhasil didownload, selanjutnya menjalankan docker container dengan perintah
docker run --name=mongo-db -d mongo
- “mongo-db” adalah nama container dan “mongo” adalah nama docker image. Pastikan apakah docker container berhasil berjalan dengan perintah
docker ps
- Setelah memastikan docker container berjalan dengan baik, lalu selanjutnya adalah menjalankan mongodb shell didalam docker container dengan perintah
docker exec -it mongo-db mongo
- Disini berarti kita sudah masuk ke mongodb shell dan di langkah selanjutnya akan berhubungan dengan mongodb shell.
- Gunakan database dengan nama “museumDB”. Gunakan perintah berikut untuk membuat db sekaligus menggunakan db di framework.
use museumDB
- Lalu untuk memasukkan sebuah data kedalam collection, berikut adalah contohnya menggunakan nama collection “koleksi”
db.koleksi.insertOne( { nama: "Patung Langka", berat: "50kg", kelangkaan: 8.8 } )
- Lalu untuk melihat data pada collection “koleksi” bisa menggunakan perintah berikut
db.koleksi.find()
- Atau jika nama collection terdapat spasi, diawali nomor, atau sama dengan nama fungsi built-in bisa menggunakan perintah berikut
db.getCollection("3 test").find()
db.getCollection("3-test").find()
db.getCollection("stats").find()
- Kita juga bisa menemukan data dalam koleksi dengan atribut tertentu seperti berikut
db.koleksi.find({nama:"Patung Langka"})
Untuk lebih lengkapnya tentang MongoDB Shell bisa mengunjungi manual di situs resminya.
Penutup
Jadi, MongoDB menyimpan data sebagai dokumen seperti JSON atau sejenisnya. Dan untuk implementasinya, banyak bentuk implementasi menggunakan MongoDB tapi implementasi yang saya jelaskan diatas hanya sebagai simulasi dimana simulasi menggunakan docker container. Untuk implementasi menggunakan database yang asli caranya bisa mengunjungi manual di situs resminya MongoDB atau bisa klik disini.
Sekian dari saya, bila ada salah kata saya mengucapkan maaf.