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

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

hbase基本概念hbase

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

目前創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、湞江網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

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

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

hbase基本概念  hbase

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

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

hbase基本概念  hbase

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

HBase 以表的形式存儲數(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)
可以是任意字符串(最大長度是64KB,實(shí)際應(yīng)用中長度一般為10-100bytes),在hbase 內(nèi)部,row key 保存為字節(jié)數(shù)組。存儲時(shí),數(shù)據(jù)按照Row key 的字典序(byte order)排序存儲。設(shè)計(jì)key 時(shí),要充分排序存儲這個(gè)特性,將經(jīng)常一起讀取的行存儲放到一起。(位置相關(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ì)決策能夠使用戶很容易的理解程序在對同一個(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)用:我們允許一些應(yīng)用可以添加新的基本數(shù)據(jù)、一些應(yīng)用可以讀取基本數(shù)據(jù)并創(chuàng)建繼承的列族、一些應(yīng)用則只允許瀏覽數(shù)據(jù)(甚至可能因?yàn)殡[私的原因不能瀏覽所有數(shù)據(jù))。
//Hbase的列族不是越多越好,官方推薦的是列族最好小于或者等于3。我們使用的場景一般是1個(gè)列族。

時(shí)間戳 //一個(gè)value可以由多個(gè)版本,通過版本號來區(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)的版本(比如最近七天)。用戶可以針對每個(gè)列族進(jìn)行設(shè)置。

Cell//是由kv組從或者是kv+version組成 可以理解為excell表格中的一格
由{row key, column( = +

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


網(wǎng)站題目:hbase基本概念hbase
標(biāo)題路徑:http://weahome.cn/article/gciiee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部