大資料學習系列之—HBASE

來源:互聯網
上載者:User

標籤:請求   地區   database   訪問   均衡   生態系統   定址   schema   strong   

  1. hadoop生態系統

zookeeper負責協調 hbase必須依賴zookeeper

flume 日誌工具

sqoop 負責 hdfs dbms 資料轉換 資料到關係型資料庫轉換
大資料學習群119599574

  1. hbase簡介

hadoop database

  • 是一個高可靠性、高效能、面向列、可伸縮、即時讀寫的分散式資料庫
  • 利用Hadoop HDFS作為其檔案儲存體系統,利用Hadoop MapReduce 來處理Hbase中的海量資料,利用Zookeeper作為其分布式系統服務
  • 主要用來儲存非結構化和半結構化的鬆散資料(列存NoSql資料庫)

hbase資料模型

ROW KEY

  1. 決定一行資料
  2. 按照欄位順序排序
  3. Row key只能儲存64k的位元組資料

Column Family列族 &qualifier列

  • Hbase表中的每個列都歸屬於某個列族,列族必須作為表模式定義的一部分給出 如create ‘test‘;
  • 列名以列族作為首碼,每個“列族”都可以y9uo多個列成員column,如test:testfirst,新的列成員可以隨後按需、動態加入;
  • 許可權控制,儲存以及調優都是列族層面進行的
  • Hbase把同一列族裡面的資料存放區在同一目錄下,由幾個檔案儲存

Timestamp 時間戳記

  • 在HBase每個cell儲存單元對同一份資料有多個版本,根據唯一的時間戳記來區分每個版本之間的差異,不同版本的資料按照時間倒序排序,最新的資料版本排在最前面。
  • 時間戳記的類型是 64位整型。
  • 時間戳記可以由HBase(在資料寫入時自動)賦值,此時時間戳記是精確到毫秒的當前系統時間。
  • 時間戳記也可以由客戶顯式賦值,如果應用程式要避免資料版本衝突,就必須自己產生具有唯一性的時間戳記。

cell 儲存格

  1. 由行和列的座標交叉決定;
  2. 儲存格是有版本的;
  3. 儲存格的內容是未解析的位元組數組;
  • 由{row key, column( =<family> +<qualifier>), version} 唯一確定的單元。
  • cell中的資料是沒有類型的,全部是位元組碼形式存貯。

HLog(wal log)

  • HLog檔案就是一個普通的Hadoop Sequence File,Sequence File 的Key是HLogKey對象,HLogKey中記錄了寫入資料的歸屬資訊,除了table和region名字外,同時還包括 sequence number和timestamp,timestamp是” 寫入時間”,sequence number的起始值為0,或者是最近一次存入檔案系統中sequence number。
  • HLog SequeceFile的Value是HBase的KeyValue對象,即對應HFile中的KeyValue。

HBase 架構

client

  1. 包含訪問HBase的介面並維護cache來加快對HBase的訪問

zookeeper

  1. 保證任何時候,叢集中只有一個master
  2. 儲存所有Region的定址入口
  3. 即時監控Region server的上線和下線資訊。並即時通知master
  4. 儲存Hbase的 schema 和table中繼資料

Master

  1. 為Region server 分配region
  2. 負責Region server的負載平衡
  3. 發現失效的Region server並重新分配騎上的region
  4. 系統管理使用者對table的增刪改操作

RegionServer

  1. Region server維護region,處理對這些region的IO請求
  2. Region server負責切分在運行過程中變得過大的region

Region

  1. Hbase自動把表水平劃分成多個地區(region),每個region會儲存一個表裡面某段連續的資料
  2. 每個表開始只有一個region,隨著資料不斷插入表,region不斷增大,當增大到一個閾值時,region就會分為兩個新的region(裂變)
  3. 當table中的行不斷增多,就會有越來越多的region。這樣一張完整的表儲存在多個regionServer上。
    大資料學習群119599574

Memstore與storefile

  1. 一個region由多個store組成,一個store對應一個列族(cf)
  2. store包括位於記憶體中的memstore和位於磁碟的storefile寫操作先寫入memstore,當memstore中的資料達到某個閾值,hregionserver會啟動flashcacher進程寫入storefile,每次寫入形成單獨的一個storefile
  3. 當storefile檔案的數量增長到一定閾值後,系統會進程合并 (minor、major compaction),在合并過程中會進行版本合并和刪除工作major形成更大的storefile
  4. 當一個region所有storefile的大小和數量超過一定閾值後,會把當前的regjion分割為兩個,並由hmaster分配到相應的regionserver伺服器,達到負載平衡
  5. 用戶端檢索資料,現在memstore找,找不到再找storefile

HRegion

  1. Hregion是HBase中分布式儲存和負載平衡的最小單元。最小單元就表示不同的HRegion可以分布在不通的HRegion server上
  2. HRegion 由一個或者多個Store組成,每個store儲存一個column family
  3. 每個Store又由一個memStore和0至多個StoreFile組成。 StoreFIle 以HFILe格式儲存於HDFS上。

大資料學習系列之—HBASE

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.