91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

易门县| 阿拉尔市| 尼勒克县| 紫阳县| 松原市| 延长县| 阿尔山市| 甘南县| 宣化县| 林芝县| 瑞丽市| 上栗县| 乌鲁木齐县| 沙洋县| 敦化市| 固阳县| 鹤峰县| 社会| 萝北县| 凌云县| 景宁| 固镇县| 宁阳县| 广安市| 武功县| 平顺县| 海门市| 沙田区| 宕昌县| 清徐县| 固安县| 礼泉县| 个旧市| 房山区| 梨树县| 嘉义市| 洪江市| 章丘市| 深水埗区| 略阳县| 荆门市|