HBase 教程:初學者綜合指南 [2022]

已發表: 2021-01-08

大數據是增長最快的行業之一。 從 Facebook 等科技巨頭到金融機構,每個人都在使用大數據來加強運營。 最受歡迎的大數據解決方案之一是 Hadoop。

要了解 Hadoop,您需要了解它的所有主要組件。 這就是為什麼在本文中,我們將討論 HBase,它是 Hadoop 的重要組成部分。 我們將討論 HBase 基礎知識,例如其架構、歷史和應用程序。 您可以收藏這篇文章以備將來參考。

讓我們開始吧。

目錄

什麼是 HBase?

與 Google 的 Big Table 類似,HBase 是一種數據模型,可讓您快速訪問大量結構化數據。 它是 Apache 軟件基金會的產品,是 Hadoop 項目的一部分。 它是用 Java 編寫的,是一個非關係型開源分佈式數據庫。 它運行在 Hadoop 的存儲組件 Hadoop 分佈式文件系統 (HDFS) 上。

HBase 是分佈式的、一致的、多維的和稀疏的。 您可以將它用於大量數據、可變模式和許多其他要求。

您可能想知道什麼是稀疏數據。 嗯,這類似於大海撈針。

HBase 的歷史

在我們談論它的特性和功能之前,您應該了解它的歷史。 谷歌在 2006 年發布了關於 BigTable 的論文,之後,開發人員在 2007 年創建了第一個 HBase 原型。

HBase 的第一個版本於 2007 年 10 月與 Hadoop 一起上市。 2008年成為Hadoop的子項目,2010年成為Apache頂級項目。 您可以說它與 Hadoop 及其其他主要組件一起開發。

為什麼我們需要 HBase?

在大數據之前,RDBMS 曾經是解決數據存儲問題的主要解決方案。 但隨著數據量的增加,公司感到需要更好的數據存儲和管理解決方案。 這就是 Hadoop 出現的時候。

它使用分佈式存儲系統並使用 MapReduce 來處理數據。 Hadoop 有多個組件,例如 HDFS 和 MapReduce。

HBase 是這些必不可少的組件之一。 它的特性使其成為 Hadoop 生態系統的重要成員。 它使您可以快速處理大量數據。 它還為您提供高度安全的數據管理。 您也可以使用 HBase 表支持 MapReduce 作業。

此外,Hadoop 只能執行批處理。 它僅按順序訪問數據。 HBase 和 MongoDB 等工具使 Hadoop 能夠隨機訪問數據,而不是以順序方式訪問數據。

HDFS 和 HBase 的區別

由於 HDFS 和 HBase 都是 Hadoop 的組件,因此即使它們非常不同並且執行不同的任務,任何人都可能會難以理解它們之間的差異。

HDFS 是 Hadoop 的分佈式文件系統,您使用它來存儲大量數據。 另一方面,HBase 是基於 HDFS 的數據庫。 您無法在 HDFS 中快速查找單個記錄,但您可以使用 HBase。

HDFS 提供高延遲批處理,而 HBase 提供低延遲訪問。 您可以順序訪問 HDFS 中的文件,但使用 HBase,您可以獲得隨機訪問。 總體而言,HBase 提高了您可以使用 HDFS 執行的特定操作的速度。

HBase的架構

我們可以將 HBase 架構定義為以列為中心的數據鍵值存儲。 正如我們之前所建立的,它通過增強其可訪問性和運行速度在 HDFS 之上完美運行。 HBase 的三個主要部分是:

  • 區域服務器
  • HMaster服務器
  • 動物園管理員

HMaster 負責區域服務器的管理功能和協調。 Zookeeper 負責配置信息和分佈式同步。

HBase 中的存儲

如果不討論其存儲機制,此 HBase 培訓博客將是不完整的。 我們已經提到 HBase 是一個面向列的數據庫,它按行對錶進行排序。 HBase 中的模式定義了作為鍵值對的列族。 一個表可以有多個列族,一個列族可以有多個列。 桌子上的每個單元格都有一個時間戳。

我們可以通過以下方式對其進行分解:

  • 一個表有多行
  • 一行有多個列族
  • 一個列族有各種列
  • 一列有不同的鍵值對

面向行與面向列

您知道 HBase 是一個面向列的數據庫,但您可能知道這意味著什麼。 好吧,面向行的數據庫非常適合在線事務處理,而面向列的數據庫非常適合在線分析處理。 同樣,前者適用於少量的行和列,而後者適用於大量的行和列。

HBase 應用程序

由於 HBase 能夠增強數據存儲的可訪問性和速度,它在許多行業中都有應用。 您已經閱讀了 HBase 的歷史,它已經在市場上銷售了很長時間。 經過十多年的更新和進步,它已成為任何大數據專業人士的重要工具。

以下是 HBase 的應用:

  • 當我們需要編寫繁重的應用程序時,我們使用 HBase
  • 當我們需要執行在線日誌分析以創建合規報告時
  • 當我們需要快速隨機訪問存儲在 HDFS 中的數據時
  • 當我們需要對大量數據(大數據)進行實時讀/寫訪問時

許多重要的組織,例如 Google 和 Facebook,都使用 HBase 進行內部操作。 大數據無處不在,這也是對HBase的需求也相對增加的原因。

最後的想法

隨著 Hadoop 專家的需求空前高漲,適合大數據專業人士盡可能多地了解該解決方案。 HBase 有許多應用程序,而且在各個領域也是如此。 這就是為什麼有必要學習 HBase 基礎知識及其高級方面的原因。

如果您有興趣了解有關大數據的更多信息,請查看我們的 PG 大數據軟件開發專業文憑課程,該課程專為在職專業人士設計,提供 7 多個案例研究和項目,涵蓋 14 種編程語言和工具,實用的動手操作研討會,超過 400 小時的嚴格學習和頂級公司的就業幫助。

在 upGrad 查看我們的其他軟件工程課程。

掌握未來的技術 - 大數據

超過 400 小時的學習時間。 14 種語言和工具。 IIIT-B 校友身份。
IIIT Bangalore 大數據高級證書課程