Pendahuluan MongoDB – The NoSQL Document Database

Saat data semakin besar, untuk mempertahankan performanya database relasional haus akan sumber daya (resources). Hal ini berakibat langsung ke membengkaknya cost/biaya operasional & infrastruktur yang dibutuhkan. Sehingga biasanya hanya perusahaan besar yang mampu untuk mempertahankan penggunaan database relasional saat datanya besar. Lebih jauh lagi, saat volume data membesar, format (struktur) data yang disimpan-pun semakin beragam (vary). Karena database relasional memiliki schema/struktur yang tetap (fixed), ia tidak lagi menjadi solusi yang feasible saat hal ini terjadi (minimal sangat menyulitkan).  Teknologi NoSQL seperti MongoDB hadir untuk mengatasi permasalahan di Data dengan Volume (besar data), Velocity (laju pertumbuhan data), & variety (Format data) yang besar dan beragam. Terdapat banyak pilihan teknologi NoSQL yang dapat digunakan (read here), namun kali ini akan dibahas dasar penggunaan NoSQL MongoDB. MongoDB memiliki beberapa kelebihan khusus dibandingkan NoSQL lainnya. Beberapa diantaranya adalah Schemaless, Dynamic Query, “Auto Sharding”, Spatial support, Distributed, Performa yang baik, gratis-open source (AGPL 3), OOP friendly, dan masih banyak lagi.

Di catatan kecil kali ini saya akan membahas tentang pengenalan MongoDB untuk pemula. Saya awali dengan pendahuluan MongoDB,  instalasi MongoDB & utility-nya, lalu sebuah contoh kasus yang akan digunakan sepanjang post ini, kemudian Query, indexing, dan juga tidak ketinggalan Driver MongoDB.

Continue reading

NoSQL VS Relational (SQL) database … ??? …

Akhir-akhir ini istilah NoSQL (e.g. MongoDB) semakin jamak ditelinga, terutama pada pembahasan mengenai data yang besar (Big Data). Pertanyaan/diskusi yang paling sering muncul saat pertama kali mempelajari topik ini adalah:

  • Apakah NoSQL adalah pengganti (lebih baik dari) database relational (e.g. MySQL) ?
  • Apakah database relasional benar² tidak bisa digunakan saat ukuran datanya besar ?
  • lalu apa kelebihan & kekurangan masing² ? ….

Artikel ini berusaha untuk menjawab pertanyaan² ini.

Continue reading