真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

HBase數(shù)據(jù)模型和表設(shè)計(jì)知識(shí)點(diǎn)有哪些

這篇文章主要介紹“HBase數(shù)據(jù)模型和表設(shè)計(jì)知識(shí)點(diǎn)有哪些”,在日常操作中,相信很多人在HBase數(shù)據(jù)模型和表設(shè)計(jì)知識(shí)點(diǎn)有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”HBase數(shù)據(jù)模型和表設(shè)計(jì)知識(shí)點(diǎn)有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

創(chuàng)新互聯(lián)是一家從事企業(yè)網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、行業(yè)門(mén)戶網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)制作的專業(yè)的建站公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁(yè)設(shè)計(jì)人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹(shù)立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來(lái)曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)數(shù)千家。

術(shù)語(yǔ)

Table

  • Hbase的table由多個(gè)行組成。

Row

  • 一個(gè)行在Hbase中由一個(gè)或多個(gè)有值的列組成。Row按照字母進(jìn)行排序,因此行鍵的設(shè)計(jì)非常重要。這種設(shè)計(jì)方式可以讓有關(guān)系的行非常的近,通常行鍵的設(shè)計(jì)是網(wǎng)站的域名反轉(zhuǎn),比如(org.apache.www, org.apache.mail, org.apache.jira),這樣的話所有的Apache的域名就很接近。

Column Family(列簇或列族)

  • 列簇在物理上包含了許多的列與列的值,每個(gè)列簇都有一些存儲(chǔ)的屬性可配置。例如是否使用緩存,壓縮類型,存儲(chǔ)版本數(shù)等。在表中,每一行都有相同的列簇,盡管有些列簇什么東西也沒(méi)有存。

Column

  • 列由列簇加上列的標(biāo)識(shí)組成,一般是“列簇:列標(biāo)識(shí)”,創(chuàng)建表的時(shí)候不用指定列名(列標(biāo)識(shí))

Column Qualifier

  • 列簇的限定詞,理解為列的唯一標(biāo)識(shí)。但是列標(biāo)識(shí)是可以改變的,因此每一行可能有不同的列標(biāo)識(shí)

Cell

  • Cell是由row,column family,column qualifier包含時(shí)間戳與值組成的,一般表達(dá)某個(gè)值的版本。

Timestamp

  • 時(shí)間戳一般寫(xiě)在value的旁邊,代表某個(gè)值的版本號(hào),默認(rèn)的時(shí)間戳是寫(xiě)入數(shù)據(jù)的那一刻,也可以在寫(xiě)入數(shù)據(jù)的時(shí)候指定不同的時(shí)間戳

標(biāo)識(shí)設(shè)計(jì)要點(diǎn)

  • 只要是數(shù)據(jù)庫(kù)都存在,模式設(shè)計(jì)的問(wèn)題,關(guān)系型中有模式設(shè)計(jì)的范式,Hbase作為列式存儲(chǔ)數(shù)據(jù)庫(kù),其模式設(shè)計(jì)也非常重要。

hbase與關(guān)系型數(shù)據(jù)庫(kù)對(duì)比

屬性hbaseRDBMS
數(shù)據(jù)類型只有字符串豐富的數(shù)據(jù)類型
數(shù)據(jù)操作增刪改查,不支持join各種各樣的函數(shù)與表連接
存儲(chǔ)模式基于列式存儲(chǔ)基于表結(jié)構(gòu)和行式存儲(chǔ)
數(shù)據(jù)保護(hù)更新后仍然保留舊數(shù)據(jù)數(shù)據(jù)替換
可伸縮性輕易增加節(jié)點(diǎn)需要中間層,犧牲性能

設(shè)計(jì)時(shí)考慮因素

  • Hbase關(guān)鍵概念:表,rowkey,列簇,時(shí)間戳

    • 這個(gè)表應(yīng)該有多少列簇

    • 列簇使用什么數(shù)據(jù)

    • 每個(gè)列簇有有多少列

    • 列名是什么,盡管列名不必在建表時(shí)定義,但讀寫(xiě)數(shù)據(jù)是要知道的

    • 單元應(yīng)該存放什么數(shù)據(jù)

    • 每個(gè)單元存儲(chǔ)多少時(shí)間版本

    • 行鍵(rowKey)結(jié)構(gòu)是什么,應(yīng)該包含什么信息

設(shè)計(jì)要點(diǎn)

行鍵rowkey設(shè)計(jì)

  • 說(shuō)明

    • 行鍵是關(guān)鍵部分,直接關(guān)系到后續(xù)服務(wù)的訪問(wèn)性能。如果行鍵設(shè)計(jì)不合理,后續(xù)查詢服務(wù)效率會(huì)成倍的遞減。

  • 細(xì)節(jié)

    • rowkey全局唯一,如果重復(fù)添加數(shù)據(jù)會(huì)覆蓋。

    • 避免單調(diào)的遞增行鍵,因?yàn)镠base的行鍵是有序排列的,這樣可能導(dǎo)致一段時(shí)間內(nèi)大部分寫(xiě)入集中在某一個(gè)Region上進(jìn)行操作,負(fù)載都在一臺(tái)節(jié)點(diǎn)上??梢栽O(shè)計(jì)成: [metric_type][event_timestamp],不同的metric_type可以將壓力分散到不同的region上

    • 行鍵短到可讀即可,因?yàn)椴樵兌替I比長(zhǎng)鍵性能好些,所以設(shè)計(jì)時(shí)要權(quán)衡長(zhǎng)度,最好不要超過(guò)16個(gè)字節(jié)。

    • 行鍵不能改變,唯一可以改變的方式是先刪除后插入

列簇設(shè)計(jì)

  • 說(shuō)明

    • 列簇是一些列的集合,一個(gè)列簇的成員有相同的前綴,以冒號(hào)(:)作為分隔符。

  • 細(xì)節(jié)

    • 當(dāng)前Hbase不能很好處理2~3個(gè)以上的列簇,所以盡可能讓列簇少一些,如果表有多個(gè)列簇,列簇A有100萬(wàn)行數(shù)據(jù),列簇B有10億行,那么列簇A會(huì)分散到很多的Region導(dǎo)致掃描列簇A的時(shí)候效率底下。

    • 列簇名的長(zhǎng)度要盡量小,一個(gè)為了節(jié)省空間,另外加快效率,比如d表示data,v表示value

列簇屬性

  • HFile數(shù)據(jù)塊,默認(rèn)是64KB,數(shù)據(jù)庫(kù)數(shù)據(jù)的大小影響數(shù)據(jù)塊索引的大小。數(shù)據(jù)塊大的話一次加載進(jìn)內(nèi)存的數(shù)據(jù)越多,掃描查詢效果越好。但是數(shù)據(jù)塊小的話,隨機(jī)查詢性能更好

  • 數(shù)據(jù)塊緩存,數(shù)據(jù)塊緩存默認(rèn)是打開(kāi)的,如果一些比較少訪問(wèn)的數(shù)據(jù)可以選擇關(guān)閉緩存

  • 數(shù)據(jù)壓縮,壓縮會(huì)提高磁盤(pán)利用率,但是會(huì)增加CPU的負(fù)載,看情況進(jìn)行控制

到此,關(guān)于“HBase數(shù)據(jù)模型和表設(shè)計(jì)知識(shí)點(diǎn)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


分享標(biāo)題:HBase數(shù)據(jù)模型和表設(shè)計(jì)知識(shí)點(diǎn)有哪些
鏈接地址:http://weahome.cn/article/jseojc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部