Pengenalan MongoDB

MongoDB adalah noSQL database. Berbeda dengan relational database (RDBMS) seperti mySQL atau MSSQL Server.

MongoDB menyimpan data dalam Collections, yang dapat di analogikan seperti table pada RDBMS. Setiap collection memiliki Documents (rows pada RDBMS).

MongoDB menyimpan data dalam documents dengan format yang mirip dengan JSON, yaitu BSON. Perbedaanya adalah BSON adalah typed, yaitu setiap field harus memiliki tipe data.

Fitur dari MongoDB adalah

  • Scalable: mudah mendistribusikan data ke berbagai server.
  • Flexible: Document tidak memiliki skema, jadi setiap document bisa berbeda isi fieldnya.
  • Performa: MongoDB memiliki performa yang baik sebagai noSQL database server.
  • Free Open Source.

Contoh BSON Document

{
  "_id": ObjectID('1290921035'),
  "title": "Tutorial MongoDB",
  "author": "SkillPlus.web.id",
  "length": 2400,
  "published": true,
  "tags": ["mongodb", "tutorial", "programming"],
  "comments": [
    ("author": "Jaka", "text": "bla..bla..bla"},
    ("author": "Caplin", "text": "bla..bla..bla"},
    ("author": "Luhud", "text": "bla..bla..bla"}
  ]
}

Dengan melihat contoh BSON Document diatas, terlihat jelas perbedaanya dengan RDBMS. MongoDB bisa memiliki field yang berisi array dan embedded document (lihat field comments), sedangkan RDBMS tidak bisa.

Jadi memang pendekatan noSQL dan RDBMS memang berbeda pendekatan dan teknologi.

NOTE: tujuan dari modul ini bukan menunjukan sistem database mana yang lebih baik. Setiap pendektan memiliki keunggulan dan kelemahan masing-masing. Tergantung tipe project yang akan dikembangkan.

Hal lainya perlu diperhatikan adalah ukuran BSON Document saat ini adalah 16 MB per document dan setiap document memiliki _id yang berguna sebagai primary key yang digenerat otomatis oleh MongoDB engine.

Nah, semoga intro MongoDB ini cukup jelas. Jika Anda ingin mempelajari lebih dalam silakan kunjungi web official mongoDB.

Tutorial ini lebih ke bagaimana membuat API untuk mengakses data yang disimpan didalam MongoDB.

Sharing is caring:

Leave a Comment