MongoDB adalah salah satu jenis database NoSQL yang berbasis dokumen dengan fomat JSON.
Pada database SQL, data disimpan dalam bentuk tabel. Sedangkan pada MongoDB data disimpan dalam bentuk dokumen dengan format JSON.
Database
Database adalah wadah fisik untuk Collection. Setiap database akan menetapkan sendiri file pada sistem file. Server MongoDB tunggal biasanya memiliki beberapa database.
Collection
Collection adalah kelompok MongoDB dokumen. Ini adalah setara dengan meja RDBMS. Koleksi yang ada dalam sebuah database tunggal. Koleksi tidak menegakkan skema. Dokumen-dokumen dalam koleksi dapat memiliki bidang yang berbeda. Biasanya, semua dokumen dalam koleksi yang hampir sama atau terkait tujuan.
Dokumen
Dokumen adalah seperangkat pasangan key-value. Dokumen memiliki skema yangdinamis. Skema dinamis berarti bahwa dokumen koleksi yang sama tidak perlu memiliki serangkaian bidang atau struktur yang sama, dan bidang-bidang yang umumdalam sebuah koleksi dokumen mungkin memegang berbagai jenis data.Di bawah ini diberikan tabel menunjukkan hubungan istilah RDBMS dengan MongoDB
RDBMS | MongoDB |
---|---|
Database | Database |
Table | Collection |
Tuple/Row | Document |
column | Field |
Table Join | Embedded Documents |
Primary Key | Primary Key (Default key _id provided by mongodb itself) |
Database Server and Client | |
Mysqld/Oracle | mongod |
mysql/sqlplus | mongo |
Sampel dokumen
Di bawah ini diberikan contoh menunjukkan struktur dokumen situs blog yang hanya koma dipisahkan pasangan nilai kunci.
{ _id: ObjectId(7df78ad8902c) title: 'MongoDB Overview',
description: 'MongoDB is no sql database',
by: 'tutorials point',
url: 'http://www.jendelakonsultasi.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100,
comments: [
{
user:'user1',
message: 'My first comment',
dateCreated: new Date(2011,1,20,2,15),
like: 0
},
{
user:'user2',
message: 'My second comments',
dateCreated: new Date(2011,1,25,7,45),
like: 5
}
]
}
_id adalah nomor heksadesimal 12 byte yang menjamin keunikan dari setiap dokumen. Anda dapat memberikan _id saat memasukkan dokumen. Jika Anda tidak memberikan maka MongoDB memberikan id yang unik untuk setiap dokumen. Ini 12 byte pertama 4 byte untuk timestamp saat ini, berikutnya 3 byte untuk mesin id, berikutnya 2 byte untuk id proses mongodb server dan sisa 3 byte adalah nilai inkremental sederhana.
Database relasional memiliki desain skema khas yang menunjukkan jumlah table dan hubungan antara tabel ini. Sementara di MongoDB tidak ada konsep hubungan
Keuntungan dari MongoDB dari pada RDBMS
- Skema kurang: MongoDB adalah database dokumen yang memegang satu koleksi dokumen yang berbeda. Beberapa bidang, konten dan ukuran dokumen dapat berbeda dari satu dokumen lain.
- Struktur objek tunggal jelas
- Bergabung tidak kompleks
- Dalam query-kemampuan. MongoDB mendukung query dinamis pada dokumen-dokumen yang menggunakan bahasa dokumen berbasis permintaan yang hampir kuat seperti SQL
- Tuning
- Mudah skala-Out: MongoDB mudah untuk skala
- Konversi / pemetaan aplikasi benda untuk objek database tidak diperlukan
- Menggunakan memori internal untuk menyimpan set kerja (windowed), memungkinkan akses cepat data
Mengapa harus menggunakan MongoDB
- Penyimpanan berorientasi dokumen: Data disimpan dalam bentuk JSON gaya dokumen
- Indeks pada atribut apapun
- Replikasi & ketersediaan tinggi
- Auto-Sharding
- Kaya query
- Update cepat di-tempat
- Dukungan profesional oleh MongoDB
Dinana harus menggunakan MongoDB?
- Big Data
- Manajemen konten dan pengiriman
- Mobile dan infrastruktur sosial
- Manajemen Data pengguna
- Pusat data