這篇文章給大家分享的是有關(guān)hbase中的基本概念是什么的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
hbase是google bigtable的開(kāi)源實(shí)現(xiàn)。hbase是一個(gè)開(kāi)源的、分布式的、多版本的、面向列的存儲(chǔ)模型。hbase利用hdfs作為其文件系統(tǒng)(或本地),還可以通過(guò)mapreduce計(jì)算模型來(lái)并行處理大數(shù)據(jù)。
hbase中的基本概念:
row key
1) row key是檢索記錄的主鍵。
2) row key行鍵 (row key)可以是任意字符串(最大長(zhǎng)度是 64kb,實(shí)際應(yīng)用中長(zhǎng)度一般為 10-100bytes),在hbase內(nèi)部,row key保存為字節(jié)數(shù)組。
3) 數(shù)據(jù)按照row key的字典序(byte order)排序存儲(chǔ)。設(shè)計(jì)key時(shí),要充分排序存儲(chǔ)這個(gè)特性,將經(jīng)常一起讀取的行存儲(chǔ)放到一起。(位置相關(guān)性)
4) 行的讀寫(xiě)是原子操作。
column family (列族)
1) hbase表中的每個(gè)列都屬于某個(gè)列族,列族必須作為表模式(schema)定義的一部分預(yù)先給出,必須在使用表之前定義。列名都是以列族作為前綴,中間以冒號(hào)(:)隔開(kāi),如:courses:math。
2) 訪(fǎng)問(wèn)控制、磁盤(pán)和內(nèi)存的使用統(tǒng)計(jì)都是在列族層面進(jìn)行的。實(shí)際應(yīng)用中,列族上的控制權(quán)限能幫助我們管理不同類(lèi)型的應(yīng)用:我們?cè)试S一些應(yīng)用可以添加新的基本數(shù)據(jù)、一些應(yīng)用可以讀取基本數(shù)據(jù)并創(chuàng)建繼承的列族、一些應(yīng)用則只允許瀏覽數(shù)據(jù)(甚至可能因?yàn)殡[私的原因不能瀏覽所有數(shù)據(jù))。
cell (存儲(chǔ)單元)
由{row key, column(=<family> <label>), version}唯一確定的單元。cell中的數(shù)據(jù)是沒(méi)有類(lèi)型的,全部是字節(jié)碼形式存貯。
timestamp(時(shí)間戳)
1) 每個(gè)cell都保存著同一個(gè)數(shù)據(jù)的多個(gè)版本,版本通過(guò)時(shí)間戳來(lái)索引。
2) 時(shí)間戳為64位整型。
3) 可以自動(dòng)賦值(當(dāng)前系統(tǒng)時(shí)間),也可以用戶(hù)自己指定。
4) 不同版本數(shù)據(jù)按照時(shí)間戳倒序排。
5) hbase提供了兩種數(shù)據(jù)版本回收機(jī)制:a. 保存數(shù)據(jù)最后n個(gè)版本;b. 保存最近一段時(shí)間內(nèi)的版本。用戶(hù)可以針對(duì)每個(gè)列族去設(shè)置。
感謝各位的閱讀!關(guān)于“hbase中的基本概念是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!