HBase 初學習之資料模型
阿新 • • 發佈:2021-07-10
Hadoop,HBase,大資料,hbase 學習,列式資料庫
全稱 Hadoop Database
HBase 共有資料模型
RK: RowKey 行鍵
- 用來檢索記錄的主鍵,是一行資料的唯一標識
- 最長64KB,一般為10-100bytes。
- 在物理上包含了許多的列與值,每個列簇都有一些儲存的屬性可配置
- 一般一個表中的列簇數不超過3個,列屬於列簇,列簇屬於表 。例如下表中的 basic data 和 property data。
- 列簇的限定詞,理解為列的唯一標識。但是列標識是可以必變的,因此第一行可能有不同的列標識
- 使用的時候必須列簇:列 ,eg basic_data:name,不同於mysql 直接取 name
- 列可以根據需求動態新增或者刪除,同一個表中不同行的資料列都可以不同
- 由 rk , cf,cq,version 組成
- Cell 中的資料是沒有型別的,全部是位元組碼形式儲存,因為HDFS上的資料都是位元組組成。
- 每個Cell 都儲存著同一份資料的多個版本,版本通過時間戳來索引
- 時間戳的型別是64位整型,預設時間戳是精確到毫秒的當前系統時間,時間戳也可由客戶顯式賦值。如果應用程式要避免資料版本衝突,就必須自己生成具有唯一性的時間戳
- 每個cell 中,不同版本的資料按照時間倒序排序 ,即最新的資料排在最前面。查詢資料的時候,如果不指定版本數,預設顯示版本號最新(高)的資料
- 為了避免資料存在過多版本中造成管理(包括儲存和索引)負擔,HBase 提供了兩種資料版本回收方式:一是儲存資料的最後n個版本; 二是儲存最近一段時間內的版本(比如最近七天)