APACHE HBASE 135150207111102 Hendi Maryanto
Apa itu Apache Hbase? Apache Hbase adalah database yang berorientasi pada kolom (column oriented database) yang beroperasi pada system file terdistribusi (distributed file system). Column-oriented database artinya data dipartisi dari node-nodenya berdasarkan column dan bukan berdasarkan row seperti yang dilakukan RDBMS. Hbase secara default beroperasi pada HDFS (Hadoop Distributed File System) yang mampu memproses data dalam skala yang besar secara interaktif. Implementasi dari Google bigtable.
Kelebihan HBase Mengelola data yang sangat besar dalam system terdistribusi Memiliki fungsi sharding original yang dapat bekerja otomatis maupun manual. Mampu menjamin keutuhan data meskipun terjadi kegagalan pada beberapa computer. Mampu menangani input data yang terjadi secara terus-menerus dari ribuan user yang selama menjadi 'bottle neck' pada sistem database sebelumnya.
Struktur data HBase Terdiri dari key dan value. Dikenal dengan istilah Key Value Store (KVS) Key adalah kunci dan value adalah data. Tiap kunci berpasangan dengan satu data. Key disusun berurutan, sedangkan data disimpan berdasarkan lokasi yang ditunjuk oleh Key- nya. Key terdiri atas Row Key, Column Family, Column, dan Timestamp. Value adalah data yang disimpan dalam bentuk 'byte array' yang bisa berupa data teks, angka, website pages, maupun data binary.
Karakteristik unik HBase Distributed by default, Hbase secara default merupakan basis data terdistribusi seperti halnya keluarga Apache big data lain. Dapat berjalan dengan ataupun tanpa HDFS, HBase dapat berjalan diatas HDFS maupun filesystem standar pada sistem operasi kita. Hal ini dapat dikonfigurasi pada hbase-site.xml pada folder/conf di root HBase. Index (row-id) adalah atomic key/value container dengan saturow key, apabila kita hendak mencari suatu nilai yang membutuhkan proses scanning, hal ini kita lakukan dengan mempersempit row-id yang di-scan yakni dengan memberikan exact value kapan row-id mulai dan berakhir di scan (berkaitan dengan karakteristik “tidak memiliki secondary index“) dan menentukan kolom mana saja yang hendak kita scan dengan memanfaatkan karakteristik row-id yang tersusun secara urut
Karakteristik unik HBase Kolom adalah key dalam key/value, dan value/ nilai adalah value-nya, berkaitan dengan karakteristik sebelumnya dimana row adalah suatu kontainer yang berisi key/value dari sekumpulan data maka kolom dalam HBase berperan sebagai key dari pasangan key/value tersebut dengan value yang tersimpan dalam isi kolom yang bersangkutan. Kolom pada setiap row bisa tidak sama, misal kita memiliki row dengan data yang berasal dari Tweeter stream dan row lain yang berasal dari Facebook stream, tentunya kedua struktur data ini berbeda namun misal sama-sama memiliki kolom konten yang berisi komentar dari suatu akun sosial media tersebut.
Karakteristik unik HBase Tidak memiliki secondary index, hampir pada semua bisnis proses, secondary index merupakan kebutuhan dasar. Row dengan kolom “berisi” value null tidak sama dengan row tanpa kolom, apabila kita terbiasa dengan DBMS lain maka akan wajar apabila memasukkan data null ke dalam suatu nilai dari tabel atau record. Batch input dengan lists of Put lebih efisien. Sama halnya dengan pemanfaatan RDBMS lain, seperty MySQL misalkan. Untuk melakukan proses input beberapa data sekaligus akan lebih efektif menggunakan “INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);”.
Arsitektur HBase
Arsitektur HBase HMaster adalah server pada HBase yang bertugas men-start HBase, mendistribusikan Region ke RegionServer yang terdaftar, mendeteksi dan memulihkan RegionServer yang rusak. HMaster tidak menangani data yang disimpan pada HBase. RegionServer adalah server yang bertugas menyimpan dan mengelola Region-region yang diterimanya dari HMaster, menangani permintaan client, dan mempartisi Region yang sudah melewati ukuran maksimal, kemudian melaporkan Region yang telah dipartisi tersebut kepada HMaster. ZooKeeper bertugas mengelola informasi pokok tentang kondisi HBase itu sendiri. ZooKeeper senantiasa mengetahui kondisi terkini dari para RegionServer, kemudian memberikan informasi ini kepada HMaster.
Proses Distribusi Pseudo-distributed Metode distribusi yang paling sederhana yang berjalan pada single host. Digunakan untuk configuration testing dan prototyping. Fully-distributed