hbase的特征是什么?
1 ) hbase是基于分布式列存储的数据库,由基于Hadoop的hdfs存储zookeeper管理。
2 ) hbase适合存储半结构化数据和非结构化数据,结构化数据字段不够确定或杂乱,难以用一个概念提取数据。
3 )不保存hbase为空的记录;
4 )基表包含rowkey、时间戳、列族,写入新数据时,时间戳会更新,可以同时查询以前的版本;
5 ) hbase为主从结构,hmaster为主节点,hregionserver为从节点。
说明hbase的rowkey的设计原则
1 )原始密钥长度原则
rowkey是二进制码流,许多开发人员建议rowkey的长度设计为10-100字节,但建议长度不要超过16字节。
理由如下。
答、数据持久化文件hfile按照keyvalue存储,但如果rowkey过长,如100字节,则1000万列数据仅rowkey就消耗100*100万=10亿字节,约1G的数据,为hffkey
b、menstore将部分数据缓存在内存中。 rowkey的长度越短越好,因为rowkey字段太长会降低内存的有效利用效率,导致系统无法缓存更多的数据,从而降低搜索效率
c、当前操作系统均为64位系统,内存8字节对齐,减少到16字节,8字节整数倍利用操作系统的最佳特性。