Senibina, Komponen, Model Data, dan Kes Penggunaan HBase

Isi kandungan:

Anonim

Mekanisme Penyimpanan di HBase

HBase adalah pangkalan data berorientasikan lajur dan data disimpan dalam jadual. Jadual disusun mengikut RowId. Seperti yang ditunjukkan di bawah, HBase mempunyai RowId, yang merupakan koleksi beberapa keluarga lajur yang terdapat dalam jadual.

Keluarga lajur yang terdapat dalam skema adalah pasangan nilai-kunci. Sekiranya kita perhatikan secara terperinci setiap keluarga lajur mempunyai banyak lajur. Nilai lajur disimpan ke dalam memori cakera. Setiap sel jadual mempunyai Metadata sendiri seperti cap waktu dan maklumat lain.

Mekanisme Penyimpanan di HBase

Datang ke HBase berikut adalah istilah utama yang mewakili skema jadual

  • Jadual : Koleksi baris yang ada.
  • Baris : Koleksi keluarga lajur.
  • Kolum Keluarga : Koleksi lajur.
  • Lajur : Koleksi pasangan nilai-kunci.
  • Namespace : Pengelompokan jadual secara logik.
  • Sel : tuple {baris, lajur, versi} dengan tepat menentukan definisi sel di HBase.

Dalam tutorial ini- anda akan belajar,

  • Mekanisme Penyimpanan di HBase
  • Model Data HBase
  • Senibina HBase dan Komponen Pentingnya
  • HBase Membaca dan Menulis Data yang Dijelaskan
  • Kes Penggunaan HBase
  • HBASE vs HDFS

Stor berorientasikan lajur vs berorientasikan baris

Stor berorientasikan tiang dan baris berbeza dalam mekanisme penyimpanannya. Seperti yang kita semua tahu model hubungan tradisional menyimpan data dari segi format berdasarkan baris seperti dari segi baris data. Stor berorientasikan lajur menyimpan jadual data dari segi lajur dan keluarga lajur.

Jadual berikut memberikan beberapa perbezaan utama antara dua stor ini

Pangkalan Data berorientasikan lajur Pangkalan Data berorientasikan baris
  • Apabila keadaan menjadi proses dan analitik, kami menggunakan pendekatan ini. Seperti Pemprosesan Analisis Dalam Talian dan aplikasinya.
  • Proses Transaksi dalam talian seperti domain perbankan dan kewangan menggunakan pendekatan ini.
  • Jumlah data yang dapat disimpan dalam model ini sangat besar seperti dari segi petabyte
  • Ia direka untuk sebilangan kecil baris dan lajur.

Model Data HBase

Model Data HBase adalah sekumpulan komponen yang terdiri daripada Jadual, Baris, keluarga Lajur, Sel, Lajur, dan Versi. Jadual HBase mengandungi keluarga lajur dan baris dengan elemen yang ditentukan sebagai kunci Utama. Lajur dalam jadual model data HBase mewakili atribut ke objek.

Model Data HBase terdiri daripada elemen berikut,

  • Set jadual
  • Setiap jadual dengan keluarga lajur dan baris
  • Setiap jadual mesti mempunyai elemen yang ditentukan sebagai Kunci Utama.
  • Kekunci baris berfungsi sebagai kunci Utama di HBase.
  • Sebarang akses ke jadual HBase menggunakan Kunci Utama ini
  • Setiap lajur yang terdapat di HBase menunjukkan atribut yang sesuai dengan objek

Senibina HBase dan Komponen Pentingnya

Di bawah ini adalah kaedah pemarkahan terperinci HBase dengan komponen:

Diagram Senibina HBase

Senibina HBase terdiri daripada empat komponen

  • Tuan Besar
  • Pelayan lelaki
  • Kawasan HR
  • Penjaga zoo
  • HDFS

HMaster:

HMaster di HBase adalah pelaksanaan pelayan Master dalam seni bina HBase. Ia bertindak sebagai agen pemantauan untuk memantau semua kejadian Server Region yang terdapat dalam kluster dan bertindak sebagai antara muka untuk semua perubahan metadata. Dalam persekitaran kluster yang diedarkan, Master menjalankan NameNode. Guru menjalankan beberapa utas latar.

Berikut adalah peranan penting yang dilakukan oleh HMaster di HBase.

  • Memainkan peranan penting dari segi prestasi dan mengekalkan nod dalam kluster.
  • HMaster memberikan prestasi pentadbir dan mengedarkan perkhidmatan ke pelayan wilayah yang berbeza.
  • HMaster memberikan wilayah ke pelayan wilayah.
  • HMaster mempunyai ciri-ciri seperti mengawal pengimbangan beban dan failover untuk menangani beban melebihi nod yang terdapat dalam kluster.
  • Apabila pelanggan ingin mengubah skema apa pun dan mengubah operasi Metadata, HMaster bertanggungjawab untuk operasi ini.

Beberapa kaedah yang didedahkan oleh HMaster Interface adalah kaedah berorientasikan Metadata.

  • Jadual (createTable, removeTable, enabled, disable)
  • ColumnFamily (tambahkan Lajur, ubah suai Lajur)
  • Wilayah (bergerak, menetapkan)

Pelanggan berkomunikasi secara dua arah dengan HMaster dan ZooKeeper. Untuk operasi membaca dan menulis, ia bersentuhan langsung dengan pelayan HRegion. HMaster menetapkan wilayah ke pelayan wilayah dan seterusnya, periksa status kesihatan pelayan wilayah.

Dalam keseluruhan seni bina, kami mempunyai pelayan wilayah. Hlog hadir di pelayan wilayah yang akan menyimpan semua fail log.

Pelayan Kawasan HBase:

Apabila HBase Region Server menerima permintaan menulis dan membaca dari klien, ia memberikan permintaan tersebut ke wilayah tertentu, tempat keluarga lajur sebenarnya berada. Walau bagaimanapun, pelanggan boleh menghubungi langsung dengan pelayan HRegion, tidak perlu ada izin wajib HMaster kepada pelanggan berkenaan komunikasi dengan pelayan HRegion. Pelanggan memerlukan bantuan HMaster apabila operasi yang berkaitan dengan metadata dan perubahan skema diperlukan.

HRegionServer adalah pelaksanaan Region Server. Ini bertanggung jawab untuk melayani dan mengurus wilayah atau data yang ada dalam kluster yang diedarkan. Pelayan wilayah berjalan pada Node Data yang terdapat dalam kluster Hadoop.

HMaster dapat bersentuhan dengan beberapa pelayan HRegion dan melakukan fungsi berikut.

  • Menjamu dan mengurus kawasan
  • Memisahkan kawasan secara automatik
  • Mengendalikan permintaan membaca dan menulis
  • Berkomunikasi dengan pelanggan secara langsung

Kawasan HBase:

HRegions adalah elemen asas pembinaan kluster HBase yang terdiri daripada taburan jadual dan terdiri daripada keluarga Column. Ia mengandungi banyak kedai, satu untuk setiap keluarga lajur. Ia terdiri daripada dua komponen, iaitu Memstore dan Hfile.

Penjaga zoo:

HBase Zookeeper adalah pelayan pemantauan terpusat yang mengekalkan maklumat konfigurasi dan menyediakan penyegerakan yang diedarkan. Penyegerakan terdistribusi adalah untuk mengakses aplikasi yang diedarkan yang berjalan di seluruh kluster dengan tanggungjawab memberikan perkhidmatan penyelarasan antara nod. Sekiranya pelanggan ingin berkomunikasi dengan kawasan, pelanggan pelayan harus mendekati ZooKeeper terlebih dahulu.

Ini adalah projek sumber terbuka, dan menyediakan begitu banyak perkhidmatan penting.

Perkhidmatan yang diberikan oleh ZooKeeper

  • Mengekalkan maklumat Konfigurasi
  • Menyediakan penyegerakan diedarkan
  • Pembentukan Komunikasi Pelanggan dengan pelayan wilayah
  • Menyediakan node sementara yang mewakili pelayan rantau yang berbeza
  • Kegunaan pelayan utama node sementara untuk mencari pelayan yang ada di kluster
  • Untuk mengesan kegagalan pelayan dan partisi rangkaian

Nod hamba Master dan HBase (pelayan wilayah) mendaftarkan diri dengan ZooKeeper. Pelanggan memerlukan akses ke konfigurasi kuorum ZK (penjaga gerbang) untuk berhubung dengan pelayan induk dan wilayah.

Semasa kegagalan node yang terdapat di kluster HBase, ZKquoram akan mencetuskan mesej ralat, dan ia mula membaiki node yang gagal.

HDFS:

HDFS adalah sistem fail diedarkan Hadoop, seperti namanya menyediakan persekitaran yang diedarkan untuk penyimpanan dan itu adalah sistem fail yang dirancang dengan cara untuk berjalan pada perkakasan komoditi. Ini menyimpan setiap fail dalam beberapa blok dan untuk menjaga toleransi kesalahan, blok-blok tersebut direplikasi di sekumpulan Hadoop.

HDFS memberikan tahap toleransi kesalahan yang tinggi dan menggunakan perkakasan komoditi yang murah. Dengan menambahkan node ke kluster dan melakukan pemprosesan & penyimpanan dengan menggunakan perkakasan komoditi yang murah, ia akan memberikan hasil yang lebih baik kepada pelanggan berbanding dengan yang ada.

Di sini, data yang tersimpan di setiap blok direplikasi menjadi 3 node dalam kes apabila simpul turun tidak akan kehilangan data, ia akan mempunyai mekanisme pemulihan sandaran yang tepat.

HDFS berhubung dengan komponen HBase dan menyimpan sejumlah besar data secara diedarkan.

HBase Membaca dan Menulis Data yang Dijelaskan

Operasi Baca dan Tulis dari Pelanggan ke Hfile dapat ditunjukkan dalam rajah di bawah.

Langkah 1) Pelanggan ingin menulis data dan seterusnya berkomunikasi dengan pelayan Kawasan dan kemudian wilayah

Langkah 2) Kawasan yang menghubungi memstore untuk menyimpan yang berkaitan dengan keluarga lajur

Langkah 3) Data pertama disimpan ke Memstore, di mana data disusun dan selepas itu, data disalurkan ke HFile. Sebab utama penggunaan Memstore adalah untuk menyimpan data dalam sistem fail Terdistribusi berdasarkan Row Key. Memstore akan ditempatkan di memori utama pelayan Wilayah sementara HFiles ditulis ke dalam HDFS.

Langkah 4) Pelanggan ingin membaca data dari Kawasan

Langkah 5) Pada gilirannya Pelanggan dapat memiliki akses langsung ke kedai Mem, dan ia dapat meminta data.

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

Memstore menyimpan pengubahsuaian dalam memori ke kedai. Hierarki objek di Kawasan HBase adalah seperti yang ditunjukkan dari atas ke bawah di bawah jadual.

Jadual Jadual HBase terdapat dalam kluster HBase
Wilayah Kawasan untuk jadual yang dibentangkan
Kedai Ia menyimpan setiap ColumnFamily untuk setiap kawasan untuk jadual
Kedai Kenangan
  • Memstore untuk setiap kedai untuk setiap kawasan untuk jadual
  • Ia menyusun data sebelum masuk ke HFiles
  • Prestasi menulis dan membaca akan meningkat kerana menyusun
KedaiFile StoreFiles untuk setiap kedai untuk setiap kawasan untuk jadual
Sekat Blok ada di dalam StoreFiles

Kes Penggunaan HBase

Berikut adalah contoh kes penggunaan HBase dengan penjelasan terperinci mengenai penyelesaian yang diberikannya kepada pelbagai masalah teknikal

Pernyataan masalah Penyelesaian
Industri Telekomunikasi menghadapi cabaran Teknikal
  • Menyimpan rekod log berbilion CDR (Panggilan terperinci panggilan) yang dihasilkan oleh domain telekomunikasi
  • Menyediakan akses masa nyata ke log CDR dan maklumat penagihan pelanggan
  • Berikan penyelesaian yang menjimatkan berbanding sistem pangkalan data tradisional
HBase digunakan untuk menyimpan berbilion baris rekod panggilan terperinci. Sekiranya 20TB data ditambahkan setiap bulan ke pangkalan data RDBMS yang ada, prestasi akan merosot. Untuk menangani sejumlah besar data dalam kes penggunaan ini, HBase adalah penyelesaian terbaik. HBase melakukan pertanyaan cepat dan memaparkan rekod.
Industri Perbankan menghasilkan berjuta-juta rekod setiap hari. Selain itu, industri perbankan juga memerlukan penyelesaian analisis yang dapat mengesan Penipuan dalam transaksi wang Untuk menyimpan, memproses dan mengemas kini sejumlah besar data dan melakukan analisis, penyelesaian yang ideal adalah - HBase yang disatukan dengan beberapa komponen ekosistem Hadoop.

Selain itu, HBase boleh digunakan

  • Bila ada keperluan untuk menulis aplikasi berat.
  • Melakukan analisis log dalam talian dan untuk menghasilkan laporan pematuhan.

HBase vs HDFS

HBase berjalan di atas HDFS dan Hadoop. Beberapa perbezaan utama antara HDFS dan HBase adalah dari segi operasi dan pemprosesan data.

HBASE

HDFS

  • Operasi kependaman rendah
  • Operasi kependaman tinggi
  • Membaca dan menulis secara rawak
  • Tulis sekali Baca berkali-kali
  • Diakses melalui perintah shell, API klien di Java, REST, Avro atau Thrift
  • Terutamanya diakses melalui pekerjaan MR (Map Reduce)
  • Penyimpanan dan proses kedua-duanya dapat dilakukan
  • Ia hanya untuk kawasan simpanan

Beberapa aplikasi industri IT yang biasa menggunakan operasi HBase bersama dengan Hadoop. Aplikasi merangkumi data pertukaran saham, operasi data perbankan dalam talian, dan memproses Hbase adalah kaedah penyelesaian yang paling sesuai.

Ringkasan

Hbase adalah salah satu pangkalan data diedarkan berorientasikan kolom NoSql yang terdapat di asas apache. HBase memberikan lebih banyak prestasi untuk mengambil lebih sedikit rekod daripada Hadoop atau Hive. Sangat mudah untuk mencari nilai input yang diberikan kerana menyokong pengindeksan, transaksi, dan pengemaskinian.

Kami dapat melakukan analisis masa nyata dalam talian menggunakan Hbase yang disatukan dengan ekosistem Hadoop. Ini memiliki pemisahan automatik dan dapat dikonfigurasi untuk set data atau tabel dan menyediakan API yang tenang untuk melakukan pekerjaan MapReduce.