hbase背景原理介紹

2021-09-02 13:37:52 字數 2438 閱讀 6579

自2023年以來,關聯式資料庫用於資料儲存和維護有關問題的解決方案。大資料的出現後,好多公司實現處理大資料並從中受益,並開始選擇像 hadoop 的解決方案。

hadoop使用分布式檔案系統,用於儲存大資料,並使用mapreduce來處理。hadoop擅長於儲存各種格式的龐大的資料,任意的格式甚至非結構化的處理。

hadoop只能執行批量處理,並且只以順序方式訪問資料。這意味著必須搜尋整個資料集,即使是最簡單的搜尋工作。

當處理結果在另乙個龐大的資料集,也是按順序處理乙個巨大的資料集。在這一點上,乙個新的解決方案,需要訪問資料中的任何點(隨機訪問)單元。

應用程式,如hbase, cassandra, couchdb, dynamo 和 mongodb 都是一些儲存大量資料和以隨機方式訪問資料的資料庫。

hbase是建立在hadoop檔案系統之上的分布式面向列的資料庫。它是乙個開源專案,是橫向擴充套件的。

hbase是乙個資料模型,類似於谷歌的大表設計,可以提供快速隨機訪問海量結構化資料。它利用了hadoop的檔案系統(hdfs)提供的容錯能力。

它是hadoop的生態系統,提供對資料的隨機實時讀/寫訪問,是hadoop檔案系統的一部分。

人們可以直接或通過hbase的儲存hdfs資料。使用hbase在hdfs讀取消費/隨機訪問資料。 hbase在hadoop的檔案系統之上,並提供了讀寫訪問。

hdfs是適於儲存大容量檔案的分布式檔案系統。

hbase是建立在hdfs之上的資料庫。

hdfs不支援快速單獨記錄查詢。

hbase提供在較大的表快速查詢

它提供了高延遲批量處理;沒有批處理概念。

它提供了數十億條記錄低延遲訪問單個行記錄(隨機訪問)。

它提供的資料只能順序訪問。

hbase內部使用雜湊表和提供隨機接入,並且其儲存索引,可將在hdfs檔案中的資料進行快速查詢。

hbase是乙個面向列的資料庫,在表中它由行排序。表模式定義只能列族,也就是鍵值對。乙個表有多個列族以及每乙個列族可以有任意數量的列。後續列的值連續地儲存在磁碟上。表中的每個單元格值都具有時間戳。總之,在乙個hbase:

下面給出的表中是hbase模式的乙個例子。

rowide

column family

column family

column family

column family

col1

col2

col3

col1

col2

col3

col1

col2

col3

col1

col2

col312

3面向列的資料庫是儲存資料表作為資料列的部分,而不是作為行資料。總之它們擁有列族。

行式資料庫

列式資料庫

它適用於聯機事務處理(oltp)。

這樣的資料庫被設計為小數目的行和列。

面向列的資料庫設計的巨大表。

下圖顯示了列族在面向列的資料庫:

hbase無模式,它不具有固定列模式的概念;僅定義列族。

rdbms有它的模式,描述表的整體結構的約束。

它專門建立為寬表。 hbase是橫向擴充套件。

這些都是細而專為小表。很難形成規模。

沒有任何事務存在於hbase。

rdbms是事務性的。

它反規範化的資料。

它具有規範化的資料。

它用於半結構以及結構化資料是非常好的。

用於結構化資料非常好。

在hbase中,表被分割成區域,並由區域伺服器提供服務。區域被列族垂直分為「stores」。stores被儲存在hdfs檔案。下面顯示的是hbase的結構。

注意:術語「store」是用於區域來解釋儲存結構。

hbase有三個主要組成部分:客戶端庫,主伺服器和區域伺服器。區域伺服器可以按要求新增或刪除。

主伺服器是 -

區域只不過是表被拆分,並分布在區域伺服器。

區域伺服器擁有區域如下 -

需要深入**區域伺服器:包含區域和儲存,如下圖所示:

儲存包含記憶體儲存和hfiles。memstore就像乙個快取記憶體。在這裡開始進入了hbase儲存。資料被傳送並儲存在hfiles作為塊並且memstore重新整理。

HBase 1 HBase介紹和工作原理

hbase是乙個分布式的 面向列的開源資料庫,該技術 於 fay chang 所撰寫的google bigtable 乙個結構化資料的分布式儲存系統 就像bigtable利用了google檔案系統 file system 所提供的分布式資料儲存一樣,hbase在hadoop之上提供了類似於bigta...

HBase 1 HBase介紹和工作原理

hbase是乙個分布式的 面向列的開源資料庫,該技術 於 fay chang 所撰寫的google bigtable 乙個結構化資料的分布式儲存系統 就像bigtable利用了google檔案系統 file system 所提供的分布式資料儲存一樣,hbase在hadoop之上提供了類似於bigta...

hbase目錄介紹

hbase tmp 臨時目錄,當對表做建立和刪除操作時,會將表move到該目錄下,然後進行操作。hbase wals regionserver在處理資料插入和刪除的過程中記錄操作內容的一種日誌,在0.94叫.logs hbase data 預設情況下該目錄下有兩個目錄 hbase data defa...