W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
所有數(shù)據(jù)模型操作 HBase 以排序順序返回?cái)?shù)據(jù)。首先按行,然后按列族(ColumnFamily),然后是列限定符,最后是時(shí)間戳(反向排序,因此首先返回最新的記錄)。
ColumnFamily 的內(nèi)部 KeyValue 實(shí)例之外不存儲(chǔ)列元數(shù)據(jù)。因此,盡管 HBase 不僅可以支持每行大量的列數(shù),而且還能對(duì)行之間的一組異構(gòu)列進(jìn)行維護(hù),但您有責(zé)任跟蹤列名。
獲得 ColumnFamily 存在的一組完整列的唯一方法是處理所有行。
HBase 是否支持聯(lián)合是該區(qū)列表中的一個(gè)常見問題,并且有一個(gè)簡(jiǎn)單的答案:它不是,至少在 RDBMS 支持它們的方式中(例如,使用 SQL 中的等連接或外連接)。如本章所述,HBase 中讀取的數(shù)據(jù)模型操作是 Get 和 Scan,你可以參考“HBase數(shù)據(jù)模型操作”部分
但是,這并不意味著您的應(yīng)用程序不支持等效的聯(lián)合功能,但您必須自己動(dòng)手。兩個(gè)主要策略是在寫入 HBase 時(shí)對(duì)數(shù)據(jù)進(jìn)行非規(guī)格化,或者在您的應(yīng)用程序或MapReduce 代碼中使用查找表并進(jìn)行HBase表之間的連接(并且正如 RDBMS 演示的那樣,有幾種策略取決于 HBase 的大小表,例如,嵌套循環(huán)與散列連接)。那么最好的方法是什么?這取決于你想要做什么,因此沒有一個(gè)適用于每個(gè)用例的答案。
ACID,指數(shù)據(jù)庫(kù)事務(wù)正確執(zhí)行的四個(gè)基本要素的縮寫,即:原子性(Atomicity),一致性(Consistency),隔離性(Isolation),持久性(Durability)。
HBase 支持特定場(chǎng)景下的 ACID,即對(duì)同一行的 Put 操作保證完全的 ACID(HBASE-3584增加了多操作事務(wù),HBASE-5229增加了多行事務(wù),但原理是一樣的)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: