Skip to main content

Sekilas MongoDB


MongoDB adalah database dokumen opensoure dan memimpin database NoSQL. MongoDB ditulis dalam bahasa C ++. MongoDB dapat membuat dan mendeploy database yang sangat skalabel dan berorientasi kinerja. Sebelum mempelajari lebih jauh tentang MongoDb setidaknya sudah memahami cara menggunakan code editor seperti atom, visualstudio code, sublime dan sebagainya. Selain itu juga harus memahami konsep dasar dari RDBMS.

MongoDB bersifat cross-platform, database berorientasi dokumen yang menyediakan kinerja tinggi, ketersediaan tinggi, dan skalabilitas yang mudah. MongoDB bekerja pada konsep koleksi dan dokumen.


Database

Database adalah wadah fisik untuk koleksi (collections) dalam mysql kita kenal dengan table. Setiap database mendapatkan kumpulan file sendiri di sistem file. Satu server MongoDB biasanya memiliki banyak database.

Koleksi
Koleksi adalah sekelompok dokumen MongoDB. Ini mirip dengan tabel RDBMS pada mysql. Koleksi ada dalam satu database. Koleksi tidak menegakkan skema. Dokumen dalam koleksi dapat memiliki bidang berbeda. Biasanya, semua dokumen dalam koleksi memiliki tujuan yang serupa atau terkait.


Dokumen

Dokumen adalah sekumpulan pasangan nilai kunci. Dokumen memiliki skema yang dinamis. Skema dinamis berarti bahwa dokumen dalam koleksi yang sama tidak perlu memiliki kumpulan bidang atau struktur yang sama, dan bidang umum dalam dokumen koleksi dapat menyimpan berbagai jenis data. Nah jika pada mysql pada suatu tabel harus sesuai dengan field yang sudah kita atur sebelumnya atau sesuai tipe datanya, pada mongodb dokumen kita bisa bebas. Misalkan pada document siswa pertama kita input nim, nama, alamat. Selanjutnya kita bebas menginput kembali dengan nik, nama, jenis_kelamin dan umur.

Perbedaan RDBMS dan MongoDB

RDBMSMongoDB
DatabaseDatabase
TableCollection
Tuple/RowDocument
columnField
Table JoinEmbedded Documents
Primary KeyPrimary Key (Default key _id provided by mongodb itself)
Database Server and Client
Mysqld/Oraclemongod
mysql/sqlplusmongo
Contoh Dokumen
Contoh berikut menunjukkan struktur dokumen dari situs blog, yang hanya merupakan pasangan nilai kunci yang dipisahkan koma.


_id adalah angka heksadesimal 12 bit yang menjamin keunikan setiap dokumen. Anda dapat memberikan _id saat memasukkan dokumen. Jika Anda tidak memberikannya, MongoDB akan memberikan id unik secara otomatis untuk setiap dokumen. Ini 12 byte pertama 4 byte untuk timestamp saat ini, selanjutnya 3 byte untuk id mesin, 2 byte berikutnya untuk id proses server MongoDB dan sisa 3 byte merupakan nilai tambahan yang sederhana.

Kelebihan MongoDB dibandingkan dengan RDBMS

Setiap database relasional memiliki desain skema khas yang menunjukkan jumlah tabel dan hubungan antara tabel-tabel ini. Sementara di MongoDB, tidak ada konsep relasi.

  • Skema yang lebih ringkas - MongoDB adalah database dokumen di mana satu koleksi menyimpan dokumen berbeda. Jumlah bidang, konten, dan ukuran dokumen dapat berbeda dari satu dokumen ke dokumen lainnya.
  • Struktur satu objek jelas.
  • Tidak ada gabungan yang rumit.
  • Kemampuan kueri mendalam. MongoDB mendukung kueri dinamis pada dokumen menggunakan bahasa permintaan berbasis dokumen yang hampir sekuat SQL.
  • Tuning (sejumlah aktifitas yang dilakukan untuk memperbaiki atau meningkatkan kinerja atau performance sebuah database
  • Scale Out merupakan kemampuan sebuah sistem untuk ditambah (misal dari satu menjadi tiga unit node/mesin) agar beban kerja pemrosesannya dapat dibagi rata dan lebih optimal. - MongoDB mudah diukur.
  • Konversi / pemetaan objek aplikasi ke objek database tidak diperlukan.
  • Menggunakan memori internal untuk menyimpan set kerja (berjendela), memungkinkan akses data yang lebih cepat
Mengapa menggunakan MongoDB?

  • Penyimpanan Berorientasi Dokumen - Data disimpan dalam bentuk dokumen gaya JSON.
  • Indeks pada atribut apa pun
  • Replikasi dan ketersediaan tinggi
  • Sharding otomatis
  • Kueri kaya
  • Pembaruan cepat di tempat
  • Dukungan profesional oleh MongoDB
Di mana Menggunakan MongoDB?
  • Big Data
  • Content Management and Delivery
  • Mobile and Social Infrastructure
  • User Data Management
  • Data Hub
Note : Diambil dari berbagai sumber

Comments

Popular posts from this blog

CRUD dengan NodeJs dan MongoDb Bagian 2

Setelah kita membuat aplikasi kasirapp pada part 1, kita akan melanjutkan pembuatan CRUD nodejs mongodb . Pada kesempatan kali ini kita membutuhkan editor Atom yang sudah kita install sebelumnya. Ikuti langkah berikut ini : Langkah 1 : Buka kembali terminal anda (Ctrl + Alt + T) lalu aktifkan server mongodb dengan mengetik "service mongodb start" , maka mongodb anda sudah berjalan. Jika anda menemukan error "Failed to start mongodb.service: Unit mongodb.service is masked." maka ketikan terlebih dahulu " sudo systemctl unmask mongodb" untuk menghapus unmask, lalu ketik kembali "service mongodb start". Langkah 2  Buka aplikasi editor atom anda, lalu tambahkan project kasirapp pada atom anda. Pada atom editor pilih file -> add project folder -> arahkan pada folder Documents -> kasirapp, maka project kasirapp sudah ada pada atom anda. Sekarang anda bisa melihat struktur project kasirapp pada atom anda. Langkah ...

CRUD Node Js MongoDb dengan Bootstrap studi kasus data mahasiswa Part 1

Pada tutorial sebelumnya kita sudah membuat CRUD juga, namun belum menggunakan markup language yaitu html dan css yang biasa kita gunakan. Nah pada kesempatan kali ini saya akan membuatnya dengan Bootstrap Framework agar lebih mudah dan cepat. Tutorial ini lumayan panjang karena sangat komplit dari installasi packages yang dibutuhkan, membuat database mongodb beserta collectionnya, templating dan konfigurasi bootstrap tentunya. Pada tutorial kali ini kita akan membuat langkah-langkah umum yaitu : Install Express.js untuk kerangka aplikasinya beserta packages lain seperti body parser, cookie parser, ejs, path dan sebagainya. Membuat database kampus dengan collection mahasiswa. Nah yang akan di CRUD kan adalah data mahasiswa. Membuat konfigurasi routes dan view  Konfigurasi dengan bootstrap tentunya Baiklah itu adalah 4 langkah umum yang akan kita buat. Sekarang kita akan memulai langkah pertama : Langkah 1 : Arahkan folder ke Documents pada ubuntu anda dengan men...

CRUD Node Js MongoDb dengan Bootstrap studi kasus data mahasiswa Part 3

Pada tutorial sebelumnya kita sudah membuat database mongodb dengan nama database "universitas" dengan collection adalah "mahasiswa" dengan isi "nim, nama, email, dan phone". Sekarang adalah mengkonfigurasi agar database dapat berinteraksi atau terkoneksi dengan nodejs app kita. Buka atom editor anda, atau bisa mengetikan pada terminal "atom" kemudian tambahkan project folder crudapps pada atom anda Nah anda sudah memiliki struktur folder aplikasi webapps tersebut. Sekarang anda membuat file config.js pada root folder (maksudnya adalah file tersebut berada pada folder crudapps) bukan didalam folder bin dan sebagainya. Anda juga bisa membuat file secara labgsung pada terminal dengan mengetikan "touch config.js" sehingga anda memiliki sebuah file baru dengan nama config.js. File config.js akan mendefinisikan url database berjalan dan port yang digunakan, nantinya file config.js tersebut akan di panggil di file app.js. B...