SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Seri MongoDB

Administrasi MongoDB

Agus Kurniawan

2|Seri MongoDB: Administrasi MongoDB
Seri MongoDB – Administrasi MongoDB
Edisi 1
Penulis: Agus Kurniawan
Penerbit: People Enterprise Press

©2013 People Enterprise Press
Hak cipta dilindungi undang-undang

Dilarang memperbanyak isi buku ini sebagian atau keseluruhan dengan printing, cetak,
fotokopi, dan sebagainya tanpa izin tertulis dari Penerbit People Enterprise Press.

MongoDB adalah hak cipta 10gen.
Gambar cover buku merupakan hak cipta dari http://www.imagewa.net/

3|Seri MongoDB: Administrasi MongoDB
Buku ini kupersembahkan kepada isteriku, Ela Juitasari, dan kedua anakku, M. Thariq
Akbar dan Zahra Zhafirah Fathinah.
Dan juga kedua orang tuaku di Ds. Sukasukur-Tasikmalaya, (Alm) mak Yoyom dan bapak
Didi.

4|Seri MongoDB: Administrasi MongoDB
Kata pengantar

Alhamdullilah, dengan rahmat Allah SWT akhirnya buku ini dapat diselesaikan, Buku
Seri MongoDB: Administrasi MongoDB. Selain itu, penulis berharap buku ini dapat
membantu dan memberikan motivasi para administrator atau pemula yang ingin
belajar tentang database MongoDB.
Penulis juga sebagai manusia biasa yang tidak luput dari kesalahan. Oleh karena itu,
saran dan kritik guna meningkatkan kualitas konten buku ini dari pembaca sangat
diperlukan. Semoga buku ini bermanfaat.

Berlin-Jerman, Oktober 2013

Agus Kurniawan
Fakultas Ilmu Komputer
Universitas Indonesia

5|Seri MongoDB: Administrasi MongoDB
Daftar Isi
Kata pengantar ............................................................................................................................. 5
Daftar Isi ........................................................................................................................................ 6
Mengenal MongoDB.................................................................................................................... 8
Apakah Itu MongoDB? .......................................................................................................... 10
Mengapa MongoDB? ............................................................................................................. 11
System Requirement .............................................................................................................. 12
MongoDB Server .................................................................................................................... 12
Instalasi MongoDB Pada Platform Windows .................................................................... 13
Instalasi MongoDB Pada Platform Linux Ubuntu ............................................................ 16
Sintak MongoDB Shell .............................................................................................................. 17
MongoDB Shell ....................................................................................................................... 18
Membuat Database Baru ....................................................................................................... 19
Membuat Dokumen Baru...................................................................................................... 20
Menampilkan Koleksi Dokumen ......................................................................................... 22
Menampilkan Data Pada Dokumen .................................................................................... 23
Memperbarui Data ................................................................................................................. 23
Menghapus Data .................................................................................................................... 24
Menghapus Dokumen ........................................................................................................... 24
Kondisional Operator ............................................................................................................ 24
Limit dan Sorting.................................................................................................................... 25
Operasi OR dan AND ............................................................................................................ 25
Regular Expression ................................................................................................................ 26
Manajemen MongoDB............................................................................................................... 27
Administrative Tool ............................................................................................................... 28
6|Seri MongoDB: Administrasi MongoDB
Manajemen Database ............................................................................................................. 29
Monitoring Server .................................................................................................................. 30
Export & Import Data ................................................................................................................ 33
Export Data ............................................................................................................................. 34
Import Data ............................................................................................................................. 35
Backup & Restore ....................................................................................................................... 37
Backup Data ............................................................................................................................ 38
Restore Data ............................................................................................................................ 39
Daftar Pustaka ............................................................................................................................ 41
Profile Penulis ............................................................................................................................. 42

7|Seri MongoDB: Administrasi MongoDB
Bab 1

Mengenal MongoDB

8|Seri MongoDB: Administrasi MongoDB
Sebagian besar dari kita mungkin sudah tidak asing dengan database relational bahkan
beberapa universitas juga mengajarkan. Beberapa perusahan dan industri juga
memanfaatkan database relational ini untuk kepentingan aplikasinya. Database
relational sudah terbukti banyak dipakai dan keandalannya masih dapat diterima. Ada
banyak produk yang berbasis database relational antara lain
•

SQL Server

•

Oracle

•

MySQL

•

Postgre

•

dan banyak lagi

Database relational ini memanfaatkan SQL untuk mengaksesnya. Para programmer
sudah tidak asing melakukan query ataupun transaksi dengan menggunakan SQL.
Beberapa dari para programmer ini mungkin tidak menyukai SQL dan selanjutnya
memanfaatkan ORM (object relational mapping) yang menyederhanakan sintak SQL
menjadi objek sehingga para programmer tidak menggunakan sintak SQL dalam
mengakses databasenya.
Selain menggunakan pendekatan ORM, kita juga dapat mengganti paradigm SQL ini
secara totol dengan mengganti sistem database yang sering dikenal dengan aliran
NoSQL. Konsep umum pada sistem database berbasis NoSQL didasarkan pada
bagaimana cara menyimpan data dengan pendekatan seperti
•

Key-value

•

BigTable

•

Document store

•

Graph database

Sistem database berbasis NoSQL ini cukup cepat perkembangannya. Ditambah lagi
dengan banyaknya perusahan besar yang memakainya seperti Google, Amazon,
Twitter, dan Facebook. Kalau kita perhatikan secara implementasi NoSQL maka kita
akan memperoleh banyak sekali sistem database yang dapat dipilih contohnya
MongoDB, CouchDB, Cassandra, Berkeley DB dan sebagainya.
9|Seri MongoDB: Administrasi MongoDB
Pada bab ini penulis akan memaparkan apa dan bagaimana memanfaatkan database
MongoDB sebagai sistem database berbasis NoSQL.

Apakah Itu MongoDB?
MongoDB merupakan sistem database yang awalnya diperuntuknan untuk aplikasi
web dan infrastruktur internet. Strategi model data dengan tingkat throughput yang
tinggi dan kemampuan automatic failover membuat MongoDB menjadi pilihan
alternatif untuk data. Kemudahan skalabilitas yang fleksibel menjadikan fitur utama
dari database yang berbasis NoSQL ini. Sistem database MongoDB ini dapat dibaca
informasinya pada alamat http://www.mongodb.org .
Database MongoDB dikembangkan oleh 10gen yang merupakan perusahan yang
berkecimpung dalam bidang cloud dengan fokus software platform-as-a-service yang
terdiri dari aplikasi server dan database. Database MongoDB sendiri dikembangan
dengan bahasa C++ dan dikompilasi diplatform Mac, Windows dan paling banyak
pada Linux.
MongoDB didasarkan pada bagaimana cara menyimpan dan memperoleh data. Teknik
yang digunakan adalah BSON (binary JSON) yang iini merupakan serialisasi binaryencoded berbasis dokumen JSON. Setiap BSON akan mempunyai 0 atau lebih pasangan
key/value berformat binary yang disimpan sebagai satu entiti. Satu entiti ini dikenal
dengan dokumen. Berikut ini tipe dasar yang digunakan pada MongoDB yang
diserialisasikan dalam format little-endian:
public enum BsonType {
Double = 0x01,
String = 0x02,
Document = 0x03,
Array = 0x04,
Binary = 0x05,
Undefined = 0x06,
ObjectId = 0x07,
Boolean = 0x08,
DateTime = 0x09,
Null = 0x0a,
RegularExpression = 0x0b,
JavaScript = 0x0d,
Symbol = 0x0e,
JavaScriptWithScope = 0x0f,
Int32 = 0x10,
Timestamp = 0x11,
Int64 = 0x12,
MinKey = 0xff,
MaxKey = 0x7f

10 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
}

Sebagai ilustrasikan misalkan kita mempunyai data pasangan key/value sebagai
berikut
{"hello": "world"}
Maka format BSON akan menjadi seperti dibawah ini
x16x00x00x00x02hellox00
x06x00x00x00worldx00x00

Mengapa MongoDB?
Seperti telah dijelaskan diawal mengenai MongoDB dan selanjutnya ini akan menjadi
pilihan para pembaca untuk menyelesaikan beberapa permasalahan yang berhubungan
dengan database. Berdasarkan tujuan dari MongoDB dibuat, kita dapat melihat bahwa
MongoDB dirancang dengan mengkombinasikan konsep key-value dan relational
database. Pendekatan key-value ini akan menyederhanakan proses penyimpanan dan
aksesnya serta kemudahan dalam melakukan skalabilitas.
Pada beberapa kasus database MongoDB sangat cocok untuk aplikasi web untuk hal
yang berhubungan dengan analisa dan logging serta beberapa aplikasi yang
memerlukan cache. Seperti pada memcache yang menerapkan key-value sebagai
metode untuk cache, MongoDB juga melakukannya seperti itu.
MongoDB tidak mengenal join karena memang tidak berparadigma SQL melainkan
dengan pendekatan dokumen. Dokumen satu dengan dokumen lainnya dapat saling
berhubungan berdasarkan relasi dokumen nya. Solusi ini diharapkan dapat
mempercepat query data dari MongoDB.
Sistem database MongoDB juga dapat digunakan bebas tanpa harus mengeluarkan
biaya sama sekali. Selain itu, MongoDB juga membuka kode programnya atau dengan
kata lain berbasis open source.
Dukungan driver terhadap beberapa bahasa pemrograman juga menjadi menarik
untuk para pengembangan yang ingin memanfaatkan database MongoDB sebagai
databasenya. Dukungan ini akan menambah kreatifitas para pengembang.
11 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
System Requirement
Komputer merupakan alat yang terpenting untuk menjalankan MongoDB. Berikut ini
beberapa spesifikasi komputer yang dibutuhkan
Processor 1 GHz atau lebih tingi
OS yang didukung
Linux Ubuntu, Debian, dan generic Linux
Windows XP, Vista, 7, 8
Windows Server 2003, 2008
Mac
Memory minimal 1 GB. Sebaiknya memory diatas 2 GB untuk kelancaran dan
kenyaman waktu mengoperasikan MongoDB
Hardisk minimal yang kosong 2 GB
Spesifikasi komputer tidak diperuntuk untuk mesin server. Khusus untuk server harus
menggunakan spesifikasi komputer yang terbaik.

MongoDB Server
Database MongoDB mendukung banyak platform seperti Mac, Windows, Solaris, dan
Linux baik platform 32-bit maupuan 64-bit. Sistem database MongoDB ini dapat
diunduh melalui websitenya yaitu
http://www.mongodb.org/downloads
Unduh database MongoDB sesuai dengan platform yang dimiliki.

12 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
Gambar 1.1 Website MongoDB untuk unduh aplikasi server

MongoDB juga menyediakan source code dari aplikasi database server ini. Apabila ada
platform yang tidak disediakan instalasinya maka kita dapat memanfaatkan source
code ini untuk dilakukan proses kompilasi sendiri pada platform yang tidak di support.
Hal ini memungkinkan karena MongoDB dibangun menggunakan kode C++ yang
berjalan pada lintas platform.
Pada buku ini penulis hanya membagi pengalaman bagaimana instalasi MongoDB
pada platform Windows dan LinuxUbuntu.

Instalasi MongoDB Pada Platform Windows
Pada platform Windows, MongoDB server dapat berjalan pada berbagai platform OS
Windows meliputi
Windows XP
Windows Vista
Windows 7
Windows Server 2008
13 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
Windows Server 2008 R2
Windows 8
Untuk proses instalasinya, ekstrak file instalasi dari hasil mengunduh ke folder tertentu
misalkan c:mongo dan selanjutnya kita membuat folder untuk datanya misalkan
c:datadb . Kalau kita perhatikan hasil ekstraksi , kita akan menjumpai file-file ini
didalam folder (lihat gambar 1.2):
Mongod.exe merupakan database server
Mongo.exe merupakan administrative shell

Gambar 1.2 Hasil ekstrasi file MongoDB

Selanjutnya cara menjalankan database MongoDB servernya, kita cukup mengklik dua
kali file Mongod.exe. Selanjutnya kita dapat menggunakan konsole dan memanggil
shellnya yaitu mongo.exe. Selanjutnya kita dapat berteraksi dengan database MongoDB
seperti pada gambar 1.3.

14 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
Gambar 1.3. Interaksi shell MongoDB pada Windows

Kita dapat juga menjalankan MongoDB server sebagai Windows Service. Keuntungan
menggunakan Windows Service adalah aplikasi database server ini berjalan dibelakang
proses sehingga tidak perlu logon ke Windows untuk sekedar mengaktifkan servernya.
Ini sangat cocok untuk platform Windows Server.
MongoDB mempunyai sintak script untuk menjalankan sebagai Windows Service
dengan cara menjalankan script seperti dibawah ini.
mongod --install
mongod --service
mongod --remove
mongod --reinstall

Sebagai contoh ilustrasi dengan konfigurasi sebelumnya, kita jalankan konsole (CMD)
dengan RunAs Administrator dan kemudian ketik sintak dibawah ini
mongod --logpath c:mongologlog.log --logappend --dbpath c:datadb -directoryperdb --install

Setelah sukses, kita panggil bagian Services dari Administrative Tools seperti yang
terlihat pada gambar 1.4.

15 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
Gambar 1.4 MongoDB server yang berjalan sebagai service pada Windows

Instalasi MongoDB Pada Platform Linux Ubuntu
Sedangkan untuk instalasi MongoDB pada platform Linux, misalkan Ubuntu, mulamula kita install GPG key sebagai berikut
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Kemudian menambahkan repository pada /etc/apt/sources.list sebagai berikut
deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Kemudian lakukan update
sudo apt-get update

Terakhir, kita install mongodb
sudo apt-get install mongodb-10gen

Selanjutnya sistem akan mengunduh dan menginstalnya. Secara umum service sudah
jalan langsung, jika tidak panggil script ini pada konsole
mongod

Sedangkan untuk mengaktifkan MongoDB shell nya dapat digunakan sintak
mongo

16 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
Bab 3

Sintak MongoDB Shell

17 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B

Mais conteúdo relacionado

Mais procurados

Menjadi webmasterdalam30hari
Menjadi webmasterdalam30hariMenjadi webmasterdalam30hari
Menjadi webmasterdalam30hariAdi Utami
 
Membangun aplikasi java restful web service menggunakan spring web mvc
Membangun aplikasi java restful web service menggunakan spring web mvcMembangun aplikasi java restful web service menggunakan spring web mvc
Membangun aplikasi java restful web service menggunakan spring web mvcEko Kurniawan Khannedy
 
Buku petunjuk penggunaan_sms_mandiri
Buku petunjuk penggunaan_sms_mandiriBuku petunjuk penggunaan_sms_mandiri
Buku petunjuk penggunaan_sms_mandiriVella Xeon
 
Membangun aplikasi client server dengan java
Membangun aplikasi client server dengan javaMembangun aplikasi client server dengan java
Membangun aplikasi client server dengan javaEko Kurniawan Khannedy
 
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)Donny Kurniawan
 
Spk Internet & Aplikasinya
Spk Internet & AplikasinyaSpk Internet & Aplikasinya
Spk Internet & AplikasinyaDadang Setiawan
 
Surya univ arduino-muhammad-bangun--agung-202136575862733
Surya univ arduino-muhammad-bangun--agung-202136575862733Surya univ arduino-muhammad-bangun--agung-202136575862733
Surya univ arduino-muhammad-bangun--agung-202136575862733Alqharomi
 
Ebook gratis arduino untuk pemula v1
Ebook gratis   arduino untuk pemula v1Ebook gratis   arduino untuk pemula v1
Ebook gratis arduino untuk pemula v1wahyu dwi nugroho
 
Laporan Aplikasi Penjualan Handphone Access
Laporan Aplikasi Penjualan Handphone AccessLaporan Aplikasi Penjualan Handphone Access
Laporan Aplikasi Penjualan Handphone Accessaim190696
 
pembuatan TA man bangil "pembuatan website"
pembuatan TA man bangil "pembuatan website"pembuatan TA man bangil "pembuatan website"
pembuatan TA man bangil "pembuatan website"mufid Fakhrudin
 

Mais procurados (11)

Menjadi webmasterdalam30hari
Menjadi webmasterdalam30hariMenjadi webmasterdalam30hari
Menjadi webmasterdalam30hari
 
Membangun aplikasi java restful web service menggunakan spring web mvc
Membangun aplikasi java restful web service menggunakan spring web mvcMembangun aplikasi java restful web service menggunakan spring web mvc
Membangun aplikasi java restful web service menggunakan spring web mvc
 
Buku petunjuk penggunaan_sms_mandiri
Buku petunjuk penggunaan_sms_mandiriBuku petunjuk penggunaan_sms_mandiri
Buku petunjuk penggunaan_sms_mandiri
 
Membangun aplikasi client server dengan java
Membangun aplikasi client server dengan javaMembangun aplikasi client server dengan java
Membangun aplikasi client server dengan java
 
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)
 
Spk Internet & Aplikasinya
Spk Internet & AplikasinyaSpk Internet & Aplikasinya
Spk Internet & Aplikasinya
 
Surya univ arduino-muhammad-bangun--agung-202136575862733
Surya univ arduino-muhammad-bangun--agung-202136575862733Surya univ arduino-muhammad-bangun--agung-202136575862733
Surya univ arduino-muhammad-bangun--agung-202136575862733
 
Laporan analisis sistem informasi
Laporan analisis sistem informasiLaporan analisis sistem informasi
Laporan analisis sistem informasi
 
Ebook gratis arduino untuk pemula v1
Ebook gratis   arduino untuk pemula v1Ebook gratis   arduino untuk pemula v1
Ebook gratis arduino untuk pemula v1
 
Laporan Aplikasi Penjualan Handphone Access
Laporan Aplikasi Penjualan Handphone AccessLaporan Aplikasi Penjualan Handphone Access
Laporan Aplikasi Penjualan Handphone Access
 
pembuatan TA man bangil "pembuatan website"
pembuatan TA man bangil "pembuatan website"pembuatan TA man bangil "pembuatan website"
pembuatan TA man bangil "pembuatan website"
 

Semelhante a Administrasi MongoDB

MongoDB Dasar.pptx
MongoDB Dasar.pptxMongoDB Dasar.pptx
MongoDB Dasar.pptxLeoneDiego
 
Makalah analisis dan desain sistem
Makalah analisis dan desain sistemMakalah analisis dan desain sistem
Makalah analisis dan desain sistemLarasWiranti2
 
Analisis Keamanan Nodejs sebagai platorm aplikasi web
Analisis Keamanan Nodejs sebagai platorm aplikasi webAnalisis Keamanan Nodejs sebagai platorm aplikasi web
Analisis Keamanan Nodejs sebagai platorm aplikasi webIrfan Aris Nurhakim
 
E commerce dengan php mysql.docx
E commerce dengan php mysql.docxE commerce dengan php mysql.docx
E commerce dengan php mysql.docxCandra Adi Putra
 
Ukk 2016 redhat 9.0 (instalasi, settting ip, dhcp dan dns) - bayu agus
Ukk 2016   redhat 9.0 (instalasi, settting ip, dhcp dan dns) - bayu agusUkk 2016   redhat 9.0 (instalasi, settting ip, dhcp dan dns) - bayu agus
Ukk 2016 redhat 9.0 (instalasi, settting ip, dhcp dan dns) - bayu agusSyiroy Uddin
 
Makalah Aplikasi Data Penjualan Menggunakan Visual Basic 6.0
Makalah Aplikasi Data Penjualan Menggunakan Visual Basic 6.0Makalah Aplikasi Data Penjualan Menggunakan Visual Basic 6.0
Makalah Aplikasi Data Penjualan Menggunakan Visual Basic 6.0Marlinda
 
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsPengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsBambang Purnomosidi D. P.
 
Ukk 2016 debian 7 (instalasi,sett ip,dhcp,dns) - m.asyiq m
Ukk 2016   debian 7 (instalasi,sett ip,dhcp,dns) - m.asyiq mUkk 2016   debian 7 (instalasi,sett ip,dhcp,dns) - m.asyiq m
Ukk 2016 debian 7 (instalasi,sett ip,dhcp,dns) - m.asyiq mSyiroy Uddin
 
Modul-SistemBasisData-1.pdf
Modul-SistemBasisData-1.pdfModul-SistemBasisData-1.pdf
Modul-SistemBasisData-1.pdfAkoyBoys1
 
Modul mysql-revisi
Modul mysql-revisiModul mysql-revisi
Modul mysql-revisiyulisafitri3
 
Modul mysql-revisi
Modul mysql-revisiModul mysql-revisi
Modul mysql-revisialfinadia
 
Modul MySQL TIngkat Lanjut
Modul MySQL TIngkat LanjutModul MySQL TIngkat Lanjut
Modul MySQL TIngkat LanjutM Fahmi Ansori
 

Semelhante a Administrasi MongoDB (20)

Tugas makalah
Tugas makalah Tugas makalah
Tugas makalah
 
MongoDB Dasar.pptx
MongoDB Dasar.pptxMongoDB Dasar.pptx
MongoDB Dasar.pptx
 
MongoDB_Dasar.pptx
MongoDB_Dasar.pptxMongoDB_Dasar.pptx
MongoDB_Dasar.pptx
 
Markdown dan-pandoc
Markdown dan-pandocMarkdown dan-pandoc
Markdown dan-pandoc
 
Makalah analisis dan desain sistem
Makalah analisis dan desain sistemMakalah analisis dan desain sistem
Makalah analisis dan desain sistem
 
Analisis Keamanan Nodejs sebagai platorm aplikasi web
Analisis Keamanan Nodejs sebagai platorm aplikasi webAnalisis Keamanan Nodejs sebagai platorm aplikasi web
Analisis Keamanan Nodejs sebagai platorm aplikasi web
 
E commerce dengan php mysql.docx
E commerce dengan php mysql.docxE commerce dengan php mysql.docx
E commerce dengan php mysql.docx
 
Ukk 2016 redhat 9.0 (instalasi, settting ip, dhcp dan dns) - bayu agus
Ukk 2016   redhat 9.0 (instalasi, settting ip, dhcp dan dns) - bayu agusUkk 2016   redhat 9.0 (instalasi, settting ip, dhcp dan dns) - bayu agus
Ukk 2016 redhat 9.0 (instalasi, settting ip, dhcp dan dns) - bayu agus
 
Tugas laporan proyek aplikasi
Tugas laporan proyek aplikasiTugas laporan proyek aplikasi
Tugas laporan proyek aplikasi
 
Makalah Aplikasi Data Penjualan Menggunakan Visual Basic 6.0
Makalah Aplikasi Data Penjualan Menggunakan Visual Basic 6.0Makalah Aplikasi Data Penjualan Menggunakan Visual Basic 6.0
Makalah Aplikasi Data Penjualan Menggunakan Visual Basic 6.0
 
Web Interaktif
Web InteraktifWeb Interaktif
Web Interaktif
 
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.jsPengembangan Aplikasi Cloud Computing Menggunakan Node.js
Pengembangan Aplikasi Cloud Computing Menggunakan Node.js
 
Ukk 2016 debian 7 (instalasi,sett ip,dhcp,dns) - m.asyiq m
Ukk 2016   debian 7 (instalasi,sett ip,dhcp,dns) - m.asyiq mUkk 2016   debian 7 (instalasi,sett ip,dhcp,dns) - m.asyiq m
Ukk 2016 debian 7 (instalasi,sett ip,dhcp,dns) - m.asyiq m
 
SDD
SDDSDD
SDD
 
Modul-SistemBasisData-1.pdf
Modul-SistemBasisData-1.pdfModul-SistemBasisData-1.pdf
Modul-SistemBasisData-1.pdf
 
Modul mysql-revisi
Modul mysql-revisiModul mysql-revisi
Modul mysql-revisi
 
Modul mysql-revisi
Modul mysql-revisiModul mysql-revisi
Modul mysql-revisi
 
Ebook mysql
Ebook mysqlEbook mysql
Ebook mysql
 
Modul MySQL TIngkat Lanjut
Modul MySQL TIngkat LanjutModul MySQL TIngkat Lanjut
Modul MySQL TIngkat Lanjut
 
Tugas 4 tik
Tugas 4 tikTugas 4 tik
Tugas 4 tik
 

Administrasi MongoDB

  • 1.
  • 2. Seri MongoDB Administrasi MongoDB Agus Kurniawan 2|Seri MongoDB: Administrasi MongoDB
  • 3. Seri MongoDB – Administrasi MongoDB Edisi 1 Penulis: Agus Kurniawan Penerbit: People Enterprise Press ©2013 People Enterprise Press Hak cipta dilindungi undang-undang Dilarang memperbanyak isi buku ini sebagian atau keseluruhan dengan printing, cetak, fotokopi, dan sebagainya tanpa izin tertulis dari Penerbit People Enterprise Press. MongoDB adalah hak cipta 10gen. Gambar cover buku merupakan hak cipta dari http://www.imagewa.net/ 3|Seri MongoDB: Administrasi MongoDB
  • 4. Buku ini kupersembahkan kepada isteriku, Ela Juitasari, dan kedua anakku, M. Thariq Akbar dan Zahra Zhafirah Fathinah. Dan juga kedua orang tuaku di Ds. Sukasukur-Tasikmalaya, (Alm) mak Yoyom dan bapak Didi. 4|Seri MongoDB: Administrasi MongoDB
  • 5. Kata pengantar Alhamdullilah, dengan rahmat Allah SWT akhirnya buku ini dapat diselesaikan, Buku Seri MongoDB: Administrasi MongoDB. Selain itu, penulis berharap buku ini dapat membantu dan memberikan motivasi para administrator atau pemula yang ingin belajar tentang database MongoDB. Penulis juga sebagai manusia biasa yang tidak luput dari kesalahan. Oleh karena itu, saran dan kritik guna meningkatkan kualitas konten buku ini dari pembaca sangat diperlukan. Semoga buku ini bermanfaat. Berlin-Jerman, Oktober 2013 Agus Kurniawan Fakultas Ilmu Komputer Universitas Indonesia 5|Seri MongoDB: Administrasi MongoDB
  • 6. Daftar Isi Kata pengantar ............................................................................................................................. 5 Daftar Isi ........................................................................................................................................ 6 Mengenal MongoDB.................................................................................................................... 8 Apakah Itu MongoDB? .......................................................................................................... 10 Mengapa MongoDB? ............................................................................................................. 11 System Requirement .............................................................................................................. 12 MongoDB Server .................................................................................................................... 12 Instalasi MongoDB Pada Platform Windows .................................................................... 13 Instalasi MongoDB Pada Platform Linux Ubuntu ............................................................ 16 Sintak MongoDB Shell .............................................................................................................. 17 MongoDB Shell ....................................................................................................................... 18 Membuat Database Baru ....................................................................................................... 19 Membuat Dokumen Baru...................................................................................................... 20 Menampilkan Koleksi Dokumen ......................................................................................... 22 Menampilkan Data Pada Dokumen .................................................................................... 23 Memperbarui Data ................................................................................................................. 23 Menghapus Data .................................................................................................................... 24 Menghapus Dokumen ........................................................................................................... 24 Kondisional Operator ............................................................................................................ 24 Limit dan Sorting.................................................................................................................... 25 Operasi OR dan AND ............................................................................................................ 25 Regular Expression ................................................................................................................ 26 Manajemen MongoDB............................................................................................................... 27 Administrative Tool ............................................................................................................... 28 6|Seri MongoDB: Administrasi MongoDB
  • 7. Manajemen Database ............................................................................................................. 29 Monitoring Server .................................................................................................................. 30 Export & Import Data ................................................................................................................ 33 Export Data ............................................................................................................................. 34 Import Data ............................................................................................................................. 35 Backup & Restore ....................................................................................................................... 37 Backup Data ............................................................................................................................ 38 Restore Data ............................................................................................................................ 39 Daftar Pustaka ............................................................................................................................ 41 Profile Penulis ............................................................................................................................. 42 7|Seri MongoDB: Administrasi MongoDB
  • 8. Bab 1 Mengenal MongoDB 8|Seri MongoDB: Administrasi MongoDB
  • 9. Sebagian besar dari kita mungkin sudah tidak asing dengan database relational bahkan beberapa universitas juga mengajarkan. Beberapa perusahan dan industri juga memanfaatkan database relational ini untuk kepentingan aplikasinya. Database relational sudah terbukti banyak dipakai dan keandalannya masih dapat diterima. Ada banyak produk yang berbasis database relational antara lain • SQL Server • Oracle • MySQL • Postgre • dan banyak lagi Database relational ini memanfaatkan SQL untuk mengaksesnya. Para programmer sudah tidak asing melakukan query ataupun transaksi dengan menggunakan SQL. Beberapa dari para programmer ini mungkin tidak menyukai SQL dan selanjutnya memanfaatkan ORM (object relational mapping) yang menyederhanakan sintak SQL menjadi objek sehingga para programmer tidak menggunakan sintak SQL dalam mengakses databasenya. Selain menggunakan pendekatan ORM, kita juga dapat mengganti paradigm SQL ini secara totol dengan mengganti sistem database yang sering dikenal dengan aliran NoSQL. Konsep umum pada sistem database berbasis NoSQL didasarkan pada bagaimana cara menyimpan data dengan pendekatan seperti • Key-value • BigTable • Document store • Graph database Sistem database berbasis NoSQL ini cukup cepat perkembangannya. Ditambah lagi dengan banyaknya perusahan besar yang memakainya seperti Google, Amazon, Twitter, dan Facebook. Kalau kita perhatikan secara implementasi NoSQL maka kita akan memperoleh banyak sekali sistem database yang dapat dipilih contohnya MongoDB, CouchDB, Cassandra, Berkeley DB dan sebagainya. 9|Seri MongoDB: Administrasi MongoDB
  • 10. Pada bab ini penulis akan memaparkan apa dan bagaimana memanfaatkan database MongoDB sebagai sistem database berbasis NoSQL. Apakah Itu MongoDB? MongoDB merupakan sistem database yang awalnya diperuntuknan untuk aplikasi web dan infrastruktur internet. Strategi model data dengan tingkat throughput yang tinggi dan kemampuan automatic failover membuat MongoDB menjadi pilihan alternatif untuk data. Kemudahan skalabilitas yang fleksibel menjadikan fitur utama dari database yang berbasis NoSQL ini. Sistem database MongoDB ini dapat dibaca informasinya pada alamat http://www.mongodb.org . Database MongoDB dikembangkan oleh 10gen yang merupakan perusahan yang berkecimpung dalam bidang cloud dengan fokus software platform-as-a-service yang terdiri dari aplikasi server dan database. Database MongoDB sendiri dikembangan dengan bahasa C++ dan dikompilasi diplatform Mac, Windows dan paling banyak pada Linux. MongoDB didasarkan pada bagaimana cara menyimpan dan memperoleh data. Teknik yang digunakan adalah BSON (binary JSON) yang iini merupakan serialisasi binaryencoded berbasis dokumen JSON. Setiap BSON akan mempunyai 0 atau lebih pasangan key/value berformat binary yang disimpan sebagai satu entiti. Satu entiti ini dikenal dengan dokumen. Berikut ini tipe dasar yang digunakan pada MongoDB yang diserialisasikan dalam format little-endian: public enum BsonType { Double = 0x01, String = 0x02, Document = 0x03, Array = 0x04, Binary = 0x05, Undefined = 0x06, ObjectId = 0x07, Boolean = 0x08, DateTime = 0x09, Null = 0x0a, RegularExpression = 0x0b, JavaScript = 0x0d, Symbol = 0x0e, JavaScriptWithScope = 0x0f, Int32 = 0x10, Timestamp = 0x11, Int64 = 0x12, MinKey = 0xff, MaxKey = 0x7f 10 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
  • 11. } Sebagai ilustrasikan misalkan kita mempunyai data pasangan key/value sebagai berikut {"hello": "world"} Maka format BSON akan menjadi seperti dibawah ini x16x00x00x00x02hellox00 x06x00x00x00worldx00x00 Mengapa MongoDB? Seperti telah dijelaskan diawal mengenai MongoDB dan selanjutnya ini akan menjadi pilihan para pembaca untuk menyelesaikan beberapa permasalahan yang berhubungan dengan database. Berdasarkan tujuan dari MongoDB dibuat, kita dapat melihat bahwa MongoDB dirancang dengan mengkombinasikan konsep key-value dan relational database. Pendekatan key-value ini akan menyederhanakan proses penyimpanan dan aksesnya serta kemudahan dalam melakukan skalabilitas. Pada beberapa kasus database MongoDB sangat cocok untuk aplikasi web untuk hal yang berhubungan dengan analisa dan logging serta beberapa aplikasi yang memerlukan cache. Seperti pada memcache yang menerapkan key-value sebagai metode untuk cache, MongoDB juga melakukannya seperti itu. MongoDB tidak mengenal join karena memang tidak berparadigma SQL melainkan dengan pendekatan dokumen. Dokumen satu dengan dokumen lainnya dapat saling berhubungan berdasarkan relasi dokumen nya. Solusi ini diharapkan dapat mempercepat query data dari MongoDB. Sistem database MongoDB juga dapat digunakan bebas tanpa harus mengeluarkan biaya sama sekali. Selain itu, MongoDB juga membuka kode programnya atau dengan kata lain berbasis open source. Dukungan driver terhadap beberapa bahasa pemrograman juga menjadi menarik untuk para pengembangan yang ingin memanfaatkan database MongoDB sebagai databasenya. Dukungan ini akan menambah kreatifitas para pengembang. 11 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
  • 12. System Requirement Komputer merupakan alat yang terpenting untuk menjalankan MongoDB. Berikut ini beberapa spesifikasi komputer yang dibutuhkan Processor 1 GHz atau lebih tingi OS yang didukung Linux Ubuntu, Debian, dan generic Linux Windows XP, Vista, 7, 8 Windows Server 2003, 2008 Mac Memory minimal 1 GB. Sebaiknya memory diatas 2 GB untuk kelancaran dan kenyaman waktu mengoperasikan MongoDB Hardisk minimal yang kosong 2 GB Spesifikasi komputer tidak diperuntuk untuk mesin server. Khusus untuk server harus menggunakan spesifikasi komputer yang terbaik. MongoDB Server Database MongoDB mendukung banyak platform seperti Mac, Windows, Solaris, dan Linux baik platform 32-bit maupuan 64-bit. Sistem database MongoDB ini dapat diunduh melalui websitenya yaitu http://www.mongodb.org/downloads Unduh database MongoDB sesuai dengan platform yang dimiliki. 12 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
  • 13. Gambar 1.1 Website MongoDB untuk unduh aplikasi server MongoDB juga menyediakan source code dari aplikasi database server ini. Apabila ada platform yang tidak disediakan instalasinya maka kita dapat memanfaatkan source code ini untuk dilakukan proses kompilasi sendiri pada platform yang tidak di support. Hal ini memungkinkan karena MongoDB dibangun menggunakan kode C++ yang berjalan pada lintas platform. Pada buku ini penulis hanya membagi pengalaman bagaimana instalasi MongoDB pada platform Windows dan LinuxUbuntu. Instalasi MongoDB Pada Platform Windows Pada platform Windows, MongoDB server dapat berjalan pada berbagai platform OS Windows meliputi Windows XP Windows Vista Windows 7 Windows Server 2008 13 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
  • 14. Windows Server 2008 R2 Windows 8 Untuk proses instalasinya, ekstrak file instalasi dari hasil mengunduh ke folder tertentu misalkan c:mongo dan selanjutnya kita membuat folder untuk datanya misalkan c:datadb . Kalau kita perhatikan hasil ekstraksi , kita akan menjumpai file-file ini didalam folder (lihat gambar 1.2): Mongod.exe merupakan database server Mongo.exe merupakan administrative shell Gambar 1.2 Hasil ekstrasi file MongoDB Selanjutnya cara menjalankan database MongoDB servernya, kita cukup mengklik dua kali file Mongod.exe. Selanjutnya kita dapat menggunakan konsole dan memanggil shellnya yaitu mongo.exe. Selanjutnya kita dapat berteraksi dengan database MongoDB seperti pada gambar 1.3. 14 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
  • 15. Gambar 1.3. Interaksi shell MongoDB pada Windows Kita dapat juga menjalankan MongoDB server sebagai Windows Service. Keuntungan menggunakan Windows Service adalah aplikasi database server ini berjalan dibelakang proses sehingga tidak perlu logon ke Windows untuk sekedar mengaktifkan servernya. Ini sangat cocok untuk platform Windows Server. MongoDB mempunyai sintak script untuk menjalankan sebagai Windows Service dengan cara menjalankan script seperti dibawah ini. mongod --install mongod --service mongod --remove mongod --reinstall Sebagai contoh ilustrasi dengan konfigurasi sebelumnya, kita jalankan konsole (CMD) dengan RunAs Administrator dan kemudian ketik sintak dibawah ini mongod --logpath c:mongologlog.log --logappend --dbpath c:datadb -directoryperdb --install Setelah sukses, kita panggil bagian Services dari Administrative Tools seperti yang terlihat pada gambar 1.4. 15 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
  • 16. Gambar 1.4 MongoDB server yang berjalan sebagai service pada Windows Instalasi MongoDB Pada Platform Linux Ubuntu Sedangkan untuk instalasi MongoDB pada platform Linux, misalkan Ubuntu, mulamula kita install GPG key sebagai berikut sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 Kemudian menambahkan repository pada /etc/apt/sources.list sebagai berikut deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen Kemudian lakukan update sudo apt-get update Terakhir, kita install mongodb sudo apt-get install mongodb-10gen Selanjutnya sistem akan mengunduh dan menginstalnya. Secara umum service sudah jalan langsung, jika tidak panggil script ini pada konsole mongod Sedangkan untuk mengaktifkan MongoDB shell nya dapat digunakan sintak mongo 16 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B
  • 17. Bab 3 Sintak MongoDB Shell 17 | S e r i M o n g o D B : A d m i n i s t r a s i M o n g o D B