![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SZ3kjYxUjY1QmNkZDN2YGN4QDM1QDOjZTMzAzY0ITN58CX2AzLcdDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL2M3Lc9CX6MHc0RHaiojIsJye.png)
1.Row Key
與nosql資料庫們一樣,row key是用來檢索記錄的主鍵。通路HBASE table中的行,隻有三種方式:
1. 通過單個row key通路
2. 通過row key的range(正則)
3. 全表掃描
Row key行鍵 (Row key)可以是任意字元串(最大長度 是 64KB,實際應用中長度一般為 10-100bytes),在HBASE内部,row key儲存為
位元組數組
。存儲時,資料按照Row key的字典序(byte order)排序存儲。設計key時,要充分排序存儲這個特性,将經常一起讀取的行存儲放到一起。(位置相關性)
2.Columns Family
列簇 :HBASE表中的每個列,都歸屬于某個列族。列族是表的schema的一部分(而列不是),必須在使用表之前定義。列名都以列族作為字首。例如
courses:history
,
courses:math
都屬于
courses
這個列族。
3.Cell
由
{row key, columnFamily, version}
唯一确定的單元。cell中 的資料是沒有類型的,全部是位元組碼形式存貯。