4

MongoDB dan Trend Database NoSQL

Dalam tahap pembangunan sebuah sistem atau aplikasi, database atau basis data merupakan salah satu pondasi penting agar sistem atau aplikasi yang kita buat benar-benar bermanfaat karena mempunyai banyak peranan seperti salah satunya adalah pengolahan data. Sebagian besar pembaca mungkin sudah tidak asing lagi dengan beberapa perangkat lunak untuk manajemen basis data SQL seperti  MySQL, PostgreSQL dan Oracle.

nosql

Namun pada tulisan kali ini, saya ingin sedikit membahas tentang penggunaan manajemen basis data NoSQL. Terus apa bedanya dengan basis data SQL? Untuk menjawab ini, ada baiknya kita pahami dari dua kata kunci di atas SQL dan NoSQL. Jika pengertian dari SQL sendiri adalah  Structured Query Language, yang artinya sebuah bahasa standar yang digunakan untuk manajemen basis data relasional, maka NoSQL adalah sebaliknya, adalah konsep manajemen basis data yang non relasional.

Meskipun sampai saat ini penggunaan SQL masih sangat besar dan lebih banyak dari NoSQL,  Tetapi trend saat ini arah penggunaan SQL sepertinya mulai tergerus dengan kehadiran NoSQL. Salah satu alasannya karena penggunaan yang mudah dan juga performa yang lebih baik. Salah satu buktinya, untuk basis data skala kecil, MongoDB mulai bersaing menggantikan MySQL. Untuk penggunaan basis data dalam skala besar, Hadoop mulai bersaing menggantikan Oracle dan SQL Server. 

Metode-metode yang digunakan NoSQL untuk menstored Database:

  • Key Value Stores, Key Values ini berfungsi untuk menyimpan key unique, untuk menandakan index. Kerennya, penggunaanya pun boleh terstruktur atau tidak terstruktur.
  • Document Oriented , NoSQL menggunakan Document Oriented sebagai struktur penyimpanannya. Efeknya, jika kita ingin menambahkan field dengan panjang value akan jauh lebih mudah. Selain itu, struktur table pun flexible.
  • Table Oriented, NoSQL menggunakan Tabel sebagai cara mereka untuk men-stored data.
  • Graph database, cara terakhir menggunakan konsep graph sebagai cara melakukan stored di dalam database NoSQL.

MongoDB menjadi salah satu perangkat lunak untuk manajemen basis data yang tidak relasional. MongoDB menawarkan performa yang lebih cepat dibanding penggunaan metode basis data SQL. MongoDB juga membuat integrasi data dalam beberapa jenis aplikasi terasa lebih mudah dan lebih cepat.

Dalam konsep MongoDB tidak ada istilah tabel, kolom ataupun baris. Istilah yang digunakan dalam MongoDB biasanya collection dan document. Collection bisa diibaratkan tabel dan document bisa diibaratkan dengan record. Konsep key value Stores yang ada pada MongoDB membuat setiap document otomatis memiliki index id yang unik. Hal ini sangat berpengaruh dalam mempercepat proses pencarian data secara global.

Kelebihan MongoDB

  1. Performa  MongoDB lebih cepat dibandingkan MySQL,  ini dikarenakan MongoDB memcached dan format dokumennya yang berbentuk seperti JSON.
  2. Replikasi, berfungsi untuk melakukan backup data secara realtime.
  3. Auto-sharding, adalah fitur untuk memecah database yang besar menjadi beberapa bagian demi optimalisasi performa database.
  4. MongoDB juga sudah mendukung C, C++, C#, Erlang, Haskell, Java, JavaScript, .NET(C# F#, PowerShell), Lips, Perl, PHP, Python, Ruby dan Scala
  5. Cross-platform, artinya dapat digunakan di Windows, Linux, OS X dan Solaris.
  6. Proses CRUD (Create, Read, Update, Delete) terasa sangat ringan dan cepat.
  7. Map/Reduce, akan sangat membantu ketika kita melakukan operasi agregasi. Dimana semua entry datangnya dari collection dan outputnya pun akan menjadi collection juga. Kalau di MySQL biasanya kita menggunakan query GROUP BY
  8. GridFS, spesifikasi yang digunakan untuk menyimpan data yang sangat besar

Dibalik kelebihannya, MongoDB  tidak cocok jika digunakan pada sistem yang berkaitan dengan transaksional data dan sistem yang membutuhkan relasional data seperti sistem penjualan, dan sejenisnya. Ini semua karena MongoDB tidak mendukung transaction SQL.

Meskipun trend penggunaan database NoSql dewasa ini semakin banyak dan terus berkembang, itu tidak mengartikan bahwa keberadaan SQL akan sepenuhnya digantikan dengan NoSQL, karena tentunya dari kedua manajemen database itu mempunyai kelebihan dan kekurangan masing-masing. Serta mempunyai fungsi dan tujuan yang berbeda dalam pengolahan data. Tapi, melihat perkembangan NoSQL seperti sekarang, tidak menutup kemungkinan jika tujuan pengolahan data yang tidak bersifat relasional dan  tadinya menggunakan SQL akan dialihkan jadi menggunakan NoSQL. Apa lagi tujuannya? selain kecepatan dan fleksibilitas.

 



Rekomendasikan Artikel Ini ?

Gungun Septian

Bukan Ustad, bukan Politisi, bukan Artis. Cuma Programmer yang hobi nulis.

4 Comments

    • Hello Qassim, sorry for the very late respond. Actually I am not good in oracle database

Leave a Reply

Your email address will not be published. Required fields are marked *