Map Reduce
dan NoSQL beserta Contohnya
Map Reduce
Model pemrograman yang dirilis
Google yang ditujukan untuk memproses data berukuran raksasa secara
terdistribusi dan parallel. MapReduce ada 2 proses utama, yaitu Map dan Reduce.
Proses Map bertugas untuk mengumpulkan informasi dari potongan-potongan data
yang terditribusi dalam tiap komputer dalam cluster (kelompok komputer yang
saling terhubung). Hasilnya diserahkan kepada proses Reduce untuk diproses
lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke
pengguna.
Macam-macam produk open source
mengenai Map Reduce :
Apache Hadoop
Pig
Cascading
Microsoft Dryad
IBM MapReduce Tool for
Eclipse
Skynet
CouchDB
NoSQL
NoSQL adalah konsep mengenai
penyimpanan data non-relasional. NoSQL sangat berguna pada data-data yang
terus-menerus berkembang, dimana data
tersebut sangat kompleks sehingga sebuah database relational tidak lagi bisa
mengakomodir. Salah satu bentuknya adalah ketika suatu data saling berhubungan
satu sama lain, maka akan muncul proses duplikasi data.
Kelebihan NoSQL
NoSQL bisa menampung data yang
terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala
besar.
Menggunakan OOP dalam pengaksesan
atau manipulasi datanya.
Jika database noSQL di jalankan
di cluster server (multiple server) maka data akan tersebar secara otomatis dan
merata keseluruh server.
Kekurangan NoSQL
Hostingnya mahal. beberapa
layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL.
Sulitnya mencari hosting Cpanel
yang mendukung database MongoDB atau database noSQL lainnya.
CouchDB
CouchDB dikembangkan oleh Apache
telah muncul sebelum mongoDB yaitu pada tahun 2005. CouchDB tidak menyimpan
datanya dalam tabel melainkan dalam dokumen seperti halnya mongoDB.
Basis data ini juga merupakan proyek
open source serta dikembangkan dalam bahasa pemrograman Erlang oleh karena itu
kita bisa ikut berkontribusi dalam pengembangan CouchDB agar basis data ini
lebih baik.
Cassandra
Cassandra merupakan sistem
penyimpanan data terdistribusi untuk menangani jumlah data yang sangat besar
dan terstruktur. Cassandra juga dikembangkan Apache.
Cassandra juga merupakan aplikasi
open source yang ditulis dalam bahasa Java dengan lisensi Apache License 2.0.
Untuk memproses datanya, Cassandra menggunakan bahasa sendiri yang mirip dengan
SQL yaitu Cassandra Query Language (CQL).
MongoDB
MongoDB merupakan basis data yang
paling populer diantara basis data NoSQL lainnya. Hal ini dikarenakan
pemasangan maupun penggunaan mongoDB tidaklah sulit atau merepotkan
penggunanya. Selain itu mongoDB juga merupakan salah satu basis data yang open
source.
MongoDB merupakan basis data
NoSQL yang document based. Ia menyimpan data-datanya dalam suatu dokumen JSON
yang disebut BSON (Binary JSON). Dikembangkan sejak tahun 2009, mongoDB
sekarang telah mendukung hampir semua bahasa pemrograman untuk dapat
berinteraksi dengan mongoDB.
Riak
Riak merupakan basis data NoSQL
terdistribusi yang menyimpan datanya dalam bentu key-value. Riak menawarkan
fitur high availability, fault tolerance, operational simplicaity, dan
scalability.
Riak memiliki dua versi yakni
Open source edition dan Enterprise edition. Enterprise edition menawarkan
dukungan berbayar intensif dari pengembangnya. Pengguna Open source edition
dapat bermigrasi kapan saja ke Enterprise edition jika dibutuhkan. Erlang
ditulis dalam bahasa pemrograman Erlang dengan lisensi Apache License 2.0.
Redis
Redis merupakan basis data
berbasis key-value. Redis merupakan singkatan dari Remote Dictionary Server.
Basis data ini dikembangkan oleh Salvatore Sanfilippo pada tahun 2009 dan
ditulis dalam bahasa C. Redis banyak dipilih karena memiliki fitur in-memory,
networked, dan durabilitas tinggi.
Redis mendukung banyak bahasa
pemrograman seperti ActionScript, C/C++, C#, Clojure, Common LIsp, Dart,
Erlang, Go, Haskell, Haxe, Io, Java, JavaScript (Node.js), Lua, Objective-C,
Perl, PHP, Pure Data, Python, R, Ruby, Scala, Smalltalk, dan Tcl.
Tidak ada komentar:
Posting Komentar