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 Enterp...
Buku ini kupersembahkan kepada isteriku, Ela Juitasari, dan kedua anakku, M. Thariq
Akbar dan Zahra Zhafirah Fathinah.
Dan...
Kata pengantar

Alhamdullilah, dengan rahmat Allah SWT akhirnya buku ini dapat diselesaikan, Buku
Seri MongoDB: Administra...
Daftar Isi
Kata pengantar ...................................................................................................
Manajemen Database ..........................................................................................................
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...
Pada bab ini penulis akan memaparkan apa dan bagaimana memanfaatkan database
MongoDB sebagai sistem database berbasis NoSQ...
}

Sebagai ilustrasikan misalkan kita mempunyai data pasangan key/value sebagai
berikut
{"hello": "world"}
Maka format BSO...
System Requirement
Komputer merupakan alat yang terpenting untuk menjalankan MongoDB. Berikut ini
beberapa spesifikasi kom...
Gambar 1.1 Website MongoDB untuk unduh aplikasi server

MongoDB juga menyediakan source code dari aplikasi database server...
Windows Server 2008 R2
Windows 8
Untuk proses instalasinya, ekstrak file instalasi dari hasil mengunduh ke folder tertentu...
Gambar 1.3. Interaksi shell MongoDB pada Windows

Kita dapat juga menjalankan MongoDB server sebagai Windows Service. Keun...
Gambar 1.4 MongoDB server yang berjalan sebagai service pada Windows

Instalasi MongoDB Pada Platform Linux Ubuntu
Sedangk...
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
Administrasi MongoDB
Upcoming SlideShare
Loading in …5
×

Administrasi MongoDB

1,890 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,890
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
157
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Administrasi MongoDB

  1. 1. Seri MongoDB Administrasi MongoDB Agus Kurniawan 2|Seri MongoDB: Administrasi MongoDB
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. Bab 1 Mengenal MongoDB 8|Seri MongoDB: Administrasi MongoDB
  8. 8. 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
  9. 9. 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
  10. 10. } 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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

×