Hbase

1.hbase的特色:sql

   1.它介於nosql和RDBMS之間,僅能經過主鍵(row key) 和主鍵的range來檢索數據,僅支持單行事務,負載均衡

   2.Hbase查詢數據功能簡單,不支持join等複雜的操做nosql

   3.不支持複雜的事務spa

   4.hbase中支持的數據類型:byte[]設計

   5.主要用來存儲結構化和半結構化的鬆散數據server

2.描述Hbase的rowkey的設計原則接口

  1.長度原則,推薦10-100個字節事務

  2.散列原則,避免咱們的數據熱點問題,致使咱們的數據都只在一個region上。it

  3.惟一性原則io

3.簡述HBase的compact用途是什麼,何時觸發,分爲哪兩種,有什麼區別?

  將小文件合併成大文件

  小文件數量達到必定數量

  minor合併(輕量級)和major合併(重量級)

  二者的區別是:major合併會把以前被標記刪除的數據,還有過時的數據等數據都會被刪除,而minor合併不會這樣

4.HBase的容錯性

  1.hmaster的容錯性

  2.regionServer容錯性

  3.zookeeper的容錯性

  4.Hlog的使用,region的從新寫的操做

5.在Hbase中的經過哪些條件來惟一肯定一個單元格的值

  rowkey,列族+列,版本號

6.描述Hbase的核心功能模塊及做用,

  client:包含訪問Hbase的接口,並維護cache來加快對Hbase的訪問。

  Master:爲regionServer分配region,regionServer的負載均衡,發現失效的RegionServer並從新分配其上的region,管理用戶對錶的增刪改查操做

  RegionServer:維護region,處理對這些 region的IO請求,切分運行過程當中變大的region。

7.Hbase的元數據表有那幾張,他們裏面都存放了什麼內容?

  -ROOT:

  meta:存放了全部的region信息和regionServer信息。

8.zookeeper在Hbase中的做用是什麼?

  1.存放meta的元數據信息

  2.存放Hmaster的信息

9.描述HBase讀寫數據的過程

  1.寫:

    1,Client先訪問zookeeper,從meta表獲取相應region信息,而後找到meta表的數據
    2,根據namespace、表名和rowkey根據meta表的數據找到寫入數據對應的region信息
    3,找到對應的regionserver
    4,把數據分別寫到HLog和MemStore上一份
    5,MemStore達到一個閾值後則把數據刷成一個StoreFile文件。(若MemStore中的數據有丟失,則能夠總
HLog上恢復)
    6,當多個StoreFile文件達到必定的大小後,會觸發Compact合併操做,合併爲一個StoreFile,(這裏同時進行
版本的合併和數據刪除。)
    7,當Storefile大小超過必定閾值後,會把當前的Region分割爲兩個(Split),並由Hmaster分配到相應的
HRegionServer,實現負載均衡

  2.讀:   

    1,Client先訪問zookeeper,從meta表讀取region的位置,而後讀取meta表中的數據。meta中又存儲了用戶表的region信息。    2,根據namespace、表名和rowkey在meta表中找到對應的region信息    3,找到這個region對應的regionserver    4,查找對應的region    5,先從MemStore找數據,若是沒有,再到StoreFile上讀(爲了讀取的效率)。

相關文章
相關標籤/搜索