hbase基本概念hbase-創(chuàng)新互聯(lián)

2019/2/19 星期二
-------------------
hbase基本概念

創(chuàng)新互聯(lián)建站主打移動(dòng)網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、域名注冊(cè)、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再?zèng)Q定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會(huì)規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。

hbase 數(shù)據(jù)庫介紹
hbase 是建立的hdfs 之上,提供高可靠性、高性能、列存儲(chǔ)、可伸縮、實(shí)時(shí)讀寫的數(shù)據(jù)庫系統(tǒng)。
它介于nosql 和RDBMS 之間,僅能通過主鍵(row key)和主鍵的range 來檢索數(shù)據(jù),僅支持單行事務(wù)(可通過hive 支持來實(shí)現(xiàn)多表join 等復(fù)雜操作)。主要用來
存儲(chǔ)非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)。
與hadoop 一樣,Hbase 目標(biāo)主要依靠橫向擴(kuò)展,通過不斷增加廉價(jià)的商用服務(wù)器,來增加計(jì)算和存儲(chǔ)能力。

hbase 表結(jié)構(gòu)

hbase基本概念  hbase

HBase 中的表一般有這樣的特點(diǎn):
1 大:一個(gè)表可以有上10 億行,上100 萬列
2 面向列:面向列(族)的存儲(chǔ)和權(quán)限控制,列(族)獨(dú)立檢索。 //傳統(tǒng)的mysql數(shù)據(jù)是面向行的存儲(chǔ)
3 稀疏:對(duì)于為空(null)的列,并不占用存儲(chǔ)空間,因此,表可以設(shè)計(jì)的非常稀疏。

hbase集群結(jié)構(gòu) //見圖 各組件的作用

hbase基本概念  hbase

hbase表結(jié)構(gòu):建表的時(shí)候,不需要限定表中的字段,只需要指定若干個(gè)列族。
插入數(shù)據(jù)的時(shí)候,列族中可以存儲(chǔ)任意多個(gè)裂(kv對(duì),列名&列值) //字段或者數(shù)量都可以任意
要查詢某個(gè)具體字段的值,需要指定坐標(biāo),表名--->行鍵---->列族:列名----->版本
時(shí)間戳 //一個(gè)value可以由多個(gè)版本,通過版本號(hào)來區(qū)分。默認(rèn)返回最新的版本

HBase 以表的形式存儲(chǔ)數(shù)據(jù)。表有行和列組成。列劃分為若干個(gè)列族(row family)
Row Key與nosql 數(shù)據(jù)庫們一樣,row key 是用來檢索記錄的主鍵。
訪問hbase table 中的行,只有三種方式:
1 通過單個(gè)row key 訪問
2 通過row key 的range(范圍)
3 全表掃描
由此可以看出rk的設(shè)計(jì)在hbase中極為重要,我們下一篇博客重點(diǎn)討論hbase 表 rk設(shè)計(jì)重點(diǎn)
Row key 行鍵(Row key)
可以是任意字符串(大長(zhǎng)度是64KB,實(shí)際應(yīng)用中長(zhǎng)度一般為10-100bytes),在hbase 內(nèi)部,row key 保存為字節(jié)數(shù)組。存儲(chǔ)時(shí),數(shù)據(jù)按照Row key 的字典序(byte order)排序存儲(chǔ)。設(shè)計(jì)key 時(shí),要充分排序存儲(chǔ)這個(gè)特性,將經(jīng)常一起讀取的行存儲(chǔ)放到一起。(位置相關(guān)性)
注意:
字典序?qū)nt 排序的結(jié)果是
1,10,100,11,12,13,14,15,16,17,18,19,2,20,21,…,9,91,92,93,94,95,96,97,98,99。要保持×××的自然序,行鍵必須用0 作左填充。行的一次讀寫是原子操作(不論一次讀寫多少列)。這個(gè)設(shè)計(jì)決策能夠使用戶很容易的理解程序在對(duì)同一個(gè)行進(jìn)行并發(fā)更新操作時(shí)的行為。

列族(column family)
hbase 表中的每個(gè)列,都?xì)w屬與某個(gè)列族。
列族是表的chema 的一部分(而列不是) , 必須在使用表之前定義。
列名都以列族作為前綴。例如 courses:history , courses:math 都屬于courses 這個(gè)列族。
訪問控制、磁盤和內(nèi)存的使用統(tǒng)計(jì)都是在列族層面進(jìn)行的。
實(shí)際應(yīng)用中,列族上的控制權(quán)限能幫助我們管理不同類型的應(yīng)用:我們?cè)试S一些應(yīng)用可以添加新的基本數(shù)據(jù)、一些應(yīng)用可以讀取基本數(shù)據(jù)并創(chuàng)建繼承的列族、一些應(yīng)用則只允許瀏覽數(shù)據(jù)(甚至可能因?yàn)殡[私的原因不能瀏覽所有數(shù)據(jù))。
//Hbase的列族不是越多越好,官方推薦的是列族最好小于或者等于3。我們使用的場(chǎng)景一般是1個(gè)列族。

時(shí)間戳 //一個(gè)value可以由多個(gè)版本,通過版本號(hào)來區(qū)分。
HBase 中通過row 和columns 確定的為一個(gè)存貯單元稱為cell。每個(gè)cell 都保存著同一份數(shù)據(jù)的多個(gè)版本。版本通過時(shí)間戳來索引。時(shí)間戳的類型是64 位整型。時(shí)間戳可以由hbase(在數(shù)據(jù)寫入時(shí)自動(dòng))賦值,此時(shí)時(shí)間戳是精確到毫秒的當(dāng)前系統(tǒng)時(shí)間。時(shí)間戳也可以由客戶顯式賦值。如果應(yīng)用程序要避免數(shù)據(jù)版本沖突,就必須自己生成具有唯一性的時(shí)間戳。每個(gè)cell 中,不同版本的數(shù)據(jù)按照時(shí)間倒序排序,即最新的數(shù)據(jù)排在最前面。為了避免數(shù)據(jù)存在過多版本造成的的管理(包括存貯和索引)負(fù)擔(dān),hbase 提供了兩種數(shù)據(jù)版本回收方式。一是保存數(shù)據(jù)的最后n 個(gè)版本,二是保存最近一段時(shí)間內(nèi)的版本(比如最近七天)。用戶可以針對(duì)每個(gè)列族進(jìn)行設(shè)置。

Cell //是由kv組從或者是kv+version組成 可以理解為excell表格中的一格
由{row key, column( =<family> + <label>), version} 唯一確定的單元。
cell 中的數(shù)據(jù)是沒有類型的,全部是字節(jié)碼形式存貯。

hbase表結(jié)構(gòu)與傳統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu)的對(duì)比 //見圖
小結(jié):在關(guān)系型數(shù)據(jù)庫中不可以為單獨(dú)某一行加某一個(gè)字段,要加就得全部加

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章標(biāo)題:hbase基本概念hbase-創(chuàng)新互聯(lián)
URL鏈接:http://muchs.cn/article8/djioop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、靜態(tài)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)網(wǎng)站排名、動(dòng)態(tài)網(wǎng)站網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)