HBase學習筆記

2021-07-16 06:24:27 字數 1494 閱讀 8981

hbase簡介

1) hbase定義

hbase是一種分布式、面向列的開源資料庫。、具有良好的擴充套件性、低寫入/查詢延遲的特點。

2)hbase與傳統的關聯式資料庫的區別:

hbase

rdb

資料型別

簡單的,儲存為未經解釋的字串

豐富的資料型別和儲存方式

資料操作

只有簡單的插入、查詢、刪除和清空等

豐富的操作,如:多表連線

儲存模式

基於列儲存

基於行模式

資料索引

只有行鍵索引

多個索引

資料維護

生成新版,舊版仍保留

新值會替換舊值

可伸縮性

可擴充套件性強

很難擴充套件

3)hbase的功能元件

l  庫函式:鏈結到每個客戶端

l  乙個master主伺服器

l  許多個region伺服器

hbase的三層結構

4)hbase架構

region伺服器工作原理

—  region伺服器是hbase中最核心的模組,負責維護分配給自己的region,並響應使用者的讀寫請求

a.    使用者讀寫資料過程

使用者寫入資料時,被分配到相應region伺服器去執行

使用者資料首先被寫入到memstore和hlog中

只有當操作寫入hlog之後,commit()呼叫才會將其返回給客戶端

當使用者讀取資料時,region伺服器會首先訪問memstore快取,如果找不到,再去磁碟上面的storefile中尋找

b.   快取的重新整理

系統會周期性地把memstore快取裡的內容刷寫到磁碟的storefile檔案中,清空快取,並在hlog裡面寫入乙個標記

每次刷寫都生成乙個新的storefile檔案,因此,每個store包含多個storefile檔案

每個regiom伺服器都有乙個自己的hlog檔案,每次啟動都檢查該檔案,確認最後一次執行快取重新整理操作之後是否發生新的寫入操作

c.    storrefile的合併

每次刷寫都生成乙個新的storefile,數量太多,影響查詢速度

呼叫store.compact()把多個合併成乙個

合併操作比較耗費資源,只有數量達到乙個閾值才啟動

Hbase 學習筆記 Hbase 概覽

hbase構建在 hdfs 之上,hbase內部管理的檔案全部儲存在hdfs 中 行鍵,table的主鍵,table中的記錄按照row key排序。型別為byte array 列簇,table在水平方向有乙個或者多個column family組成,乙個column family中可以由任意多個col...

Hbase學習筆記

1.table中行是按照row key的字典序排列的 2.在行的方向上分隔為多個region 3.hregion是hbase 中分布式儲存和負載均衡的最小單位,這表示不同的region可以分布在不同的regionserver上 當乙個region足夠大時,現在是256m 就會split,乙個regi...

HBase 學習筆記

1.hbase是乙個高可靠 高效能 面向列 可伸縮的構建在hdfs上的分布式資料庫 2.hbase通過行鍵 列族 列限定符 時間戳來確定乙個單元格 3.傳統行式儲存用於處理事務性操作,列式儲存主要用於資料分析型業務 4.乙個hbase表會被分成多個regin,同乙個regin不會被到多個regin伺...