HBase列族數(shù)量

2018-03-15 14:31 更新

HBase列族數(shù)量

HBase 目前對于兩列族或三列族以上的任何項目都不太合適,因此請將模式中的列族數(shù)量保持在較低水平。目前,flushing 和 compactions 是按照每個區(qū)域進行的,所以如果一個列族承載大量數(shù)據(jù)帶來的 flushing,即使所攜帶的數(shù)據(jù)量很小,也會 flushing 相鄰的列族。當(dāng)許多列族存在時,flushing 和 compactions 相互作用可能會導(dǎo)致一堆不必要的 I/O(要通過更改 flushing 和 compactions 來針對每個列族進行處理)。

如果你可以在你的模式中嘗試使用一個列族。在數(shù)據(jù)訪問通常是列作用域的情況下,僅引入第二和第三列族;即你查詢一個列族或另一個列族,但通常不是兩者同時存在。

ColumnFamilies的基數(shù)

在一個表中存在多個 ColumnFamilies 的情況下,請注意基數(shù)(即行數(shù))。如果 ColumnFamilyA 擁有100萬行并且 ColumnFamilyB 擁有10億行,則ColumnFamilyA 的數(shù)據(jù)可能會分布在很多很多地區(qū)(以及 Region Server)中。這使得 ColumnFamilyA 的大規(guī)模掃描效率較低。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號