日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2 HBase数据模型

發布時間:2025/1/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2 HBase数据模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HBase數據模型

  • 數據模型解析
  • 專業術語
    • NameSpace:
    • Table:
    • RowKey:
    • Column Family:
    • Column Qualifier:
    • Cell:
    • Timestamp:
  • 小結

數據模型解析

數據類型:int,char… HBase不存在數據類型,字節存儲

數據模型:行,列 HBase不僅有行列,HBase還有:RK,CF,TS,Q,cell

專業術語

NameSpace:

  • 命名空間是類似于關系數據庫系統中的數據庫的概念,他其實是表的邏輯分組。這種抽象為多租戶相關功能奠定了基礎。
    命名空間是可以管理維護的,可以創建,刪除或更改命名空間。

  • HBase有兩個特殊預定義的命名空間:

    • default-沒有明確指定名稱空間的表將自動落入此名稱空間
    • hbase-系統命名空間,用于包含HBase內部表

Table:

  • Hbase的table由多個行組成

  • Row KeyTime StampColumn Family1Column Family2Column Family3
    111t6CF2:q1=val1CF3:q3=val3
    112t3CF1:q2=val3
    t2CF1:q8=val2

RowKey:

  • RowKey是用來檢索記錄的主鍵,是一行數據的唯一標識
  • RowKey行鍵(RowKey)可以是任意字符串(最大長度是64KB,實際應用中長度一般為10-100bytes),RowKey以字節數組保存。
  • 存儲時,數據按照RowKey的字典序(byte order)排序存儲。設計RowKey時,要充分排序存儲這個特性,將經常一起讀取的行存儲放到一起。

Column Family:

  • 列簇在物理上包含了許多的列與列的值,每個列簇都有一些存儲的屬性可配置。
    • 例如是否使用緩存,壓縮類型,存儲版本數等。在表中,每一行都有相同的列簇,盡管有些列簇什么東西也沒有存。
  • 將功能屬性相近的列放在同一個列族,而且同一個列族中的列會存放在同一個Store中。列族一般需要在創建表的時候就進行聲明,而且一般一個表中的列族數不要超過3個
    • 這個和后期的優化相關
  • 列隸屬于列族,列族隸屬于表

Column Qualifier:

  • 列簇的限定詞,理解為列的唯一標識。但是列標識是可以改變的,因此每一行可能有不同的列標識
  • 使用的時候必須列族:列
  • 列可以根據需求動態添加或者刪除,同一個表中不同行的數據列都可以不同

Cell:

  • cell是由row,column family,column qualifier,version 組成的
  • cell中的數據是沒有類型的,全部是字節碼形式存貯。
    • 因為HDFS上的數據都是字節數組

Timestamp:

  • HBase中通過rowkey和column family,column qualifier確定的一個存貯單元稱為cell。每個 cell都保存著同一份數據的多個版本。
  • 版本通過時間戳來索引。
    • 時間戳的類型是64位整型
    • 默認時間戳是精確到毫秒的當前系統時間。時間戳也可以由客戶顯式賦值。
    • 如果應用程序要避免數據版本沖突,就必須自己生成具有唯一性的時間戳。
  • 每個cell中,不同版本的數據按照時間倒序排序,即最新的數據排在最前面。
    • 查詢數據的時候,如果不指定版本數,默認顯示版本號最新(高)的數據
  • 為了避免數據存在過多版本中造成管理(包括存貯和索引)負擔,HBASE提供了兩種數據版本回收方式。
    • —是保存數據的最后n個版本
    • 二是保存最近一段時間內的版本(比如最近七天)

小結

HBase是一個稀疏的、分布式、持久、多維、排序的映射,它以行鍵(row key),列鍵(column key–>cfq)和時間戳(timestamp)為索引。
Hbase在存儲數據的時候,有兩個SortedMap,首先按照rowkey進行字典排序,然后再對Column進行字典排序。

照rowkey進行字典排序,然后再對Column進行字典排序。

總結

以上是生活随笔為你收集整理的2 HBase数据模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。