您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“HBase的特點有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“HBase的特點有哪些”這篇文章吧。
HBase是一個NoSQL的數據庫產品,用于解決海量數據的毫秒級簡單查詢的問題.
HBase的特點:
表(table)--用于存儲數據的,數據也是存放在表中.
行(row)--嵌套的說法.
行鍵(row key)--類似于主鍵,也是用于區分每一行的.
列簇(column family)--列的集合.
列(column)--相當于RDBMS中的字段.
單元格(cell)--單元格用于存儲數據的.
多個版本的數據--帶有時間戳的數據.
hbase中的數據都是字節數組存儲的,所以比較時按照一個個字節比較.
hbase中的記錄是按照rowkey排序存儲的.
hbase中的列簇根據大小劃分為很多的region,不同的region可以存儲在不同的region服務器中.那么
海量數據的查詢就可以轉換為并行查詢了.
預分區操作是指的是在建表的時候,預先劃分成指定數量的region,插入數據時均勻的分散到不
同的region中.
在hbase中,有一張表叫做.META.,里面存儲的是用戶表的regionserver與rowkey的映射關系.
在hbase中,有一張表叫做-ROOT-,里面存儲的是.META.的rowkey與regionserver的映射關系.
表示hbase某張表中的一行記錄,看rowkey確定一行記錄.
行中有很多列,這些列分到很多列簇中存儲.
每一行列簇是一個獨立的存儲文件.
關于Hbase的一些提問:
問:為什么一行記錄含有多個時間戳的值?
答:因為這樣能夠體現聚合的思想,實際上體現了RDBMS中的一對多問題.
問:為什么一行記錄按照列簇分成獨立的物理文件存儲,而不是一行記錄全部放到一起存儲?
答:因為查詢時,一行記錄并不是全部字段都需要,只需要一部分字段.如果一行記錄所有字段的值放在一起的
話,那么一次性讀取所有字段,顯然很浪費.分別存儲的話,一次查詢只需要少量字段,那么整體的查詢
吞吐量就會提高.
問:建立索引時為什么key是regionserver,value是rowkey,而不是相反的哪?
答:因為rowkey的數量太大了,按照上面的方式建立索引的話,映射數據流就太大.
問:設計rowkey是hbase表設計中的重點?
答:(1)因為hbase查詢默認是按照rowkey查詢,因此業務上最需要的查詢條件應該設計到rowkey的組成中.
(2)因為hbase表分區的話,那么再插入數據的時候容易產生熱點,為了避免熱點,插入數據應該盡可能
隨機,需要主要rowkey的設計,最好是rowkey的開始節點都是隨機的或者接近隨機的.
以上是“HBase的特點有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。