Kali ini kita akan sedikit membahas tentang MongoDB data modeling, perbedaannya yang mencolok dengan RDBMS pada umumnya. serta perbedaan struktur datanya.
Data pada mongodb memiliki flexibilitas scheme yang berbeda dengan RDBMS dimana scheme.document pada collection yang sama tidak membutuhkan sama sekali field struktur dan dalam satu field pada collection yang sama bisa terdapat beberapa type data yang berbeda.
BEBERAPA PERTIMBANGAN KETIKA MERANCANG SCHEME PADA MONGODB
Contoh :
Kita membutuhkan database desain untuk blog kita ini, dan lihat perbedaan antara desain schema database RDBMS dan Mongodb dengan requirement berikut :
pada RDBMS kita dapat membuat desain schemenya sebagai berikut

Tapi dengan mongodb kita dapat membuat desain schemenya hanya dalam satu collection lebih simple seperti ini :
Semangat...
Data pada mongodb memiliki flexibilitas scheme yang berbeda dengan RDBMS dimana scheme.document pada collection yang sama tidak membutuhkan sama sekali field struktur dan dalam satu field pada collection yang sama bisa terdapat beberapa type data yang berbeda.
BEBERAPA PERTIMBANGAN KETIKA MERANCANG SCHEME PADA MONGODB
- Desain Scheme yang diinginkan berdasarkan kebutuhan
- Kombinasikan Object kedalam satu document jika anda ingin menggunakannya secara bersamaan, atau anda dapat memisahkannya jika tidak terlalu mendesak (tapi pastikan anda tidak membutuhkan join)
- Duplikat data (tapi batasi dalam taraf wajar) karena ukuran space yang kecil akan mempercepat proses pengelolaan data
- Lakukan Join hanya pada proses penulisan data, bukan saat membaca data.
- Optimalkan skema untuk collection yang paling sering digunakan.
Contoh :
Kita membutuhkan database desain untuk blog kita ini, dan lihat perbedaan antara desain schema database RDBMS dan Mongodb dengan requirement berikut :
- Setiap Post memiliki ID title, description dan url yang unik.
- Setiap Post dapat memiliki satu atau lebih tags.
- Setiap Post memiliki nama dari penulisnya dan total like pada artikelnya.
- Setiap Post memiliki komentar dengan menuliskan nama, komentar, data-time dan like dari mereka.
- Setiap Post boleh tidak memiliki komentar satupun.
pada RDBMS kita dapat membuat desain schemenya sebagai berikut
Tapi dengan mongodb kita dapat membuat desain schemenya hanya dalam satu collection lebih simple seperti ini :
{Menarik bukan? ayo tunggu apalagi explorasi mongodb lebih lanjut.
_id: POST_ID
title: TITLE_OF_POST,
description: POST_DESCRIPTION,
by: POST_BY,
url: URL_OF_POST,
tags: [TAG1, TAG2, TAG3],
likes: TOTAL_LIKES,
comments: [
{
user:'COMMENT_BY',
message: TEXT,
dateCreated: DATE_TIME,
like: LIKES
},
{
user:'COMMENT_BY',
message: TEXT,
dateCreated: DATE_TIME,
like: LIKES
}
]
}
Semangat...
No comments:
Post a Comment