DI SUSUN OLEH:
NIM : 202040
KELAS : 6TTBT-D
Puji syukur diucapkan kehadirat Allah Swt. atas segala rahmat-Nya sehingga kami
mampu menyelesaikan makalah ini sampai selesai dan tepat waktu.
Adapun tujuan dari penyusunan makalah ini adalah untuk memenuhi mata kuliah
“TEKNOLOGI BIG DATA”
Penulis sangat berharap semoga makalah ini dapat menambah pengetahuan dan
pengalaman bagi pembaca. Bahkan kami berharap lebih jauh lagi agar makalah ini bisa
pembaca praktikkan dalam kehidupan sehari-hari.
Bagi kami sebagai penyusun merasa bahwa masih banyak kekurangan dalam
penyusunan makalah ini karena keterbatasan pengetahuan dan pengalaman kami. Untuk itu
kami sangat mengharapkan kritik dan saran yang membangun dari pembaca demi
kesempurnaan makalah ini.
Penulis
DAFTAR ISI
B. HBase vs DBMS
Berikut adalah beberapa perbedaan antara Apache HBase dan sistem manajemen basis
data (DBMS) tradisional:
a) Skema Basis Data: Pada DBMS tradisional, data disimpan dalam format
tabular dengan skema yang telah ditentukan sebelumnya. Setiap kolom dalam
tabel memiliki tipe data yang ditentukan dan jumlah kolom harus konsisten
untuk setiap baris. Di sisi lain, HBase adalah basis data berbasis kolom di
mana skema kolom dapat berbeda untuk setiap baris. Hal ini memungkinkan
fleksibilitas dalam menambahkan kolom baru tanpa mempengaruhi baris yang
ada.
b) Model Data: DBMS tradisional mengadopsi model relasional dan
menggunakan SQL (Structured Query Language) untuk mengelola dan
mengakses data. HBase menggunakan model data yang berbeda, yang dikenal
sebagai model data "wide-column" atau "column-family". Data disimpan
dalam keluarga kolom dan akses ke data dilakukan melalui kunci baris.
c) Skalabilitas: DBMS tradisional cenderung memiliki batasan pada skala
horizontal, di mana ukuran data dan beban kerja yang tinggi dapat
menghadirkan tantangan. HBase, di sisi lain, dirancang untuk skala horizontal
secara efisien. Ini dapat beroperasi pada klaster mesin yang besar dan dapat
mengelola jumlah data yang sangat besar.
d) Kecepatan Akses: HBase menyediakan akses acak waktu nyata dengan latensi
rendah. Ini cocok untuk aplikasi yang membutuhkan pembacaan dan penulisan
data secara cepat, seperti analitik waktu nyata atau aplikasi yang
membutuhkan kueri acak pada subset data tertentu. DBMS tradisional
mungkin memiliki performa yang lebih baik untuk operasi yang melibatkan
kueri kompleks atau analisis yang melibatkan banyak tabel dan relasi antar
data.
e) Fitur Durabilitas: DBMS tradisional biasanya menjamin kekonsistenan data
dengan menggunakan transaksi ACID (Atomicity, Consistency, Isolation,
Durability). HBase lebih fokus pada skalabilitas dan performa dengan
menyediakan garansi konsistensi yang kuat dalam satu baris, tetapi tidak
mendukung transaksi ACID yang melibatkan beberapa baris.
f) Penggunaan: DBMS tradisional sering digunakan untuk aplikasi bisnis yang
memerlukan konsistensi tinggi dan pemodelan data yang terstruktur dengan
baik. HBase umumnya digunakan dalam kasus penggunaan di mana skala data
yang besar, akses acak yang cepat, dan fleksibilitas skema diperlukan, seperti
analitik waktu nyata, pengolahan log, atau penyimpanan data IoT.
2. Kolom
Kolom HBase terdiri dari keluarga kolom dan kualifikasi kolom yang dipisahkan
oleh karakter : (titik dua).
a. Keluarga kolom
Keluarga kolom secara fisik menampung satu set kolom dan nilainya;
kemudian, Setiap keluarga kolom memiliki sekumpulan properti
penyimpanan, seperti bagaimana datanya dikompresi, apakah nilainya harus
di-cache, bagaimana kunci barisnya dikodekan, dan banyak lagi. Setiap baris
dalam tabel HBase memiliki keluarga kolom yang sama.
b. Kualifikasi kolom
Kualifikasi kolom untuk kualifikasi ditambahkan ke keluarga kolom untuk
menyediakan indeks bagi bagian data tersebut. Contoh: keluarga kolom adalah
konten, maka kualifikasi kolom dapat berupa konten: HTML atau konten: pdf.
Keluarga Kolom diperbaiki selama pembuatan tabel, tetapi kualifikasi kolom
dapat berubah dan sangat bervariasi di antara baris.
3. Sel
Sel pada dasarnya adalah kombinasi dari baris, keluarga kolom, dan kualifikasi
kolom. Berisi nilai dan stempel waktu yang mewakili versi nilai.
4. Stempel waktu
Stempel waktu adalah pengidentifikasi untuk versi nilai yang diberikan dan ditulis
di sebelah setiap nilai. Default timestamp mewakili waktu di RegionServer saat
data ditulis. Namun, kami dapat menentukan nilai stempel waktu yang berbeda
saat memasukkan data ke dalam sel.
D. Arsitektur HBase
HBase terdiri dari tiga komponen utama: Server Wilayah HBase, Server dan Wilayah
HMaster, dan Zookeeper.
a. RegionServer
RegionServer Ini adalah node pekerja yang menangani permintaanbaca, tulis,
perbarui, dan hapus dari klien. Proses Region Server, berjalan pada setiap node di
cluster hadoop. Region Server berjalan pada HDFS DataNode dan terdiri dari
komponen berikut :
• Blokir Cache – Ini adalah cache baca. Data yang paling sering dibaca
disimpan dalam cache baca dan setiap kali cache blok penuh, data yang baru
digunakan akan dihapus.
• MemStore- Ini adalah cache tulis dan menyimpan data baru yang belum ditulis
ke disk. Setiap keluarga kolom di suatu wilayah memiliki MemStore.
• Write Ahead Log (WAL) adalah file yang menyimpan data baru yang tidak
disimpan ke penyimpanan permanen.
• HFile adalah file penyimpanan sebenarnya yang menyimpan baris sebagai
nilai kunci yang diurutkan pada disk.
b. HMaster
HBase HMaster adalah proses ringan yang menetapkan wilayah ke server
wilayah di kluster Hadoop untuk penyeimbangan muatan. Tanggung jawab
HMaster
• Mengelola dan Memantau Hadoop Cluster
• Melakukan Administrasi (Antarmuka untuk membuat, memperbarui, dan
menghapus tabel.)
• Mengontrol failover
• Operasi DDL ditangani oleh HMaster
• Setiap kali klien ingin mengubah skema dan mengubah salah satu operasi
metadata, HMaster bertanggung jawab atas semua operasi ini.
c. ZooKeeper
HBase menggunakan ZooKeeper sebagai layanan koordinasi terdistribusi
untuk penugasan wilayah dan untuk memulihkan setiap server wilayah yang
mogok dengan memuatnya ke server wilayah lain yang berfungsi. ZooKeeper
adalah server pemantauan terpusat yang memelihara informasi konfigurasi dan
menyediakan sinkronisasi terdistribusi. Setiap kali klien ingin berkomunikasi
dengan wilayah, mereka harus mendekati Zookeeper terlebih dahulu. Server
HMaster dan Wilayah terdaftar dengan layanan ZooKeeper, klien perlu
mengakses kuorum ZooKeeper untuk terhubung dengan server wilayah dan
HMaster. Jika terjadi kegagalan node dalam kluster HBase, ZKquoram akan
memicu pesan kesalahan dan mulai memperbaiki node yang gagal.
Layanan ZooKeeper melacak semua server wilayah yang ada di cluster
HBase - informasi pelacakan tentang berapa banyak server wilayah yang ada dan
server wilayah mana yang memegang DataNode mana. HMaster menghubungi
ZooKeeper untuk mendapatkan detail server wilayah. Berbagai layanan yang
disediakan Zookeeper meliputi :
• Membangun komunikasi klien dengan server wilayah.
• Melacak kegagalan server dan partisi jaringan.
• Pertahankan Informasi Konfigurasi
• Menyediakan node sesaat, yang mewakili server wilayah yang berbeda.
e. Client
Client adalah komponen yang berinteraksi dengan HBase untuk melakukan
operasi baca/tulis data. Aplikasi pengguna dapat menggunakan antarmuka HBase
API, seperti Java API atau REST API, untuk mengirimkan permintaan ke klaster
HBase. Client juga dapat menggunakan antarmuka pengguna berbasis shell untuk
berinteraksi dengan HBase melalui baris perintah.
E. Kompatibilitas HBase dan Mapreduce
Apache HBase dan Apache MapReduce adalah dua komponen utama dalam
ekosistem Apache Hadoop. Mereka secara umum kompatibel dan dapat digunakan
bersama-sama untuk memproses dan menganalisis data dalam skala besar. Berikut
adalah penjelasan tentang kompatibilitas antara HBase dan MapReduce:
a) Integrasi: HBase dapat diintegrasikan dengan MapReduce melalui penggunaan
InputFormat dan OutputFormat yang sesuai. HBase menyediakan
HTableInputFormat dan HTableOutputFormat yang memungkinkan
MapReduce untuk membaca data dari tabel HBase dan menulis hasilnya
kembali ke tabel HBase.
b) Pembacaan Data: Dalam MapReduce, Anda dapat menggunakan
HTableInputFormat untuk membaca data dari tabel HBase sebagai input.
Dengan ini, setiap baris dalam tabel HBase akan menjadi record input untuk
tugas MapReduce. Anda dapat mengakses data baris per baris dan
memprosesnya sesuai dengan logika yang ditentukan dalam tugas
MapReduce.
c) Penulisan Hasil: Setelah pemrosesan dalam tugas MapReduce, Anda dapat
menggunakan HTableOutputFormat untuk menulis hasilnya kembali ke tabel
HBase. Anda dapat menentukan data mana yang akan ditulis ke tabel HBase
dan bagaimana pemetaan hasil dari tugas MapReduce ke tabel HBase harus
dilakukan.
d) Performa: Integrasi antara HBase dan MapReduce dapat memberikan
performa yang baik dalam pengolahan dan analisis data. HBase menyediakan
akses acak waktu nyata dengan latensi rendah, yang berguna untuk tugas
MapReduce yang membutuhkan akses cepat ke data. Selain itu, dengan
mengintegrasikan HBase dengan MapReduce, Anda dapat memanfaatkan
kemampuan pemrosesan dan distribusi paralel dari MapReduce untuk
memproses data dalam skala besar dengan efisiensi tinggi.
e) Fungsi Agregasi: Meskipun HBase memiliki fitur pengindeksan dan
pengaksesan data yang cepat, namun beberapa fungsi agregasi yang umum
dalam MapReduce, seperti penghitungan, pengelompokan, dan
penyederhanaan data, mungkin lebih efisien diimplementasikan menggunakan
MapReduce daripada melalui operasi baris per baris di HBase.
Dengan demikian, HBase dan MapReduce adalah dua komponen yang dapat
bekerja bersama untuk memproses data dalam skala besar. HBase menyediakan
penyimpanan data terdistribusi dengan akses acak yang cepat, sementara MapReduce
memberikan kerangka kerja pemrosesan dan analisis data yang dapat diskalakan
secara horizontal.
DAFTAR PUSTAKA
https://www.analyticsvidhya.com/blog/2022/10/a-brief-introduction-to-apache-hbase-
and-its-architecture/
https://www-projectpro-io.translate.goog/article/overview-of-hbase-architecture-and-
its-components/295?_x_tr_sl=en&_x_tr_tl=id&_x_tr_hl=id&_x_tr_pto=tc
https://intellipaat.com/blog/what-is-apache-hbase/?US