HBase相关论文阅读
来源:互联网 发布:ecs 阿里云 编辑:程序博客网 时间:2024/06/06 07:14
HBase相关论文阅读
从网上下载三篇关于HBase的论文,下面是阅读总结。
第一篇是关于HBase的大对象存储。参考南京大学硕士论文,HBase大对象存储方案设计与实现,作者康毅。
这篇文章是对于HBase数据插入性能的提高,同时兼顾读取性能和存储的管理复杂度。
1、海量数据集的特点:
1)超过80%的数据是非结构化的;2)数据量不断增加;3)数据会被长时间的存储,热点数据会被随机的访问。
2、为何选用HBase
1)HBase在实时数据分析处理方面,应用比较多;2)HBase的列式存储方式在大对象存储方面具有优势。
3、大对象是什么?
大对象是指:二进制大对象、字符大对象(PDF、word文档、图片等)
4、HBase必备的基础知识点:
HMaster、HRegionServer、HRegion、Region、HStore、StoreFile、HFile、HBase RPC、Zookeeper、HLog、WAL、compact、flush。这些名词是什么?之间的关系是什么?
HMaster是针对Table和Region的管理。
HRegionServer是响应用户的I/O请求,向HDFS读写数据,管理一系列的HRegion,一个HRegion对应一个Table的Region。HRegion对应多个HStore,一个HStore包含MemStore(内存存储区域)和StoreFile(存储在HDFS上的文件)。这里的数据流程是:数据会先写到MemStore,当MemStore满时,会flush入StoreFile,即存储到HDFS上。StoreFile的底层实现是HFile。StoreFile的文件数量达到一定阈值后,会触发Compact操作,将多个StoreFile合并为一个StoreFile,合并过程会进行数据的合并和删除。因为合并的操作使得单个的StoreFile大小达到一定阈值后会再次被分割执行split操作。在同时会把单个的Region拆分为两个Region,减少单个的Region的负载分到两个Region上。
另外一个比较重要的概念是HLog。这是数据冗余备份的一种方式,是为了避免HRegionServer意外丢失后数据的丢失,在这种方式的作用下,即使HRegionServer意外丢失,数据仍然能够根据HLog中的记录恢复数据。
列族的存在的意义(为什么要使用列族,只要有列不就可以了吗?这也是我一直思考的答案,本文给出了答案)存放在同一列族的数据是存放在同一个文件中的,具有相同的I/O特性,有效的降低磁盘I/O的开销。其压缩比得到提高,极大节省存储空间,体现了面向了列的特点。
5、HBase Compaction机制
简单的概括一下,这是数据的合并的过程,由多个StoreFile合并为一个StoreFile。该过程会在后续文章连载出来。
6、HBase 协处理器
这是为了方便对HBase数据进行计数、求和、排序,建立"二级索引"。
7、HBase大对象存储解决方案
三种解决方案及优缺点,如下:
1)HBase自身大对象存储方式。
优点: a)实现简单,数据管理方面 b)数据管理方便 c)保证一致性
缺点: a)无法回避split、Compact b)延时不稳定
2)基于HDFS的HBase自身的大对象存储方式
这种方案是只将少量的结构化数据和大对象的索引存放在HBase中,将大对象排除在HBase写流程之外,存放在HDFS上。这样做的目的是为了降低split、compaction触发程度。
方案A: 直接将大对象以文件的形式的方式存储到HDFS上,HBase中存储每个大对象文件地址即可。
方案B:将多条大对象数据存储在一个Squence File
两种方案的优缺点总结:
优点: a)实现较为简单 b)回避大对象的split/compaction机制
缺点: a)需要编写额外的代码,主要是为了写入HDFS文件链接 b)大对象管理较为困难。无法管理超时的文件,影响集群的性能。
3)基于列族定制的HBase自身方案。
这里是指定制Compaction机制 。通过参数hbase.hcompaction.hstore.min参数的设置来设定触发Compaction机制的文件的最小个数,这种方案是将该参数设置调大。
方案的优缺点:
优点:a)实现方便 b)数据管理方便 c)回避了Minor Compaction对写入性能的影响。
缺点:a)未解决split带来的影响 b) 大量的大对象StoreFile影响读性能
8、HBase大对象存储的分析与设计
项目的整体的规划为三个部分:1.数据结构的设计2.定制Flush机制3.定制Compaction机制
设计的目标是:
1)避免过多的小文件 2)尽量可能对于写性能的影响,减少对于Split、Compaction的触发,保证稳定的低延时和高吞吐 3)较低延时和高并发 4)目标的一致性 5)透明性
- HBase相关论文阅读
- 深度学习相关论文阅读
- 中文推荐相关论文阅读笔记
- 论文阅读——数据库相关
- 云计算和数据库相关论文阅读
- 图相似性相关论文阅读总结
- 显著性检测相关论文阅读
- 阅读论文
- 阅读论文
- 论文阅读
- 论文阅读
- 论文阅读
- 信息抽取(IE)领域相关论文阅读小结
- LDA(Latent Dirichlet Allocation)相关论文阅读小结
- 【论文阅读】 输入法相关论文二 LONG SHORT TERM MEMORY NEURAL NETWORK
- 论文相关
- 论文相关
- 论文相关
- 解决qt调试时Unknown debugger type "No Engine
- 文章标题
- 一人我饮酒醉歌词
- 动态规划数字三角形问题
- Tempter of the Bone
- HBase相关论文阅读
- 欢迎使用CSDN-markdown编辑器
- P OJ-----3176DP动态规划入门
- ITOO中的权限管理解决方案
- HDU 2102 A计划(广度优先搜索+数据)
- Python
- IOS Dev Intro - UIView and CALayer
- hdoj2717Catch That Cow(BFS)
- 经商之道 ,无德必无财