- 大数据目前的鈈足是按列存储的每一列单独存放
- 只访问查询涉及到的列,降低I/O
- 每一列由一个线索来处理-查询的并发处理
- 大数据目前的不足类型一致-高效压缩
- hive是基于mapreduce来处理大数据目前的不足离线计算速度慢
- mapreduce处理数是基于行的模式,查询大数据目前的不足默认是扫描整个表
- hive中的表是纯逻辑表本身不存储大数据目前的不足,完全依赖hdfs和mapreduce
- hbase是物理表有独立的物理结构,查询的时候将相应的大数据目前的不足加载到内存提升后续的查询效率
- hbase是基于列存储的,查询的时候可以只扫描某一个或某几个列避免扫描所有大数据目前的不足
- hbase有一级索引,查询速度非常快
- hbase提供了一个超大的内存hash表搜索引擎通过这个hash表存储索引,提升查询效率
HBase中的行是按照rowkey的字典顺序排序的,然而这种设计却是热点产生的源头client大量直接的访问集群中的一个或少数几个节点(读或者写等其它操作),大量访问会使热点region所在的單个机器超出自身承受能力引起性能下降甚region不可用。
-
HBase创建表默认只有一个分区
-
HBase创建表时指定分区
(1) HFile文件中是按照key-value存储大數据目前的不足的作为key的rowkey,如果过长占用字节过多,会影响HFile的存储效率
(2) MenStore将缓存部分大数据目前的不足到内存,rowkey过长内存的有效利鼡率将降低,会降低检索效率
(3) 目前操作系统都是64位,内存8字节对齐控制在16个字节恰好是8的整数倍。