日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HBase是个啥子?

發布時間:2023/12/8 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HBase是个啥子? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.1 HBase的是個啥子?

是建立的HDFS之上,提供高可靠性高性能列存儲可伸縮實時讀寫的分布式數據庫系統。

  • 在需要實時讀寫隨機訪問超大規模數據集時,可以使用HBase。

1.2 HBase的特點

  • 海量存儲
    • 可以存儲大批量的數據
  • 列式存儲
    • HBase表的數據是基于列族進行存儲的,列族是在列的方向上的劃分。
  • 極易擴展
    • 底層依賴HDFS,當磁盤空間不足的時候,只需要動態增加datanode節點就可以了
    • 可以通過增加服務器來對集群的存儲進行擴容
  • 高并發
    • 支持高并發的讀寫請求
  • 稀疏
    • 稀疏主要是針對HBase列的靈活性,在列族中,你可以指定任意多的列,在列數據為空的情況下,是不會占用存儲空間的。
  • 數據的多版本
    • HBase表中的數據可以有多個版本值,默認情況下是根據版本號去區分,版本號就是插入數據的時間戳
  • 數據類型單一
    • 所有的數據在HBase中是以字節數組進行存儲

2. HBase表的數據模型

2.1 rowkey行鍵

  • table的主鍵,table中的記錄按照rowkey 的字典序進行排序
  • Row key行鍵可以是任意字符串(最大長度是 64KB,實際應用中長度一般為 10-100bytes)

2.2 Column Family列族

  • 列族或列簇
  • HBase表中的每個列,都歸屬與某個列族
  • 列族是表的schema的一部分(而列不是),即建表時至少指定一個列族
  • 比如創建一張表,名為user,有兩個列族,分別是info和data,建表語句create 'user', 'info', 'data'

2.3 Column列

  • 列肯定是表的某一列族下的一個列,用列族名:列名表示,如info列族下的name列,表示為info:name
  • 屬于某一個ColumnFamily,類似于我們mysql當中創建的具體的列

2.4 cell單元格

  • 指定row key行鍵、列族、列,可以確定的一個cell單元格

  • cell中的數據是沒有類型的,全部是以字節數組進行存儲

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-2dAIG3PB-1613899803638)(assets/Image201911072218.png)]

2.5 Timestamp時間戳

  • 可以對表中的Cell多次賦值,每次賦值操作時的時間戳timestamp,可看成Cell值的版本號version number
  • 即一個Cell可以有多個版本的值

3. HBase整體架構

3.1 Client客戶端

  • Client是操作HBase集群的入口
    • 對于管理類的操作,如表的增、刪、改操縱,Client通過RPC與HMaster通信完成
    • 對于表數據的讀寫操作,Client通過RPC與RegionServer交互,讀寫數據
  • Client類型:
    • HBase shell
    • Java編程接口
    • Thrift、Avro、Rest等等

3.2 ZooKeeper集群

  • 作用
    • 實現了HMaster的高可用,多HMaster間進行主備選舉

    • 保存了HBase的元數據信息meta表,提供了HBase表中region的尋址入口的線索數據

    • 對HMaster和HRegionServer實現了監控

3.3 HMaster

  • HBase集群也是主從架構,HMaster是主的角色,是老大
  • 主要負責Table表和Region的相關管理工作:
  • 關于Table
    • 管理Client對Table的增刪改的操作
    • 關于Region
      • 在Region分裂后,負責新Region分配到指定的HRegionServer上
      • 管理HRegionServer間的負載均衡,遷移region分布
      • 當HRegionServer宕機后,負責其上的region的遷移

3.4 HRegionServer

  • HBase集群中從的角色,是小弟

  • 作用

    • 響應客戶端的讀寫數據請求
    • 負責管理一系列的Region
    • 切分在運行過程中變大的region

3.5 Region

  • HBase集群中分布式存儲的最小單元
  • 一個Region對應一個Table表的部分數據

HBase使用,主要有兩種形式:①命令;②Java編程

總結

以上是生活随笔為你收集整理的HBase是个啥子?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。