Hadoop-No.10之列簇
来源:互联网 发布:电商行业转化率算法 编辑:程序博客网 时间:2024/06/06 01:48
HBase中包含列簇(column family)的概念.列簇本质上是列的存储容器.一张表可以有一个或多个列簇.每个列簇都有自己的HFile结婚,而且在执行合并操作时,同一个表的其他列簇不受影响
在很多实用案例中,一张表不需要多个列簇.如果一张标中国的一部分列操作完成,或者变化频率与其他列存在显著不同,则可以使用一个以上的列簇.
比如,HBase 表包含两列:列1每行包含400字节,而列2每行包含20个字节.现在我们假设列1的值只设置一次,,不会改变,但是列2的值要经常改变.另外,从访问模式上看,对列2调用的get请求远多于针对列1 的get函数.
这种情况下,使用两个列簇更好,原因如下 :
降低合并成本
如果有两个独立的列簇,那么包含列2的列簇会经常刷新memstore,所以会产生较小的合并.因为列2在其自身的列簇中,所以HBase只需要合并总记录数中的5%的数据,因此合并对性能的影响更小
更好的使用数据块存储
从HBase中检索数据时,附近(位于同一个HBase缓存中)的记录会拉入数据块缓存中.如果列1和列2在同一个列簇中,每次对列2调用get请求时都会把两列数据拉倒缓存中.缓存包含了列1 的数据,而列1中的数据接受的get请求非常少,使用的频率也非常低,这就导致了不理想的缓存分布.使用列1和列2位于不同列簇,会导致缓存中填充的数据仅来自于列2,因此增加了随后对列2调用get请求的高速缓存命中率
阅读全文
1 0
- Hadoop-No.10之列簇
- Hadoop-No.4之列式存储格式
- Hadoop-No.5之压缩
- Hadoop-No.5之压缩
- Hadoop-No.16之Kafka
- Hadoop-No.1之数据存储选型
- Hadoop-No.2之标准文件格式
- Hadoop-No.7之行键
- Hadoop-No.8之时间戳
- Hadoop-No.9之表和Region
- Hadoop-No.11之元数据
- Hadoop-No.14之文件传输的特点
- Hadoop学习日志之序列化和反序列化
- hadoop之java.net.NoRouteToHostException: No route to host
- Hadoop-No.3之序列化存储格式
- Hadoop-No.6之文件在HDFS中的位置
- Hadoop-No.12之数据采集的时效性
- Hadoop-No.13之数据源系统以及数据结构
- SVM推导过程注解(一)
- Linux 进程
- 利用poi从jsp页面导出报表到excel
- Lenze 帮助文档的体系结构
- linux下主机名变成bogon,恢复成localhost
- Hadoop-No.10之列簇
- 将小文件/图片嵌入html文件中
- bootstrap系列之十一按钮下拉菜单
- Redis和Memcached的区别
- springboot链接数据库
- Java开发的mapreduce如何在hadoop中运行
- python实现移除列表指定位置的元素
- unity shader的组织形式
- 简单学习方向参考