掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
行鍵可以是任意字符串,在Hbase內(nèi)部,行鍵保存為字節(jié)數(shù)組。存儲(chǔ)時(shí),數(shù)據(jù)按照行鍵的字典序排序存儲(chǔ)。

永德網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司2013年開(kāi)創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
列族:一個(gè)Hbase表被分組成許多“列族”的集合,它是基本的訪問(wèn)控制單元。
時(shí)間戳:每個(gè)單元格都保存著同一份數(shù)據(jù)的多個(gè)版本,這些版本采用時(shí)間戳進(jìn)行索引。時(shí)間戳一般是64位整型,可以由用戶自己賦值,也可以由Hbase在數(shù)據(jù)寫(xiě)入時(shí)自動(dòng)賦值。
Base中單表的數(shù)據(jù)量通??梢赃_(dá)到TB級(jí)或PB級(jí),但大多數(shù)情況下數(shù)據(jù)讀取可以做到毫秒級(jí)。HBase是如何做到的哪?要想實(shí)現(xiàn)表中數(shù)據(jù)的快速訪問(wèn),通用的做法是數(shù)據(jù)保持有序并盡可能的將數(shù)據(jù)保存在內(nèi)存里。HBase也是這樣實(shí)現(xiàn)的。
對(duì)于海量級(jí)的數(shù)據(jù),首先要解決存儲(chǔ)的問(wèn)題。
數(shù)據(jù)存儲(chǔ)上,HBase將表切分成小一點(diǎn)的數(shù)據(jù)單位region,托管到RegionServer上,和以前關(guān)系數(shù)據(jù)庫(kù)分區(qū)表類似。但比關(guān)系數(shù)據(jù)庫(kù)分區(qū)、分庫(kù)易用。這一點(diǎn)在數(shù)據(jù)訪問(wèn)上,HBase對(duì)用戶是透明的。
1、存儲(chǔ)引擎
HBase是Google的BigTable的開(kāi)源實(shí)現(xiàn),底層存儲(chǔ)引擎是基于LSM-Tree數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)的。寫(xiě)入數(shù)據(jù)時(shí)會(huì)先寫(xiě)WAL日志,再將數(shù)據(jù)寫(xiě)到寫(xiě)緩存MemStore中,等寫(xiě)緩存達(dá)到一定規(guī)模后或滿足其他觸發(fā)條件才會(huì)flush刷寫(xiě)到磁盤(pán),這樣就將磁盤(pán)隨機(jī)寫(xiě)變成了順序?qū)?,提高了?xiě)性能。每一次刷寫(xiě)磁盤(pán)都會(huì)生成新的HFile文件
2、數(shù)據(jù)模型
關(guān)于HBase的數(shù)據(jù)模型,和關(guān)系型數(shù)據(jù)類似,包括命名空間(namespace)、表、行、列、列族、列限定符、單元格(cell)、時(shí)間戳等,具體概念比較好理解就不多解釋了。而HBase在實(shí)際存儲(chǔ)數(shù)據(jù)的時(shí)候是以有序KV的形式組織的。
3、列族式存儲(chǔ)
HBase并不是行式存儲(chǔ),也不是完全的列式存儲(chǔ),而是面向列族的列族式存儲(chǔ)。前面也提到了,HBase的每一列數(shù)據(jù)在底層都是以 KV 形式存儲(chǔ)的,而針對(duì)一行數(shù)據(jù),同一列族的不同列的數(shù)據(jù)是順序相鄰存放的,這種模式實(shí)際上是行式存儲(chǔ);而如果一個(gè)列族下只有一個(gè)列的話,就是一種列式存儲(chǔ)。因此我們可以說(shuō)HBase是一種列族式存儲(chǔ)。
4、關(guān)于索引
默認(rèn)情況下HBase只對(duì)rowkey做了單列索引,所以HBase能通過(guò)rowkey進(jìn)行高效的單點(diǎn)查詢及小范圍掃描。HBase索引還是比較單一的,通過(guò)非rowkey列查詢性能比較低,除非對(duì)非Rowkey列做二級(jí)索引,否則不建議根據(jù)非rowkey列做查詢。
到此,以上就是小編對(duì)于hbase讀寫(xiě)過(guò)程的問(wèn)題就介紹到這了,希望這3點(diǎn)解答對(duì)大家有用。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流