Hadoop: Big Data Appliance


Information Data Corporation (IDC) menghitung bahwa pada tahun 2010 telah tercipta jumlah data sebesar 1.2 ZettaBytes atau 1.2 Trilion Gigabyte. Perusahaan-perusahaan terus menerus menghasilkan jumlah data yang sangat besar. Facebook menghasilkan 6 juta pesan per hari, Ebay menghasilkan 2 juta halaman yang dilihat per harinya (membutuhkan 9 Petabyte storage), dan penyedia lainnya yang juga menghasilkan jumlah data yang besar.

Tool yang ada saat ini tidak dirancang untuk menangani jumlah data yang besar itu. Kini proyek Apache Hadoop mengembangkan piranti lunak untuk komputasi terdistribusi yang reliabel dan skalabel. Hadoop memproses data besar pada cluster-cluster piranti keras komoditas, punya semangat komunitas open-source, dan banyak produk dan tool yang berjalan di atas Hadoop. Saat ini banyak perusahaan yang sudah mengimplementasikan Hadoop seperti AOL, Ebay, twitter, IBM, Adobe, facebook, hulu, LinkedIn, Yahoo, dan lainnya.

Saat ini kapasitas storage tumbuh secara eksponensial, namun pertumbuhan itu tidak didukung dengan kecepatan pembacaan data dari drive. Pada tahun 1990 kapasitas storage yang tersedia sekitar 1.400 MB dengan kecepatan transfer 4.5 MB per detik dan memerlukan waktu 5 menit untuk membaca keseluruhan data. Pada tahun 2010 kapasitas storage sudah mencapai 1 TB dengan kecepatan transfer 100 MB per detik, dan membutuhkan waktu 3 jam untuk membaca keseluruhan datanya. Kini melalui Hadoop 100 drive yang bekerja pada saat yang sama dapat membaca 1 TB data hanya dalam 2 menit saja.

Pada Hadoop cluster terdiri dari set hardware-hardware komoditas yang murah yang dihubungkan satu sama lainnya, dan disimpan di lokasi yang sama (set server yang disimpan dalam set rak di data center) seperti ditunjukkan pada Gambar 1.

Data Center
Gambar 1. Set Rak server yang mengimplementasikan Hadoop cluster [1]

Hadoop tidak memerlukan komputer super, tetapi hardware biasa dan mungkin unreliable. Namun tentunya bukan hardware untuk desktop. Prinsip Hadoop adalah scale out bukan scale up, membawa kode ke data bukan data ke kode, deal dengan kegagalan karena ini sering terjadi, dan merupakan abstraksi kompleksitas aplikasi terdistribusi dan concurrent.

Apa itu scale up dan scale out ? Pada scale up dilakukan penambahan sumber daya untuk node yang saat ini ada misalnya penambahan kapasitas CPU dan RAM. Konsekuensinya adalah unit-unit hardware baru harus dibeli jika sumber daya yang diperlukan tidak dapat ditambahkan. Pendekatan ini dikenal juga dengan istilah perluasan secara vertikal. Pada scale out dilakukan penambahan beberapa node-node atau mesin ke aplikasi terdistribusi yang saat ini ada. Layer piranti lunak dirancang untuk penambahan atau penghapusan node. Hadoop berperan dalam pendekatan ini di mana set node-node diikat bersama-sama menjadi sebuah sistem terdistribusi. Pendekatan ini mempermudah jika ingin dilakukan scale down.

Sampai dengan saat ini banyak aplikasi menggunakan relational database management system (RDBMS) untuk batch processing seperti Oracle, Sybase, MySQL, Microsoft SQL Server dan sebagainya. Hadoop bukan ditujukan untuk mengganti produk-produk tersebut. Banyak arsitektur yang mengambil benefit baik dari RDBMS maupun Hadoop. RDBMS melakukan scale up di mana sangat mahal untuk memperluas instalasi-instalasi yang lebih besar. RDBMS akan mencapai batas atas ketika storage mencapai 100 Terabyte. Hadoop cluster melakukan scale out ke 100 mesin dan ke Petabyte storage. Namun demikian, RDBMS lebih cocok untuk data terstruktur sedangkan Hadoop lebih cocok untuk data semi terstruktur atau tidak terstruktur. Beberapa data seperti citra, JSON, XML, dan sebagainya tidak akan cocok dengan skema relasional.

Hadoop tidak dirancang untuk query real-time atau low latency query. Hadoop lebih cocok untuk batch porocessing yang offline pada jumlah data yang besar. RDBMS sangat cocok untuk transaksi online dan low latency query. Hadoop dirancang untuk mengalirkan file-file besar dan jumlah data yang besar. RDBMS bekerja baik untuk record yang kecil. Atas dasar ini, Hadoop dan RDBMS saling melengkapi satu sama lain di dalam sebuah arsitektur sebagai contoh sebuah web site yang memiliki jumlah pengguna yang sedikit, namun menghasilkan jumlah audit log yang besar seperti ditunjukkan Gambar 2 di bawah ini.

Hadoop
Gambar 2. Kerja sama antara RDBMS dan Hadoop [1]

Produk pertama kali Hadoop adalah HDFS (Hadoop Distributed File System) dan MapReduce (framework untuk pemrosesan data terdistribusi). Saat ini banyak bermunculan produk-produk yang mendukung produk di atas seperti HBase (Hadoop column database di mana mendukung pembacaan batch dan random dan query terbatas), Zookeeper (Highly-Available Coordination Service), Oozie (Hadoop workflow scheduler and manager), Pig (bahasa pemrosesan dan lingkungan eksekusi data), Hive (datawarehouse dengan antarmuka SQL).

Banyak vendor-vendor yang menyediakan framework Hadoop seperti Cloudera Distribution for Hadoop (CDH), MapR Distribution, Hortonworks Data Platform (HDP), Apache BigTop Distribution, dan Greenplum HD Data Computing Appliance. Distribusi yang terkanal adalah CDH di mana mengintegrasikan produk-produk popular seperti HDFS, MapReduce, HBase, Hive, Oozie, Pig, Zookeeper, dan sebagainya. CDH juga didukung oleh sistem operasi seperti Red Hat Enterprise, CentOS, Oracle Linux, Ubuntu, dan SUSE Linux Enterprise Server

Pustaka:
_____________, Hadoop Introduction. http://www.coreservlets.com/hadoop-tutorial/. 2012


Tinggalkan Balasan