當前位置:編程學習大全網 - 源碼下載 - hbase的核心數據結構是什麽

hbase的核心數據結構是什麽

hbase的核心數據結構為LSM樹。

LSM樹分為內存部分和磁盤部分。

內存部分是壹個維護有序數據集合的數據結構。壹般來講,內存數據結構可以選擇平衡二叉樹、紅黑樹、跳躍表(SkipList)等維護有序集的數據結構,由於考慮並發性能,HBase選擇了表現更優秀的跳躍表。

磁盤部分是由壹個個獨立的文件組成,每壹個文件又是由壹個個數據塊組成。對於數據存儲在磁盤上的數據庫系統來說,磁盤尋道以及數據讀取都是非常耗時的操作(簡稱IO耗時)。為了避免不必要的IO耗時,可以在磁盤中存儲壹些額外的二進制數據,這些數據用來判斷對於給定的key是否有可能存儲在這個數據塊中,這個數據結構稱為布隆過濾器(BloomFilter)。

LSM樹介紹:

LSM樹是壹種磁盤數據的索引結構。LSM樹的索引對寫入請求更友好。因為無論是何種寫入請求,LSM樹都會將寫入操作處理為壹次順序寫,而HDFS擅長的正是順序寫(且HDFS不支持隨機寫)。

壹個LSM樹的索引內存部分是壹個ConcurrentSkipListMap,Key是rowkey、columnfamily、qualifier、type以及timestamp,Value是字節數組。隨著數據不斷寫入MemStore,壹旦內存超過閾值會將數據flush到磁盤,生產HFile;多個小HFile文件會compact成壹個大HFile。

  • 上一篇:請問壹只個股在某日的分時圖前段時間壹直上下波動,突然壹下子拉高後又橫盤,這有幾種情況。如圖
  • 下一篇:數據中心面臨的挑戰——如何減少延遲?
  • copyright 2024編程學習大全網