最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解HBase表的數據模型

 更新時間:2022年05月17日 16:54:33   作者:大力橙子  
HBase 是一種列存儲模式與鍵值對存儲模式結合的 NoSQL 數據庫,它具有靈活的數據模型,不僅可以基于鍵進行快速查詢,還可以實現基于值、列名等的全文遍歷和檢索,下面給大家介紹HBase表的數據模型,感興趣的朋友一起看看吧

HBase是運行在Hadoop集群上的一個數據庫,與傳統(tǒng)的數據庫有嚴格的ACID(原子性、一致性、隔離性、持久性)要求不一樣,HBase降低了這些要求從而獲得更好的擴展性,它更適合存儲一些非結構化和半結構化的數據。

下面給大家詳細介紹HBase表的數據模型,內容如下所示:

表(Table)

HBase 中的數據以表的形式存儲。同一個表中的數據通常是相關的,使用表主要是可以把某些列組織起來一起訪問。表名作為 HDFS 存儲路徑的一部分來使用,在 HDFS 中可以看到每個表名都作為獨立的目錄結構。

HBase表的數據模型主要概念包括rowkey、Column Family、Column、cell、Timestamp。

1. rowkey行鍵

  • table的主鍵,table中的記錄==按照rowkey 的字典序進行排序==
  • rowkey行鍵可以是任意字符串(最大長度是 64KB,實際應用中長度一般為 10-100bytes)

2. Column Family列族

  • 被稱為列族或列簇
  • HBase表中的每個列,都歸屬與某個列族
  • 列族是表的schema的一部分(而列不是),即建表時至少指定一個列族
  • 比如創(chuàng)建一張表,名為user,有兩個列族,分別是userInfoaddressInfo,建表語句create 'user', 'userInfo', 'addressInfo'

3. Column列

  • 列肯定是表的某一列族下的一個列,用列族名:列名表示,如userInfo列族下的name列,表示為userInfo:name
  • 它屬于某一個ColumnFamily,類似于我們mysql當中創(chuàng)建的具體的列

4. cell單元格

  • 知道row key行鍵、列族、列,可以確定的一個cell單元格

  • cell中的數據是沒有類型的,全部是以字節(jié)數組進行存儲

5. Timestamp時間戳

  • 可以對表中的Cell多次賦值,每次賦值操作時的時間戳timestamp,可看成Cell值的版本號version number
  • 即一個Cell可以有多個版本的值

理解數據模型各概念的圖

上表展示的是 HBase 中的用戶信息表 user,有三行記錄和兩個列族(不考慮空白的列族,代表可以有很多列族),行鍵分別為 1、2 和 3,兩個列族分別為 userInfo 和 addressInfo,每個列族中含有若干列,如列族 userInfo 包括 name、age、sex 3列,列族 addressInfo 包括 address、from、phone、email、ralary 5列。

在 HBase 中,列不是固定的表結構,在創(chuàng)建表時,不需要預先定義列名,可以在插入數據時臨時創(chuàng)建。

從表的邏輯模型來看,HBase 表與關系型數據庫中的表結構之間好像沒什么差別,只不過多了列族的概念。但實際上是有很大差別的,關系型數據庫中表的結構需要預先定義,如:列名及其數據類型和值域等內容。

當需要添加新列,則需要修改表結構,這會對已有的數據產生很大影響。同時,關系型數據庫中的表為每個列預留了存儲空間,即表中的空白 Cell 數據在關系型數據庫中以“NULL”值占用存儲空間。因此,對稀疏數據來說,關系型數據庫表中就會產生很多“NULL”值,消耗大量的存儲空間。

與面向行存儲的關系型數據庫不同,HBase 是面向列存儲的,且在實際的物理存儲中,列族是分開存儲的,即表中的用戶信息表將被存儲為 userInfo 和 addressInfo 兩個部分。

同時HBase存在時間戳,可以多次對一個cell賦值,可以存儲多個版本的值,如上表中rowkey為1的數據存儲了2個時間版本的數據。

到此這篇關于詳解HBase表的數據模型的文章就介紹到這了,更多相關HBase數據模型內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 刪除SVN三種方法delSvn(windows+linux)

    刪除SVN三種方法delSvn(windows+linux)

    今天想清除目錄下的SVN信息,在網上找了找,說是有三種方法
    2012-03-03
  • 獻給寫作者的 Markdown 新手指南

    獻給寫作者的 Markdown 新手指南

    Markdown 是一種「電子郵件」風格的「標記語言」,我們強烈推薦所有寫作者學習和掌握該語言。為什么
    2016-08-08
  • 玩轉markdown 分享幾個需要用到的工具

    玩轉markdown 分享幾個需要用到的工具

    markdown是一個面向寫作的語法引擎,markdown的最終目的都是解析成html用于網頁瀏覽,所以它兼容html語法,即你可以在 markdown文檔中使用原生的html標簽
    2016-08-08
  • 基于ChatGPT使用AI實現自然對話的原理分析

    基于ChatGPT使用AI實現自然對話的原理分析

    ChatGPT是當前自然語言處理領域的重要進展之一,可以生成高質量的文本,可應用于多種場景,如智能客服、聊天機器人、語音助手等。本文將詳細介紹ChatGPT的原理、實戰(zhàn)演練和流程圖,幫助讀者更好地理解ChatGPT技術的應用和優(yōu)勢
    2023-05-05
  • 基于Jupyter notebook搭建Spark集群開發(fā)環(huán)境的詳細過程

    基于Jupyter notebook搭建Spark集群開發(fā)環(huán)境的詳細過程

    Jupyter Notebook是一個開源并且使用很廣泛項目,本文介紹如何基于Jupyter notebook搭建Spark集群開發(fā)環(huán)境,通過實例截圖相結合給大家介紹的非常詳細,需要的朋友參考下吧
    2021-10-10
  • Jenkins部署war包和部署jar包的詳細步驟

    Jenkins部署war包和部署jar包的詳細步驟

    這篇文章主要介紹了Jenkins部署war包和部署jar包的詳細步驟,本恩分步驟通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 關于mapboxgl加載tiff的問題

    關于mapboxgl加載tiff的問題

    這篇文章主要介紹了mapboxgl加載tiff,先使用geotiff.js解析tiff數據,再配合使用canvas繪制圖片導出base64格式數據,然后就可以使用添加到mapboxgl圖層了,本文結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • RPC、RMI、SOAP的區(qū)別詳解

    RPC、RMI、SOAP的區(qū)別詳解

    這篇文章主要介紹了RPC、RMI、SOAP的區(qū)別詳解,本文還同時講解了RPC、SOAP、WSDL的關系,需要的朋友可以參考下
    2015-07-07
  • MAC快速本地部署Deepseek的實現步驟

    MAC快速本地部署Deepseek的實現步驟

    本文介紹了在Mac上快速本地部署Deepseek大語言模型,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-02-02
  • 深入剖析網關gateway原理

    深入剖析網關gateway原理

    這篇文章主要介紹了網關gateway,本文從網關的背景開始講起,一次論述網關的依賴,負載均衡,網關的選型等等進行深入的剖細,讓大家可以更深一步的了解
    2021-08-08

最新評論

田林县| 柳州市| 高陵县| 会东县| 酒泉市| 南京市| 当涂县| 海伦市| 盘山县| 长子县| 新疆| 荥阳市| 安仁县| 长宁区| 敖汉旗| 德令哈市| 正宁县| 连平县| 岳西县| 灵武市| 博爱县| 彰化县| 沐川县| 屏边| 昭觉县| 漠河县| 宜宾县| 石家庄市| 大足县| 紫云| 莱州市| 甘肃省| 太谷县| 宁波市| 韶山市| 荔波县| 呼图壁县| 安陆市| 双桥区| 天等县| 榆林市|