HBase的基礎介紹

HBase的定義

HBase – Hadoop Database,是一個高可靠性、高性能、面向列、可伸縮、實時讀寫的分佈式數據庫。利用Hadoop HDFS作爲其文件存儲系統,利用Hadoop MapReduce來處理HBase中的海量數據,利用Zookeeper作爲其分佈式協同服務,主要用來存儲非結構化和半結構化的鬆散數據(列存 NoSQL 數據庫)。

HBase 的架構

在這裏插入圖片描述

  • Master

    • 爲Region server分配region
    • 負責Region server的負載均衡
    • 發現失效的Region server並重新分配其上的region
    • 管理用戶對table的增刪改操作
  • RegionServer

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

    • HBase自動把表水平劃分成多個區域(region),每個region會保存一個表裏面某段連續的數據;每個表一開始只有一個region,隨着數據不斷插入表,region不斷增大,當增大到一個閥值的時候,region就會等分會兩個新的region。
    • 當table中的行不斷增多,就會有越來越多的region。這樣一張完整的表被保存在多個Regionserver 上。

HBase數據模型

在這裏插入圖片描述

  • HRegion是HBase中分佈式存儲和負載均衡的最小單元。最小單元就表示不同的HRegion可以分佈在不同的 HRegion
    server上。
  • HRegion由一個或者多個Store組成,每個store保存一個columns family。
  • 每個Strore又由一個memStore和0至多個StoreFile組成。如圖:StoreFile以HFile格式保存在HDFS上。
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章