Arsitektur, Komponen, Model Data, dan Kasus Penggunaan HBase

Daftar Isi:

Anonim

Mekanisme Penyimpanan di HBase

HBase adalah database berorientasi kolom dan data disimpan dalam tabel. Tabel diurutkan berdasarkan RowId. Seperti yang ditunjukkan di bawah ini, HBase memiliki RowId, yang merupakan kumpulan dari beberapa keluarga kolom yang ada dalam tabel.

Keluarga kolom yang ada dalam skema adalah pasangan nilai kunci. Jika kita amati secara rinci setiap keluarga kolom memiliki banyak jumlah kolom. Nilai kolom disimpan ke dalam memori disk. Setiap sel tabel memiliki Metadata sendiri seperti stempel waktu dan informasi lainnya.

Mekanisme Penyimpanan di HBase

Datang ke HBase berikut ini adalah istilah-istilah kunci yang mewakili skema tabel

  • Tabel : Kumpulan baris yang ada.
  • Baris : Koleksi keluarga kolom.
  • Keluarga Kolom : Kumpulan kolom.
  • Kolom : Kumpulan pasangan nilai kunci.
  • Namespace : Pengelompokan tabel secara logis.
  • Sel : Tupel {baris, kolom, versi} secara persis menentukan definisi sel di HBase.

Dalam tutorial ini- Anda akan belajar,

  • Mekanisme Penyimpanan di HBase
  • Model Data HBase
  • Arsitektur HBase dan Komponen Pentingnya
  • HBase Membaca dan Menulis Data Dijelaskan
  • Kasus Penggunaan HBase
  • HBASE vs. HDFS

Penyimpanan berorientasi kolom vs berorientasi baris

Penyimpanan berorientasi Kolom dan Baris berbeda dalam mekanisme penyimpanannya. Seperti kita ketahui, model relasional tradisional menyimpan data dalam format berbasis baris seperti dalam hal baris data. Penyimpanan berorientasi kolom menyimpan tabel data dalam hal kolom dan keluarga kolom.

Tabel berikut memberikan beberapa perbedaan utama antara kedua penyimpanan ini

Database Berorientasi Kolom Database berorientasi baris
  • Ketika situasinya datang untuk proses dan analitik, kami menggunakan pendekatan ini. Seperti Pemrosesan Analitik Online dan aplikasinya.
  • Proses Transaksional Online seperti domain perbankan dan keuangan menggunakan pendekatan ini.
  • Jumlah data yang dapat disimpan dalam model ini sangat besar seperti dalam satuan petabyte
  • Ini dirancang untuk sejumlah kecil baris dan kolom.

Model Data HBase

Model Data HBase adalah sekumpulan komponen yang terdiri dari Tabel, Baris, keluarga Kolom, Sel, Kolom, dan Versi. Tabel HBase berisi keluarga kolom dan baris dengan elemen yang didefinisikan sebagai kunci Primer. Kolom dalam tabel model data HBase mewakili atribut ke objek.

Model Data HBase terdiri dari elemen-elemen berikut,

  • Set tabel
  • Setiap tabel dengan keluarga kolom dan baris
  • Setiap tabel harus memiliki elemen yang didefinisikan sebagai Kunci Utama.
  • Kunci baris bertindak sebagai kunci Primer di HBase.
  • Akses apa pun ke tabel HBase menggunakan Kunci Utama ini
  • Setiap kolom yang ada di HBase menunjukkan atribut yang sesuai dengan objek

Arsitektur HBase dan Komponen Pentingnya

Di bawah ini adalah architrecutre rinci dari HBase dengan komponen:

Diagram Arsitektur HBase

Arsitektur HBase terutama terdiri dari empat komponen

  • HMaster
  • HRegionserver
  • HRegions
  • Penjaga kebun binatang
  • HDFS

HMaster:

HMaster di HBase adalah implementasi dari server Master dalam arsitektur HBase. Ini bertindak sebagai agen pemantauan untuk memantau semua contoh Server Wilayah yang ada di cluster dan bertindak sebagai antarmuka untuk semua perubahan metadata. Dalam lingkungan cluster terdistribusi, Master berjalan di NameNode. Master menjalankan beberapa utas latar belakang.

Berikut ini adalah peran penting yang dilakukan oleh HMaster di HBase.

  • Berperan penting dalam hal kinerja dan pemeliharaan node di cluster.
  • HMaster memberikan kinerja admin dan mendistribusikan layanan ke server wilayah yang berbeda.
  • HMaster menetapkan wilayah ke server wilayah.
  • HMaster memiliki fitur seperti mengontrol load balancing dan failover untuk menangani beban pada node yang ada di cluster.
  • Ketika klien ingin mengubah skema apa pun dan mengubah operasi Metadata apa pun, HMaster bertanggung jawab atas operasi ini.

Beberapa metode yang diekspos oleh HMaster Interface terutama metode berorientasi Metadata.

  • Tabel (createTable, removeTable, aktifkan, nonaktifkan)
  • ColumnFamily (tambahkan Kolom, ubah Kolom)
  • Wilayah (pindah, tetapkan)

Klien berkomunikasi secara dua arah dengan HMaster dan ZooKeeper. Untuk operasi baca dan tulis, itu langsung kontak dengan server HRegion. HMaster menetapkan wilayah ke server wilayah dan pada gilirannya, periksa status kesehatan server wilayah.

Di seluruh arsitektur, kami memiliki beberapa server wilayah. Hlog hadir di server wilayah yang akan menyimpan semua file log.

Server Wilayah HBase:

Ketika Server Wilayah HBase menerima permintaan menulis dan membaca dari klien, itu menetapkan permintaan ke wilayah tertentu, di mana keluarga kolom sebenarnya berada. Namun, klien dapat langsung menghubungi server HRegion, tidak perlu izin wajib HMaster kepada klien terkait komunikasi dengan server HRegion. Klien memerlukan bantuan HMaster saat operasi yang terkait dengan metadata dan perubahan skema diperlukan.

HRegionServer adalah implementasi Server Wilayah. Ini bertanggung jawab untuk melayani dan mengelola wilayah atau data yang ada di cluster terdistribusi. Server wilayah berjalan di Data Nodes yang ada di cluster Hadoop.

HMaster dapat menghubungi beberapa server HRegion dan melakukan fungsi berikut.

  • Menjadi tuan rumah dan mengelola wilayah
  • Membagi wilayah secara otomatis
  • Menangani permintaan baca dan tulis
  • Berkomunikasi dengan klien secara langsung

Wilayah HBase:

HRegion adalah elemen bangunan dasar cluster HBase yang terdiri dari distribusi tabel dan terdiri dari famili Kolom. Ini berisi beberapa toko, satu untuk setiap keluarga kolom. Ini terutama terdiri dari dua komponen, yaitu Memstore dan Hfile.

Penjaga kebun binatang:

HBase Zookeeper adalah server pemantauan terpusat yang memelihara informasi konfigurasi dan menyediakan sinkronisasi terdistribusi. Sinkronisasi terdistribusi adalah untuk mengakses aplikasi terdistribusi yang berjalan di seluruh kluster dengan tanggung jawab menyediakan layanan koordinasi antar node. Jika klien ingin berkomunikasi dengan wilayah, klien server harus mendekati Zookeeper terlebih dahulu.

Ini adalah proyek open source, dan menyediakan begitu banyak layanan penting.

Layanan yang diberikan oleh Zookeeper

  • Menjaga informasi Konfigurasi
  • Menyediakan sinkronisasi terdistribusi
  • Pembentukan Komunikasi Klien dengan server wilayah
  • Menyediakan node singkat yang mewakili server wilayah berbeda
  • Kegunaan server master dari node ephemeral untuk menemukan server yang tersedia di cluster
  • Untuk melacak kegagalan server dan partisi jaringan

Node budak Master dan HBase (server wilayah) mendaftarkan diri mereka ke Zookeeper. Klien memerlukan akses ke konfigurasi kuorum ZK (penjaga kebun binatang) untuk terhubung dengan server master dan wilayah.

Selama kegagalan node yang ada di cluster HBase, ZKquoram akan memicu pesan error, dan mulai memperbaiki node yang gagal.

HDFS:

HDFS adalah sistem file terdistribusi Hadoop, seperti namanya menyediakan lingkungan terdistribusi untuk penyimpanan dan ini adalah sistem file yang dirancang sedemikian rupa untuk dijalankan pada perangkat keras komoditas. Ini menyimpan setiap file dalam beberapa blok dan untuk mempertahankan toleransi kesalahan, blok direplikasi di seluruh cluster Hadoop.

HDFS memberikan toleransi kesalahan tingkat tinggi dan berjalan pada perangkat keras komoditas yang murah. Dengan menambahkan node ke cluster dan melakukan pemrosesan & penyimpanan dengan menggunakan perangkat keras komoditas murah, ini akan memberikan hasil yang lebih baik kepada klien dibandingkan dengan yang sudah ada.

Di sini, data yang disimpan di setiap blok mereplikasi menjadi 3 node, jika ada node yang turun tidak akan ada kehilangan data, itu akan memiliki mekanisme pemulihan cadangan yang tepat.

HDFS berhubungan dengan komponen HBase dan menyimpan sejumlah besar data secara terdistribusi.

HBase Membaca dan Menulis Data Dijelaskan

Operasi Baca dan Tulis dari Klien ke Hfile dapat ditunjukkan pada diagram di bawah ini.

Langkah 1) Klien ingin menulis data dan pada gilirannya pertama-tama berkomunikasi dengan server Wilayah dan kemudian wilayah

Langkah 2) Wilayah yang menghubungi memstore untuk penyimpanan yang terkait dengan keluarga kolom

Langkah 3) Pertama-tama data disimpan ke dalam Memstore, tempat data diurutkan dan setelah itu, data tersebut dimasukkan ke dalam HFile. Alasan utama menggunakan Memstore adalah untuk menyimpan data dalam sistem file Terdistribusi berdasarkan Kunci Baris. Memstore akan ditempatkan di memori utama server Wilayah sementara HFile ditulis ke dalam HDFS.

Langkah 4) Klien ingin membaca data dari Wilayah

Langkah 5) Pada gilirannya, Klien dapat memiliki akses langsung ke penyimpanan Mem, dan dapat meminta data.

Langkah 6) Klien mendekati HFiles untuk mendapatkan data. Data diambil dan diambil oleh Klien.

Memstore menyimpan modifikasi dalam memori ke penyimpanan. Hierarki objek di Wilayah HBase seperti yang ditunjukkan dari atas ke bawah pada tabel di bawah ini.

Meja Tabel HBase hadir di cluster HBase
Wilayah HRegion untuk tabel yang disajikan
Toko Ini menyimpan per ColumnFamily untuk setiap wilayah untuk tabel
Memstore
  • Memstore untuk setiap toko untuk setiap wilayah untuk tabel
  • Ini mengurutkan data sebelum disalurkan ke HFiles
  • Performa menulis dan membaca akan meningkat karena pengurutan
StoreFile StoreFiles untuk setiap toko untuk setiap wilayah untuk tabel
Blok Blok ada di dalam StoreFiles

Kasus Penggunaan HBase

Berikut adalah contoh kasus penggunaan HBase dengan penjelasan rinci tentang solusi yang diberikannya untuk berbagai masalah teknis

Pernyataan masalah Larutan
Industri Telekomunikasi menghadapi tantangan teknis berikut
  • Menyimpan miliaran catatan log CDR (Call detail recording) yang dihasilkan oleh domain telekomunikasi
  • Menyediakan akses real-time ke log CDR dan informasi penagihan pelanggan
  • Memberikan solusi hemat biaya dibandingkan dengan sistem database tradisional
HBase digunakan untuk menyimpan miliaran baris catatan panggilan terperinci. Jika 20TB data ditambahkan setiap bulan ke database RDBMS yang ada, kinerja akan menurun. Untuk menangani sejumlah besar data dalam kasus penggunaan ini, HBase adalah solusi terbaik. HBase melakukan query cepat dan menampilkan catatan.
Industri Perbankan menghasilkan jutaan catatan setiap hari. Selain itu, industri perbankan juga membutuhkan solusi analitik yang dapat mendeteksi Fraud dalam transaksi uang Untuk menyimpan, memproses, dan memperbarui volume data yang besar dan melakukan analisis, solusi yang ideal adalah - HBase terintegrasi dengan beberapa komponen ekosistem Hadoop.

Selain itu, HBase bisa digunakan

  • Kapanpun ada kebutuhan untuk menulis aplikasi berat.
  • Melakukan analitik log online dan untuk menghasilkan laporan kepatuhan.

HBase vs HDFS

HBase berjalan di atas HDFS dan Hadoop. Beberapa perbedaan utama antara HDFS dan HBase adalah dalam hal operasi dan pemrosesan data.

HBASE

HDFS

  • Operasi latensi rendah
  • Operasi latensi tinggi
  • Membaca dan menulis secara acak
  • Menulis sekali Baca berkali-kali
  • Diakses melalui perintah shell, API klien di Java, REST, Avro atau Thrift
  • Terutama diakses melalui pekerjaan MR (Map Reduce)
  • Penyimpanan dan proses keduanya dapat dilakukan
  • Ini hanya untuk tempat penyimpanan

Beberapa aplikasi industri TI yang khas menggunakan operasi HBase bersama dengan Hadoop. Aplikasi termasuk data bursa saham, operasi data perbankan online, dan pengolahan Hbase adalah metode solusi yang paling sesuai.

Ringkasan

Hbase adalah salah satu database terdistribusi berorientasi kolom NoSql yang tersedia di apache foundation. HBase memberikan performa lebih untuk mengambil lebih sedikit rekaman daripada Hadoop atau Hive. Sangat mudah untuk mencari nilai input yang diberikan karena mendukung pengindeksan, transaksi, dan pembaruan.

Kami dapat melakukan analitik real-time online menggunakan Hbase yang terintegrasi dengan ekosistem Hadoop. Ini memiliki sharding otomatis dan dapat dikonfigurasi untuk kumpulan data atau tabel dan menyediakan API yang tenang untuk melakukan pekerjaan MapReduce.