亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hbase數據存儲原理和讀寫數據的流程

發布時間:2020-05-29 23:35:23 來源:億速云 閱讀:642 作者:鴿子 欄目:大數據

1、HBase的數據存儲原理

Hbase數據存儲原理和讀寫數據的流程

  • 一個HRegionServer會負責管理很多個region
  • 一個*region包含很多個store
    • 一個列族就劃分成一個store**
    • 如果一個表中只有1個列族,那么每一個region中只有一個store
    • 如果一個表中有N個列族,那么每一個region中有N個store
  • 一個store里面只有一個memstore
    • memstore是一塊內存區域,寫入的數據會先寫入memstore進行緩沖,然后再把數據刷到磁盤
  • 一個store里面有很多個StoreFile, 最后數據是以很多個HFile這種數據結構的文件保存在HDFS上

    • StoreFile是HFile的抽象對象,如果說到StoreFile就等于HFile
    • 每次memstore刷寫數據到磁盤,就生成對應的一個新的HFile文件出來
      Hbase數據存儲原理和讀寫數據的流程

      2、HBase讀數據流程

      Hbase數據存儲原理和讀寫數據的流程
      說明:HBase集群,只有一張meta表,此表只有一個region,該region數據保存在一個HRegionServer上

  • 1、客戶端首先與zk進行連接;從zk找到meta表的region位置,即meta表的數據存儲在某一HRegionServer上;客戶端與此HRegionServer建立連接,然后讀取meta表中的數據;meta表中存儲了所有用戶表的region信息,我們可以通過scan  'hbase:meta'來查看meta表信息
  • 2、根據要查詢的namespace、表名和rowkey信息。找到寫入數據對應的region信息
  • 3、找到這個region對應的regionServer,然后發送請求
  • 4、查找并定位到對應的region
  • 5、先從memstore查找數據,如果沒有,再從BlockCache上讀取
    • HBase上Regionserver的內存分為兩個部分
    • 一部分作為Memstore,主要用來寫;
    • 另外一部分作為BlockCache,主要用于讀數據;
  • 6、如果BlockCache中也沒有找到,再到StoreFile上進行讀取
    • 從storeFile中讀取到數據之后,不是直接把結果數據返回給客戶端,而是把數據先寫入到BlockCache中,目的是為了加快后續的查詢;然后在返回結果給客戶端。

3. HBase寫數據流程

Hbase數據存儲原理和讀寫數據的流程

  • 1、客戶端首先從zk找到meta表的region位置,然后讀取meta表中的數據,meta表中存儲了用戶表的region信息

  • 2、根據namespace、表名和rowkey信息。找到寫入數據對應的region信息

  • 3、找到這個region對應的regionServer,然后發送請求

  • 4、把數據分別寫到HLog(write ahead log)和memstore各一份

  • 5、memstore達到閾值后把數據刷到磁盤,生成storeFile文件

  • 6、刪除HLog中的歷史數據
補充:
HLog(write ahead log):
    也稱為WAL意為Write ahead log,類似mysql中的binlog,用來做災難恢復時用,HLog記錄數據的所有變更,一旦數據修改,就可以從log中進行恢復。
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东山县| 金溪县| 上蔡县| 竹溪县| 上虞市| 资兴市| 怀化市| 那曲县| 介休市| 星座| 鸡东县| 西华县| 中江县| 临高县| 锦屏县| 焦作市| 讷河市| 饶阳县| 南川市| 明溪县| 三河市| 千阳县| 哈尔滨市| 霍州市| 佛冈县| 吉木萨尔县| 合肥市| 阿克苏市| 湖南省| 平安县| 潍坊市| 金堂县| 麦盖提县| 松阳县| 辉南县| 柘城县| 海丰县| 景东| 尉犁县| 辛集市| 嘉荫县|