Wednesday, June 8, 2016

Perintah Dasar Pada mongodb


Assalamualaikum, wah lelah juga seharian berpusing ria ngoprek kerjaa yang sepertinya tidak ada habisnya, sekedar rehat saya coba menulis singkat tentang MongoDB, kali ini saya akan membahas peritah" dasar yang biasanya digunakan pada mongodb, baiklah langsung saja pada pembahasan.

CREATE DATABASE
Tidak jauh beda dengan database lain semisal RDBMS, perintah" dasar seperti create database, drop database dll agak sedikit mirip.
Untuk membuat sebuah database baru pada mongodb agak sedikit beda, justru sebenarnya bahkan kita tidak perlu mengcreatenya, contohnya setelah kita masuk kedalam console databasenya dan gunakan perintah berikut

>use mydb
switched to db mydb

Secara default proses yang terjadi adalah sebagai berikut
- mengecek apakah database ada, jika ada masuk kedalam database
- jika database yang dimaksud tidak ada maka secara otomatis mongodb akan melakukan create database untuk kita dan masuk kedalam database tersebut, wow baik sekali...

untuk memasitikan kita menggunakan database yang benar sesuai yang kita maksud maka perintah simplenya adalah sebagai berikut :
>db
mydb
Nah, jika seperti diatas maka benar kita berada pada database mydb.
Kita juga dapat mengecek seluruh database pada repo mongodb berserta sizenya, dengan perintah berikut
>show dbs
local 0.78125GB
test 0.23012GB
atau gunakan perintah show databases yang akan menghasilkan output yang sama.
ada sedikit hal yang berbeda pada mongodb ini, ketika kita melihat database yang ada pada system kita dan sebenarnya sudah terbentuk, tapi mengapa tidak muncul pada saat kita menjalankan perintah diatas? jawabannya mudah, semua database yang ditampilkan hanya database yang setidaknya memiliki 1 document didalamnya.

yuk kita buktikan.
>db.movie.insert({"name":"tutorials mongodb"})
>show dbs
local 0.78125GB
mydb 0.23012GB
test 0.23012GB
nahkan, database yang tadi kita harapkan kehadirannya akhirnya muncul juga...
Secara default database pada mongodb adalah test, jadi jangan lupa mengganti database yang aktif dengan perintah use NAMA_DATABASE. karena kalau tidak data apapun yang kita masukkan akan disimpan kedalam database test.

DROP DATABASE
Untuk menghapus database dari system kita juga semudah membuatnya, tapi pastikan database yang kita akan hapus tidak ada data penting yang pada akhirnya kita akan menyesal telah melenyapkan keberadaannya, karena penyesalan selalu datang terlambat sobat :(.
Tapi sudahlah yang lalu biarkan berlalu nanti kita buat database baru hahaha...

Perintah dasar untuk menghapus database pada mongodb adalah sebagai berikut :
db.dropDatabase()
Perintah diatas hanya akan menghapus database yang aktif, akan tetapi jika sebelumnya kita tidak memilih database manapun, maka secara default akan menghapus database test yang merupakan database default.

Contoh :
kita akan menghapus database mydb yang tadi kita buat, tapi alangkah baiknya sebelum melenyapkannya kita berpamitan terlebih dahulu dengan mengecek keberadaannya
>show dbs
  local 0.78125GB
   mydb 0.23012GB
   test 0.23012GB
>
untuk lebih meyakinkan lagi, mari kita pilih mydb sebagai database aktif atau gunakan perintah db untuk mengetahui apakah database tersebut merupakan database aktif atau bukan.

Nah, jika ternyata yang dimaksud ada, maka langsung saja kita hapus tanpa ragu
>use mydb
   switched to db mydb
>db.dropDatabase()
>{ "dropped" : "mydb", "ok" : 1 }
>
Akhirnya... berhasil juga kita menghapusnya dari system kita, tapi tidak dalam kenangan kita bersamanya :(...

Cek kembali list database kita saat ini :
>show dbs
   local 0.78125GB
   test 0.23012GB
>

Yippy berhasil.

CREATE COLLECTIONS
Seperti yang kita ketahui dalam sebuah RDBMS ada database yang berisi banyak table, table yang berisi banyak record dan field. Pada mongodb kita tidak akan menemukan istilah table, disini yang ada hanyalah collections yang sebenarnya sama saja dengan table.

Perintah dasar membentuk sebuah tabel seperti berikut
db.createCollection(name, options)
pada perintah diatas ada name dan options, name merupakan nama dari collection yang akan kita buat, sedangkan option adalah document dan digunakan untuk menspesifikasikan konfigurasi pada collection.

Parameter             Type                 DescriptionName                      String               Name of the collection to be created
Options                   Document        (Optional) Specify options about memory size and indexing

Mulai faham atau semakin membingungkan? berikut penjelasan tambahan terkait options

Field                      Type                  Description
capped                   Boolean             (Optional) If true, enables a capped collection.
                                                        Capped collection is a collection fixed size collecction
                                                        that automatically overwrites its oldest entries
                                                        when it reaches its maximum size.
                                                        If you specify true, you need to specify size parameter also.

autoIndexID          Boolean             (Optional) If true, automatically create index on _id field.s
                                                        Default value is false.
size                        number              (Optional) Specifies a maximum size in bytes for a capped
                                                         collection. If If capped is true, then you need to specify
                                                        this field also.
max                       number              (Optional) Specifies the maximum number of documents
                                                        allowed in the capped collection.

Maaf masih dalam bahasa inggris (sedang malas mentranslate-kan) :D

Contoh :
>use test
   switched to db test
>db.createCollection("mycollection")
  { "ok" : 1 }
>
kita dapat melakukan pengecekan terhadap collections yang kita miliki dengan perintah dibawah ini
>show collections
  mycollection
  system.indexes
Berikut contoh advanced create collection dengan dengan tambahan beberapa options penting :
>db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )
  { "ok" : 1 }
>
Sebenarnya dimongodb kita bahkan tidak perlu melakukan create collections sebelumnya, semua akan mengalir dengan apa adanya alias otomatis ketika kita insert documents
>db.tutorialspoint.insert({"name" : "tutorialspoint"})
>show collections
   mycol
   mycollection
   system.indexes
   tutorialspoint
>
DROP COLLECTIONS
Membuat memang semudah membalikkan telapak tangan, bahkan tanpa command create collection pun kita bisa membuat collection secara otomatis, tapi bagaimana cara menghapusnya?
perintah dasarnya adalah db.COLLECTION_NAME.drop() 
contoh :-

Pertama, Cek collections 
>use mydb
   switched to db mydb
>show collections
   mycol
   mycollection
   system.indexes
   tutorialspoint
>
Selanjutnya Drop Collections
>db.mycollection.drop()
  true
>

sebenarnya langkah cek collection tidak perlu ada, hanya untuk memastikan saja.

Sekian perintah dasar untuk database Mongodb yaitu Create (database, collection & document) serta drop (database, collection & document).

Terimakasih atas perhatiannya, sampai jumpa diartikel" berikutnya...

SEMANGAT!!!

Tuesday, June 7, 2016

MongoDB Data Modeling

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
  • 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 :
{
    _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
       }
    ]
}
Menarik bukan? ayo tunggu apalagi explorasi mongodb lebih lanjut.

Semangat...

Monday, June 6, 2016

Instalasi Mongodb pada Ubuntu Linux

http://ngulikmongo.blogspot.co.id/2016/06/instalasi-mongodb-pada-ubuntu-linux.html


Menyambung artikel sebelumnya Instalasi Mongodb pada OS Windows, maka kali ini kita akan membahas bagaimana instalasi pada OS Ubuntu Linux.
Pertamakali yang harus kita lakukan adalah import MongoDB public GPG Key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

buat file /etc/apt/sources.list.d/mongodb.list menggunakan perintah berikut pada terminal
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee
/etc/apt/sources.list.d/mongodb.list

Langkah selanjutnya, update repository ubuntu
sudo apt-get update
Lalu install mongodb
apt-get install mongodb-10gen=3.2.6
Setelah proses instalasi selesai, berikutnya kita jalankan service mongodb dengan perintah berikut
sudo service mongodb start
Untuk menghentikan(stop) mongodb service dapat dilakaukan dengan simple command berikut
sudo service mongodb stop
Dan perintah untuk restart service dapat dilakukan dengan perintah berikut
sudo service mongodb restart
ketika kita akan menggunakan mongodb console, maka kita dapat memanggilnya dengan perintah berikut pada terminal
mongo
Baiklah selesai sudah instalalsi mongodb pada Ubuntu Linux, pada artikel berikutnya akan kita bahas tentang manual penggunaan dan security dari database mongodb, simak terus.

Selamat Beraktifitas...

Instalasi Mongodb pada windows


Assalamualaikum...

Wah tak terasa sejak blog ini saya buat belum sempat untuk menuliskan kembali, tak terasa 4 tahun sudah sejak blog ini saya release dan tidak produktif, sampai sampai lupa jika memiliki blog ini hahahaa...

Baiklah tanpa panjang lebar, mengingat perkembangan teknologi yang begitu pesat, tak terasa mongodb menjadi salah satu nosql database yang masih sangat diminati, mengingat pertamakali munculnya menjadi sebuah gebrakan teknologi hingga kini menjadi salah satu primadona nosql database dunia, walau banyak database nosql bergulir diluar sana, tapi mongodb rasanya tak tergantikan dengan peningkatan performa dan features yang slalu dikembangkan.

Kita semua sudah tau apa itu nosql, jadi saya beranggapan anda sudah tau dan cukup faham apa itu nosql database, tapi jika tidak dapat merujuk kepada tulisan saya sebelumnya Mengenal Mongodb.
Mongodb sendiri sampai artikel ini saya tulis telah mencapai versi 3.2 dengan peningkatan features dan performa yang cukup signifikan, untuk jelasnya silahkan buka official websitenya

OS yang disupport pada database mongodb hampir mencakup seluruh OS, tapi ada sedikit perbedaan cara instalasinya, karena memang agak berbeda juga system yang digunakan serta binary file yang akan kita eksekusi sebagai installer nantinya.

MENGINSTALL MONGODB PADA WINDOWS
Untuk dapat menginsall mongodb pada windows, terlebih dahulu download release terakhir MongoDB dari link berikut http://www.mongodb.org/downloads, pastikan kita memilih environtmen yang benar dan sesuai dengan versi dari OS Windows kita, untuk mendapatkan OS Version pada windows kita gunakan perintah berikut pada command prompt

C:\>wmic os get osarchitecture
OSArchitecture
64-bit
C:\>
perlu diingat, versi 32bit dari database MongoDB hanya support untuk database yang berukuran kurang dari 2GB dan biasanya hanya digunakan untuk testing dan evaluasi system.

Baiklah, sekarang kita coba extrak terlebih dahulu file hasil download kita (jika berbentuk zip), atau langsung lakukan eksekusi file .msi dan lakukan proses instalasi sampai selesai.
Kita dapat mengekstrak mongodb pada lokasi yang berbeda, tidak harus c:/mongodb atau c:/Program Files/mongodb, caranya dengan menggunakan perintah CD FOLDER/DIR dan setelah berpindah direktory ketempat yang diinginkan, kini kita dapat menjalankan perintah instalasi selanjutnya.

Mongodb membutuhkan folder data untuk menyimpan file databasenya. dan secara default lokasi dari data mongodb terletak pada c:/data/db. sehingga kita perlu membuat folder ini dengan perintah
C:\>md data
C:\md data\db
pada command prompt atau buat secara manual.

jika kita menginstall Mongodb pada lokasi yang berbeda, maka kita harus memberitahukan alternatif dbpath tersebut pada mongod.exe yang merupakan server mongodb.

Pertama, kita harus masuk dahulu kedirektory instalasi mongodb menggunakan command prompt
sebagai contoh instalasi mongodb saya berada pada folder D:\set up\mongodb.
C:\>d:
D:\>cd "set up"
D:\set up>cd mongodb
D:\set up\mongodb>cd bin
D:\set up\mongodb\bin>mongod.exe --dbpath "d:\set up\mongodb\data"
setalah mengeksekusi baris perintah terakhir, maka akan muncul pesan waiting for connections, pada output console yang mengindikasikan bahwa mongod.exe telah berjalan dengan success.

Selanjutnya, buka command prompt yang lain dan jalankan beris perintah berikut
D:\set up\mongodb\bin>mongo.exe
MongoDB shell version: 2.4.6
connecting to: test
>db.test.save( { a: 1 } )
>db.test.find()
{ "_id" : ObjectId(5879b0f65a56a454), "a" : 1 }
>
 ini menandakan bahwa mongodb telah terinstall dan berjalan dengan semestinya, selanjutnya jika kita akan menjalankan mongodb maka kita hanya perlu mengeksekusi satu baris perintah
D:\set up\mongodb\bin>mongod.exe --dbpath "d:\set up\mongodb\data"
D:\set up\mongodb\bin>mongo.exe

Sekian pembahasan mengenai instalasi mongodb pada os window, lain kesempatan akan kita bahas lebih lanjut instalasi mongodb pada os lainnya seperti ubuntu linux dll.

Happy Coding, Programming is easy...