1.一个列族对应多个HFile,一个HFile 只能对应一个列族
==》当执行读操作时HBase不需要读出一行中所有的数据,只需要读取用到列族的数据
==》面向列意味着当检索指定单元时,HBase不需要读占位符记录
这有利于稀疏数据集合的高效存储和快速读取
region-->info(列族1)-->MemStore
-->BlockCache
-->HFile
activity(列族2)-->MemStore
-->BlockCache
-->HFile
访问不同列族的数据涉及完全不同额MemStore和HFile;一个列族的增长并不影响列族并不影响其他列族的性能。
2.数据模型中,数据是半结构化数据数据构成是松耦合的,利于物理分散存放;但同时不能实施关系约束并且不支持多行事务;
逻辑模型如下,Map<RowKey, Map<ColumnFamily, Map<ColumnQualifier, Map<Version, Data>>>>