HOME

Jurnal No Sql [Tugas Basis Data]

Jurnal NoSql ( Big Data)

header


Abstrak

Sekilas pengetahuan tentang Not Only SQL atau sering di sebut dengan kata NoSQL yaitu metode penyimpanan database yang di peruntunkan untuk skala yang besar karena tidak lagi memerlukan relasi antar tabel dan tidak menyimpan data dalam format tabel kaku (kolom yang fix) seperti layaknya Relasional Database. dalam perkembangannya saat ini jelas NoSql akan sangat mengungguli beberapa storage dalam skala besar tapi bukan tidak mungkin akan lemah pada beberapa situasi contohnya seperti spesifikasi server yang terbatas atau kurang mumpuni malah akan menjadi kurang optimal.


Pendahuluan

Artikel ini merupakan artikel yang ditunjukan untuk keperluan tugas BASIS DATA I tentang NoSQL, Secara awam mungkin kita akan menganggap kata-kata itu sangat asing di telinga kita bahkan bisa saja kita menyalahkannya karena yang biasa kita dengar adalah SQL ( Structured Query Language )  bukan NoSql, pada dasarnya NoSql memiliki peranan dan fungsi yang sama, hanya saja pada perkembangannya NoSql di peruntunkan untuk data-data besar yang meminimalisir perubahan-perubahan pada kolom yang akan terjadi di data yg besar, seperti yang kita tahu bahwasanya apabila ada penambahan kolom-kolom tertentu pada tabel di Sql seperti MySql kita memerlukan perubahan besar pada database kita dan itu merupakan bencana besar bagi para programmer karena harus menstruktur ulang data-data tersebut. Johan Oskarsson dari Last.fm memperkenalkan kembali istilah NOSQL pada awal 2009 ketika ia menyelenggarakan sebuah acara untuk membahas “Distributed Open Source dan Non-relational Database”. Nama berusaha untuk label munculnya peningkatan jumlah non-relasional, didistribusikan menyimpan data, termasuk kloning open source dari Google Bigtable/MapReduce dan Amazon Dynamo.

Selain itu kalau di dalam konsep DBMS biasanya sebelum insert data Anda diharuskan untuk mendefinisikan terlebih dahulu struktur tabel seperti tipe data dan ukurannya, di konsep NoSQL ini Anda bisa menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Jadi lebih fleksibel bila ada perubahan di masa mendatang.  Adapun beberapa database NoSQL yang ada saat ini yaitu Cassandra, Big Table, CouchDB, Redis, Riak, Dynamo dan lainnya. Tentunya yang akan kita bahas di sini secara khusus adalah MongoDB.


Bahan ,Metode dan Hasil

MongoDB merupakan database open source berbasis dokumen (Document-Oriented Database) yang awalnya dibuat dengan bahasa C++. MongoDB sendiri sudah dikembangkan oleh 10gen sejak Oktober 2007, namun baru dipublikasikan pada Februari 2009. Selain karena performanya  4 kali lebih cepat dibandingkan MySQL serta mudah diaplikasikan, karena telah tergabung juga sebagai modul PHP.

Dalam konsep MongoDB tidak ada yang namanya tabel, kolom ataupun baris yang ada hanyalah collection (ibaratnya tabel), document (ibaratnya record).

Kelebihan MongoDB :
MongoDB hadir dengan beberapa kelebihan yaitu :

  • Performa yang ditawarkan MongoDB lebih cepat dibandingkan MySQL ini disebabkan oleh memcached dan format dokumennya yang berbentuk seperti JSON
  • Replikasi, adalah fitur yang sangat bermanfaat untuk backup data secara realtime. MongoDB sangat cocok digunakan untuk portal berita ataupun blog, namun belum cocok untuk digunakan pada sistem informasi yang berkaitan dengan keuangan karena MongoDB tidak mendukung transaction SQL
  • Auto-sharding, merupakan fitur untuk memecah database yang besar menjadi beberapa bagian demi optimalisasi performa database. Penggunaannya sendiri sangat berguna ketika Anda memiliki website dengan database yang jutaan baris, sharding akan membantu memecahnya menjadi beberapa bagian
  • MongoDB juga sudah mendukung C, C++, C#, Erlang, Haskell, Java, JavaScript, .NET(C# F#, PowerShell), Lips, Perl, PHP, Python, Ruby dan Scala
  • Cross-platform, sehingga dapat digunakan di Windows, Linux, OS X dan Solaris
  • Proses CRUD (Create, Read, Update, Delete) terasa sangat ringan
  • Map/Reduce, akan sangat membantu ketika kita melakukan operasi agregasi. Dimana semua entry datangnya dari collection dan outputnya pun akan menjadi collection juga. Kalau di MySQL biasanya kita menggunakan query GROUP BY
  • GridFS, spesifikasi yang digunakan untuk menyimpan data yang sangat besar

Instalasi MongoDB
Sebagai contoh kali ini, saya akan mencoba untuk menginstalasi MongoDB di Windows saya yaitu windows 7 64bit. Sebelum memulai, Anda harus mengunduh dari link berikut ini (tersedia untuk 32-bit dan 64-bit) : http://www.mongodb.org/downloads

setelah di unduh silahkan ekstract apabila unduhannya zip. atau klik run apabila berformat .msi , sesuaikan direcoroty instalasi mongodb, di sini saya instal di C:\\xampp\mongo\

Tahap pertama kita run service mongodb  dan membuat patch db , caranya adalah buka direcroty bin dan klik command atau arahkan cmd pada directory bin anda di instal :

C:\xampp\mongo\bin>mongod –dbpath=C:\xampp\mongo\db
Maka akan keluar notice port waiting,

New Picture

buka cmd baru lalu arahkan ke directory :
C:\xampp\mongo\bin>mongo
Secara otomatis port waiting tersebut akan menuliskan accepted,

New Picture (1)

untuk menampilan total dbase yang ada, kita ketik perintah :
> show dbs;
New Picture (2)

dari gambar di atas saya coba memasukan 1 database bernama “stmikmb” dengan 2 collation atau sama dengan 2 tabel apabila kita buat di sql, dan setelah kita coba show ada satu tambahan field yaitu “_id” , ini adalah perbedaan mendasar pada NoSql dengan sql yang pernah kita buat, apabila di dalam sql kita perlu menentukan primary key tapi di NoSql _id tersebut akan otomatis menjadi index yang bisa saling menghubungkan.

New Picture (4)

Tampilan editor Gui Mongodb yang coba saya pilih yaitu mongobooster.

Pembahasan :

NoSQL (singkatan dari Not Only SQL) sendiri adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS ataupun ODBMS. Perbedaan utamanya sendiri yaitu karena tidak mengenal istilah relation dan tidak menggunakan konsep schema. Kalau biasanya Anda menggunakan query ‘Join’ di sini Anda tidak bisa menggunakannya karena setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya alias independen.

Selain itu kalau di dalam konsep DBMS biasanya sebelum insert data Anda diharuskan untuk mendefinisikan terlebih dahulu struktur tabel seperti tipe data dan ukurannya, di konsep NoSQL ini Anda bisa menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Jadi lebih fleksibel bila ada perubahan di masa mendatang.  Adapun beberapa database NoSQL yang ada saat ini yaitu Cassandra, Big Table, CouchDB, Redis, Riak, Dynamo dan lainnya. Tentunya yang akan kita bahas di sini secara khusus adalah MongoDB.

Pengelompokan database noSQL

Secara umum, database noSQL dibagi menurut format penyimpanan dokmentnya . Berikut ini adalah pengelompokan database noSQL berdasarkan model (penyimpanan) datanya

  • Document Database contohnya MongoDB, seiap satu object data disimpan dalam satu dokumen. Dokumen sendiri bisa terdiri dari key-value, dan value sendiri bisa berupa array atau key-value bertingkat.
  • Graph , Format penyimpanan data dalam struktur graph. Format ini sering dipakai untuk data yang saling berhubungan seperti jejaring social. Contoh database noSQL dengan format ini adalah Neo4J dan FlockDB. FlockDB dipakai oleh twitter.
  • Key – Value,  contoh database jenis ini adalah Apache Cassandra.
  • Object Database. Format database yang disimpan dalam object object, Object disini sama dengan pengertian object di Pemrograman beroreintasi object , Contoh databasenya adalah Db4o.
  • Tipe lainnya adalah tabular, tuple store dan berbagai jenis lain yang tidak terlalu populer.

Kelebihan NoSQL di banding Relasional Database

  • NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar (big data/cloud).
  • Menggunakan OOP dalam pengaksesan atau manipulasi datanya.
  • NoSQL tidak mengenal schema tabel yang kaku dengan format data yang kaku. NoSQL sangat cocok untuk data yang tidak terstruktur, istilah singkat untuk fitur ini adalah Dynamic Schema.
  • Autosharding, istilah sederhananya, jika database noSQL di jalankandi cluster server (multiple server) maka data akan tersebar secara otomatis dan merata keseluruh server.

Kekurangan dari database NoSQL sendiri

  • minimal bagi saya adalah Hostingnya mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL.
  • Selain itu, saya belum banyak menemukan hosting Cpanel yang mendukung database MongoDB atau database noSQL lainnya.
  • karena bervariasinya produk dan format penyimpanan, berpindah antar satu produk database ke produk noSQL lainnya perlu waktu untuk belajar. Contohnya ketika anda pindah dari MongoDB ke Cassandra, maka anda harus belajar lagi dari awal, berbeda dengan database RDMS.

Kesimpulan

Dari beberapa peninjauan artikel yang membahas tentang Nosql juga mencoba praktical dasar pada pembuatan database, mungkin untuk skala kecil menengah memang kita akan lebih memilih konsep sql selain sudah banyak fitur yang kita kenal kompabilitas pada beberapa hosting pun sangat memadai, tapi sebagai Programmer atau orang-orang yang terlibat dalam bidang IT kita tidak bisa menutup mata maupun telinga atas konsep pembaharuan yang di bawa oleh NoSql, jadi memang materi NoSql ini akan menjadi Tugas dan pengetahuan kita saat kita terjun kedunia kerja nanti apabila memang skala data yang di butuhkan sangatlah besar.

Daftar Pustaka

  1. Wikipedia : search keyword “NoSql”
  2. Timposu.com : ” Tutorial MongoDB”
  3. Sutanto.org : “Big Data”
  4. Lembaga ilmu Pengetahuan indonseia : “Tentang Jurnal”
Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s