Login
Pengenalan NoSQL MongoDB

Pengenalan NoSQL MongoDB

MongoDB adalah database yang menganut dengan NoSQL. Banyak aplikasi yang menggunakan database NoSQL seperti twitter dan facebook salah satunya. Untuk lebih jelasnya mengapa mereka menggunakan NoSQL.

Perbedaan SQL dan NoSQL

Database merupakan tempat untuk menyimpan data. Semua yang ada di internet / data yang ada di internet selalu disimpan di database. Database mempunyai ukuran kecil dan besar tergantung berapa sesorang membeli databasenya.


Banyak sekali jenis database seperti Oracle, Mysql , SQL Server dan lain sebagainya. Semua database tersebut menggunakan bahasa SQL (Structured Query Language). Bahasa inilah yang mendasari lahirnya database-database baru lainnya tetapi sekarang penggunanya mulai berkurang sejak kehadiran NoSQL.
Kutipan dari wikipedia bahwa NoSQL adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NoSQL mungkin tidak membutuhkan skema table dan umumnya menghindari operasi join dan berkembang secara horisontal. Akademisi menyebut database seperti ini sebagai structured storage, istilah yang didalamnya mencakup sistem menejemen database relasional.
NoSQL diciptakan bukan untuk mengganti database relational atau yang sering disebut SQL. Karena NoSQL dikembangkan untuk menyelesaikan masalah yang ada pada database relasional.


Di bawah ini ada perbedaan SQL dan NoSQL.


1. Jika SQL menggunakan relasional dalam menyampung antar data-data pada table database mereka Sedangkan NoSQL menggunakan metode untuk menstored data seperti Table Oriented, Document Oriented, Key Values Stores dan Graph Oriented.


2. Jika pada database relasional seperti SQL perlu adanya pendefinisian tabel sedangkan untuk NoSQL tidak perlu ada pendefinisian.


3. Memiliki kemampuan yang lebih baik. Dalam jumlah data yang besar tampaknya NoSQL menjadi pilihan utama. Selain itu juga NoSQL lebih mudah untuk menambah server basis data karena tidak perlu mendapatkan downtime.


4. NoSQL memiliki kemampuan mentranformasikan data dengan lebih cepat karena NoSQL menggunakan cache di dalam sistem memori.


Beberapa Aplikasi yang menggunakan NoSQL yaitu :


1. Amazon menggunakan SimpleDB.


2. Twitter menggunakan FlockDB


3. Facebook menggunakan Cassandra


4. Google menggunakan BigTable


5. Linkedlin menggunakan Voldemort

Mengapa menggunakan NoSQL ?

Berkembangnya aplikasi website yang memerlukan pengolahan data dalam ukuran besar memang menjadi masalah, seperti halnya Facebook, Twitter, Google menyimpan dan mengolah data dalam tiap harinya berratus-ratus giga sedangkan kemampuan server seperti RDBMS atau Relational Database Management System terbatas oleh prosessor, memori dan lainnya. Oleh karena itu salah satu caranya adalah dengan diterapkannya NoSQL, sebuah basis data yang cukup baik menangani data-data yang berskala besar seperti Facebook dan kawan-kawan karena NoSQL juga dapat memartisi data ke dalam beberapa server secara lebih mudah.


Mungkin beberapa tahun kedepan cepat atau lambat penggunaan SQL akan beralih ke NoSQL. Apapun yang terjadi persiapkan dan jangan pernah bosen untuk terus belajar.

Selain itu ada juga aplikasi yang menggunakan MongoDB yaitu MTV Networks, Craiglist, Foursquare, UIDA Aadhaar dan lain sebagainya. MongoDB diciptakan pada tahun 2007 menggunakan bahasa pemrograman C++ dan dipublikasikan pada tahun 2009. MongoDB adalah database yang open source (Document-Oriented Database) dan kecepatannya juga empat kali lebih cepat daripada database relasional seperti MYSQL.

Jika kita melihat sekilas database MongoDB strukturnya seperti JSON. Contohnya bisa anda lihat di bawah ini:

{
“Nama” : “Otong”,
“Alamat” : {
“alamat” : “Garut”,
“kota” : “Jawa Barat”,
}
}

Sehingga MongoDB juga disebut BSON karena strukturnya hampir mirip dengan JSON.  Dalam MongoDB tidaka ada namanya tabel, record, kolom dan lainnya yang ada hanya Collection dan Document. Collection seperti halnya tabel dan Document seperti halnya Record. Dengan konsep key-value yang ada pada MongoDB, setiap document otomatis memiliki index id yang unik. Hal ini membantu mempercepat proses pencarian data secara global.

Tags: #Database