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

詳解HBase表的數(shù)據(jù)模型

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

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

下面給大家詳細(xì)介紹HBase表的數(shù)據(jù)模型,內(nèi)容如下所示:

表(Table)

HBase 中的數(shù)據(jù)以表的形式存儲(chǔ)。同一個(gè)表中的數(shù)據(jù)通常是相關(guān)的,使用表主要是可以把某些列組織起來(lái)一起訪問(wèn)。表名作為 HDFS 存儲(chǔ)路徑的一部分來(lái)使用,在 HDFS 中可以看到每個(gè)表名都作為獨(dú)立的目錄結(jié)構(gòu)。

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

1. rowkey行鍵

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

2. Column Family列族

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

3. Column列

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

4. cell單元格

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

  • cell中的數(shù)據(jù)是沒(méi)有類(lèi)型的,全部是以字節(jié)數(shù)組進(jìn)行存儲(chǔ)

5. Timestamp時(shí)間戳

  • 可以對(duì)表中的Cell多次賦值,每次賦值操作時(shí)的時(shí)間戳timestamp,可看成Cell值的版本號(hào)version number
  • 即一個(gè)Cell可以有多個(gè)版本的值

理解數(shù)據(jù)模型各概念的圖

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

在 HBase 中,列不是固定的表結(jié)構(gòu),在創(chuàng)建表時(shí),不需要預(yù)先定義列名,可以在插入數(shù)據(jù)時(shí)臨時(shí)創(chuàng)建。

從表的邏輯模型來(lái)看,HBase 表與關(guān)系型數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)之間好像沒(méi)什么差別,只不過(guò)多了列族的概念。但實(shí)際上是有很大差別的,關(guān)系型數(shù)據(jù)庫(kù)中表的結(jié)構(gòu)需要預(yù)先定義,如:列名及其數(shù)據(jù)類(lèi)型和值域等內(nèi)容。

當(dāng)需要添加新列,則需要修改表結(jié)構(gòu),這會(huì)對(duì)已有的數(shù)據(jù)產(chǎn)生很大影響。同時(shí),關(guān)系型數(shù)據(jù)庫(kù)中的表為每個(gè)列預(yù)留了存儲(chǔ)空間,即表中的空白 Cell 數(shù)據(jù)在關(guān)系型數(shù)據(jù)庫(kù)中以“NULL”值占用存儲(chǔ)空間。因此,對(duì)稀疏數(shù)據(jù)來(lái)說(shuō),關(guān)系型數(shù)據(jù)庫(kù)表中就會(huì)產(chǎn)生很多“NULL”值,消耗大量的存儲(chǔ)空間。

與面向行存儲(chǔ)的關(guān)系型數(shù)據(jù)庫(kù)不同,HBase 是面向列存儲(chǔ)的,且在實(shí)際的物理存儲(chǔ)中,列族是分開(kāi)存儲(chǔ)的,即表中的用戶(hù)信息表將被存儲(chǔ)為 userInfo 和 addressInfo 兩個(gè)部分。

同時(shí)HBase存在時(shí)間戳,可以多次對(duì)一個(gè)cell賦值,可以存儲(chǔ)多個(gè)版本的值,如上表中rowkey為1的數(shù)據(jù)存儲(chǔ)了2個(gè)時(shí)間版本的數(shù)據(jù)。

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

相關(guān)文章

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

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

    今天想清除目錄下的SVN信息,在網(wǎng)上找了找,說(shuō)是有三種方法
    2012-03-03
  • 獻(xiàn)給寫(xiě)作者的 Markdown 新手指南

    獻(xiàn)給寫(xiě)作者的 Markdown 新手指南

    Markdown 是一種「電子郵件」風(fēng)格的「標(biāo)記語(yǔ)言」,我們強(qiáng)烈推薦所有寫(xiě)作者學(xué)習(xí)和掌握該語(yǔ)言。為什么
    2016-08-08
  • 玩轉(zhuǎn)markdown 分享幾個(gè)需要用到的工具

    玩轉(zhuǎn)markdown 分享幾個(gè)需要用到的工具

    markdown是一個(gè)面向?qū)懽鞯恼Z(yǔ)法引擎,markdown的最終目的都是解析成html用于網(wǎng)頁(yè)瀏覽,所以它兼容html語(yǔ)法,即你可以在 markdown文檔中使用原生的html標(biāo)簽
    2016-08-08
  • 基于ChatGPT使用AI實(shí)現(xiàn)自然對(duì)話的原理分析

    基于ChatGPT使用AI實(shí)現(xiàn)自然對(duì)話的原理分析

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

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

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

    Jenkins部署war包和部署jar包的詳細(xì)步驟

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

    關(guān)于mapboxgl加載tiff的問(wèn)題

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

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

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

    MAC快速本地部署Deepseek的實(shí)現(xiàn)步驟

    本文介紹了在Mac上快速本地部署Deepseek大語(yǔ)言模型,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 深入剖析網(wǎng)關(guān)gateway原理

    深入剖析網(wǎng)關(guān)gateway原理

    這篇文章主要介紹了網(wǎng)關(guān)gateway,本文從網(wǎng)關(guān)的背景開(kāi)始講起,一次論述網(wǎng)關(guān)的依賴(lài),負(fù)載均衡,網(wǎng)關(guān)的選型等等進(jìn)行深入的剖細(xì),讓大家可以更深一步的了解
    2021-08-08

最新評(píng)論

永和县| 尉氏县| 九龙城区| 拉萨市| 图木舒克市| 交城县| 万荣县| 罗田县| 郁南县| 九龙坡区| 富民县| 眉山市| 平舆县| 枞阳县| 历史| 天全县| 宜丰县| 莱芜市| 松溪县| 伊春市| 襄垣县| 麟游县| 驻马店市| 定陶县| 清徐县| 迭部县| 定远县| 临洮县| 咸丰县| 达拉特旗| 阿拉尔市| 丽江市| 安国市| 荣成市| 灌阳县| 大连市| 宁乡县| 凤翔县| 沾益县| 融水| 营口市|