Mengenal NoSQL MongoDB


Apa itu NoSQL ?

NoSQL singkatan dari "Not Only SQL" atau bisa juga disebut dengan "Non Relasional Database",. Sedangkan pengertian nya yaitu NoSQL adalah sebuah database yang menyediakan mekanisme untuk penyimpanan dan pengambilan data yang dimodelkan dengan cara selain relasi tabel yang digunakan dalam database relasional.

Di dalam NoSQL itu sendiri biasanya tidak ada penggunaan relasional database tetapi disuatu case bisa aja NoSQL menggunakan relational seperti hal nya RDBMS di mongodb dia menyediakan fitur untuk relational database dengan menggunakan $lookup sangat enak sih ketika kita mendapatkan case menggunakan mongodb memebutuhkan relational.

Sedangkan untuk jenis-jenis NoSQL itu sendiri ada banyak disini saya hanya akan memberitahukan 3 jenis NoSQL yang sudah saya pahami yaitu :

  1. Key value based yaitu jenis nosql yang di simpan dalam bentuk key dan value dalam contohnya yaitu Redis
  2. Document based yaitu jenis nosql yang disimpan bebentuk document-document contoh nya yaitu MongoDB, dan CoucDB
  3. Graph Based yaitu jenis nosql yang di simpan dalam bentuk grafik contohnya yaitu neo4j

Kenapa MongoDB ?

Mongodb sangat populer dalam NoSQL database berjenis document based dan berformat JSON hal ini dikarenakan penggunaan nya mudah dan tidak terlalu rumit dan satu lagi yang penting yaitu open source. Mungkin karena Nodejs juga mengeluarkan MERN (Mongo, Express, React, Nodejs) stack, MEAN (Mongo, Express, Angular, Nodejs) stack dan MEVN (Mongo, Express, Vue, Nodejs) stack.

Mudahnya mongodb yaitu sql syntax nya hampir sama dengan SQL relational biasa ada limit, group, order dan select cuma penulisan nya saja sedikit berbeda, untuk nama database itu disebut collection sedangkan untuk tabel di mongodb di namakan schema sedangkan tipe datanya hampir sama sih ada string,integer,boolean dan lain sebagainya.

Yang menarik di dalam mongodb yaitu di dalam satu schema bisa jadi kolom nya berbeda contoh saya punya schema dengan nama buku data pertama atau document pertama isinya ada _id, dan nama sedangkan data 2 atau document 2 kolomnya ada _id, nama, dan judul nah jika di dalam RDBMS itu tidak mungkin karena di dalam tabel itu sudah pasti fixed contoh tabel buku pasti harus ada _id, nama dan judul tiap datanya, sedangkan di mongodb tiap data atau document bebas mempunyai kolom berapa pun sesuai kebutuhan data yang akan disimpan nya.

Untuk performa sudah pasti sih lumayan agak cepat karena memcahched dan datanya berbentuk document dengan format JSON. Akan tetapi dalam case real jangan lupa tiap kolom di schema jangan lupa di index hehehe karena index itu sangat penting baik itu di dalam RDMS atau NoSQL.

Tools GUI Untuk Mongodb

Mungkin untuk tools-tools membuka aplikasi mongodb ada banyak pilihan akan teteapi disini saya membuat rekomendasi tool-tools GUI untuk mongodb 

  1. NoSQLBooster fitur nya cukup lengkap ada export, import dan GUI nya cukup enak juga fitur unggulan nya yaitu copy paste schema sangat mudah, kekurangan nya yang jelas tidak free hehehe ketika masa trial habis teman-teman tidak akan bisa menggunakan full fitur akan dibatasi.
  2. Studio3t hampir sama dengan NoSQLBooster cuman GUI nya agak lebih modern 
  3. Robo3T nah jika ini sangat cocok untuk pecinta open source cuman fiturnya menurut saya pribadi banyak yang kurang hehehe.
Dari ketiga tools di atas saya menggunakan NoSQLBooster walaupun sudah habis masa trial dan tidak bisa menikmati fullversion nya sudah cukup enak dan mudah bagi saya untuk GUI database mongodb kita.

Mungkin sekian pengenalan mongodb nya jika teman-teman ingin belajar lebih tentang mongodb bisa kunjungi aja situs resminya disini disitu lengkap dari mulai cara install tipe data dan lain sebagainya. Disini saya tidak memeberikan tutorial cara install nya sih disaranakan menurut saya mendingan teman-teman install nya melalui docker, karena lebih mudah dan sekalin teman-teman belajar juga tentand container di dcoker. 

Link install nya ada disini untuk yang manual https://docs.mongodb.com/manual/installation/, semoga bermanfaat dan bisa ditanyakan jika ada yang tidak mengerti dikolom komentar terima kasih.

Posting Komentar

0 Komentar