Mengenal Hadoop

Home / Big Data / Mengenal Hadoop

Salah satu implementasi dari Big Data yang cukup terkenal adalah Hadoop atau nama resminya Apache Hadoop. Hadoop adalah framework open source berbasis Java di bawah lisensi Apache untuk mensupport aplikasi yang jalan pada Big Data. Hadoop berjalan pada lingkungan yang menyediakan storage dan komputasi secara terdistribusi ke kluster-kluster dari komputer/node.

Asal mula hadoop muncul karena terinspirasi dari makalah tentang Google MapReduce dan Google File System (GFS) yang ditulis oleh ilmuwan dari Google, Jeffrey Dean dan Sanjay Ghemawat pada tahun 2003. Jadi, Google menginspirasi lahirnya Hadoop. Bedanya Big Data Google tidak bersifat open source sementara Hadoop open source. Proses developmen dimulai pada saat proyek Apache Nutch, yang kemudian baru dipindahkan menjadi sub-proyek hadoop pada tahun 2006. Penamaan menjadi hadoop adalah diberikan oleh Doug Cutting, yaitu berdasarkan nama dari mainan gajah anaknya.

Framework hadoop terdiri atas empat modul/komponen utama.

  1. Hadoop HDFS adalah sebuah sistem file terdistribusi.
  2. Hadoop MapReduce adalah sebuah model programming/Algoritma untuk pengelolaan data skala besar dengan komputasi secara terdistribusi
  3. Hadoop YARN adalah sebuah platform resource-management yang bertanggung jawab untuk mengelola resources dalam clusters dan scheduling
  4. Hadoop Common adalah berisi libraries dan utilities yang dibutuhkan oleh modul Hadoop lainnya.

ekosistem-hadoop-hortonworks

Semenjak tahun 2008 framework hadoop bukan hanya empat modul utama tersebut namun merupakan kumpulan modul open source seperti Hive, Pig, Oozie, Zookeeper, Flume Sqoop, Mahout, Hbase, Ambari, Spark, dsb.

Hadoop disini disebut lebih dari sekedar software atau perangkat lunak. Hadoop adalah sekumpulan software yang saling bekerja sama untuk mengolah data. Sekelompok modul dalam arsitektur hadoop kadang di sebut juga sebagai Ekosistem Hadoop. Bisa disebut Hadoop adalah sebuah ekosistem yang terdiri dari software-software yang bekerja sama. Secara garis besarekosistem dibagi menjadi beberapa bagian:

  1. Inti atau core dari Hadoop: Ini adalah software utama yang menjadi dasar dari ekosistem. Software ini bisa didapat di web site Apache Hadoop. Inti hadoop ini terdiri dari beberapa bagian yaitu Hadoop Distributed File System (HDFS) dan Map Reduce. HDFS adalah tempat data-data dan file disimpan. Map Reducedisini adalah program untuk melakukan datamining dan pengolahan data lainnya dari file atau data yang disimpan di HDFS.
  2. Data mining. Bagian ini sebenarnya bisa dikatan adalah API untuk menjalankan Map Reduce. Bagian ini mempermudah membuat dan menjalankan Map Reduce. Dengan demikian akan lebih mudah membuat dan menjalankan query. Contoh dari bagian ini adalah Apache Pig dan Apache Hive
  3. Database NoSQL (Not Only SQL). Bagian ini ada karena proses map reduce biasanya makan waktu lama (karena data yang diproses baisanya besar) dan dilakukan secara periodik dan tidak sewaktu-waktu. Bagian ini memberikan akses data yang lebih cepat dan bisa sewaktu-waktu. Contoh NOSQL yang baisa dipakai adalah Apache HBase dan Apache Cassandra.
  4. Bagian pendukung lain. bagian ini padaumumnya dalah pendukung operasional Hadoop. Contohnya adalah Apache Zookeeper yang berfungsi untuk mengatur distribusi data dan pemrosesan data. Zookeeper dipakai oleh Apache HBase. Apache Flume berfungsi untuk mengatur input kedalam hadoop dari sumer data yang bersifat streaming misalnya dari Twitter. Ada banyak lagi software pendukung Hadoop ini. Seperti Apache Ambari, Apache Oozie dsbnya. Tidak mutlak harus memakai semuanya. Hanya tergantung kebutuhan saja.

Hadoop bisa dijalankan disatu komputer saja (single node) ataupun dalam cluster yang berisi banyak komputer (multi node). Single node biasanya untuk development atau training saja. Hadoop memerlukan Java untuk bisa berjalan. Untuk proses instalasinya juga cukup sederhana. Setelah file core Hadoop di download disitu ada petunjuk menjalankannya. Selanjutnya bisa dipilih mana saja komponen lain yang dibutuhkan.

Dalam pendekatan transaksional, suatu perusahaan akan memiliki komputer skala enterprise (High-End Hardware) untuk menyimpan dan mengolah data besar. Data besar tersebut akan disimpan dalam RDBMS skala enterprise seperti Oracle Database, MS SQL Server atau DB2.
pendekatan-tradisional
Dibutuhkan software canggih untuk dapat menulis, mengakses dan mengolah data besar tersebut dalam rangka kebutuhan analisi

Limitasi Pendekatan Tradisional :

  • Kesulitan menggolah data berukuran sangat besar (Big Data), misal 1 file berukut 500 GB, 1 TB, dst.
  • Keterbatasan Hardware terhadap kemampuan pengolaha data yang besar, sehingga Waktu akses semakin lama ketika memproses data yang semakin sangat besar
  • Hanya bisa data bersifat tabular

Dalam pendekatan Hadoop mendukung pemprosesan secara terdistribusi ke kluster-kluster dari komputer. Hadoop didukung oleh dua komponen utama.

solusi-framwork-hadoop

  • HDFS merupakan sistem penyimpanan/storage terdistribusi, yang melakukan proses pemecahan file besar menjadi bagian-bagian lebih kecil kemudian didistribusikan ke kluster-kluster dari komputer.
  • MapReduce merupakan algoritma/komputasi terdistribusi

Kelebihan Solusi Hadoop dengan didukung oleh dua komponen utama tersebut:

  • Sangat baik untuk mengolah data berukuran besar, bahkan untuk ukuran 1 TB sekalipun
  • Lebih cepat dalam mengakses data berukuran besar
  • Lebih bervariasi data yang bisa disimpan dan diolah dalam bentuk HDFS

Namun dengan kelebihan tersebut bukan berarti tanpa kekurangan, berikut ini limitasi-nya.

  • Tidak cocok untuk OLTP (Online Transaction Processing), di mana data dapat diakses secara randon ke Relational Database
  • Tidak cocok untuk OLAP (Online Analytic Processing)
  • Tidak cocok untuk DSS (Decission Support System)
  • Proses update tidak bisa untuk dilakukan (seperti pada hadoop 2.2), namun untuk Append bisa dilakukan

Berdasarkan beberapa limitasi tersebut dapat disimpulkan bahwa Hadoop adalah sebagai Solusi Big Data untuk pengolahan data besar, menjadi pelengkap OLTP, OLAP, dan DSS, jadi hadoop bukan untuk menggantikan RDBMS. Namun bisa jadi suatu saat hadoop bisa lepas dari limitasi tersebut

Leave a Reply

Your email address will not be published. Required fields are marked *