中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

阜城县| 晋城| 平阴县| 冷水江市| 卢湾区| 长白| 乐都县| 云霄县| 米脂县| 孝义市| 仲巴县| 襄汾县| 瓦房店市| 南漳县| 涞源县| 吉林市| 三门峡市| 贵州省| 五家渠市| 鄂尔多斯市| 象山县| 郴州市| 广州市| 博爱县| 吉林省| 刚察县| 大邑县| 桐梓县| 舟山市| 图木舒克市| 秦皇岛市| 庄河市| 陆河县| 庐江县| 达尔| 许昌市| 三明市| 卓尼县| 鸡泽县| 长白| 福州市|