CGFT大數(shù)據(jù)中,HBase數(shù)據(jù)模型是需要重點掌握的。下文是對它的詳細介紹,一起隨融躍小編卡看吧!
HBase是一個稀疏、多維度、排序的映射表,這張表的索引是行鍵、列族、列限定符和時間戳。每個值是一個未經(jīng)結(jié)束的字符串,沒有數(shù)據(jù)類型。
用戶在表中存儲數(shù)據(jù),每一行都有一個可排序行鍵和任意多的列。表在水平方向由一個或多個列族組成,一個列族中可以包含任意多個列,同一個列族里面的數(shù)據(jù)存儲在一起。
列族支持動態(tài)擴展,可以很輕松地添加一個列族或列,無需預先定義列的數(shù)量以及類型,所有列均以字符串形式存儲,用戶需要自行進行數(shù)據(jù)類型轉(zhuǎn)換。
由于同一張表里面的每一行數(shù)據(jù)都可以有截然不同的列,因此,對于整個映射表的每行數(shù)據(jù)而言,有些列的值就是空的,所以好HBase是稀疏的。
HBase中執(zhí)行更新操作時,并不會刪除數(shù)據(jù)舊的版本,而是生成一個新的版本,舊有的版本仍然保留,HBase可以對允許保留的版本的數(shù)量進行設置??蛻舳丝梢赃x擇獲取距離某個時間zui近的版本,或者一次獲取所有版本。
如果在查詢的時候不提供時間戳,那么會返回距離現(xiàn)在zui近的那一個版本的數(shù)據(jù),因為在存儲的時候,數(shù)據(jù)會按照時間戳排序。
HBase提供了兩種數(shù)據(jù)版本回收方式,一是保存數(shù)據(jù)的zui后n個版本,而是保存zui近一段時間內(nèi)的版本。