HBase篇(4)-你不知道的HFile】的更多相关文章

[每日五分钟搞定大数据]系列,HBase第四篇 这一篇你可以知道, HFile的内部结构? HBase读文件细粒度的过程? HBase随机读写快除了MemStore之外的原因? 上一篇中提到了Hbase的数据以HFile的形式存在HDFS, 物理存储路径是: NameSpace->Table->Region->CF->HFile 这一篇我们来说下这个HFile,把路径从HFile开始再补充一下 HFile->Block->KeyValue. 顺便科普一下,HFile具体…
[每日五分钟搞定大数据]系列,HBase第五篇.上一篇我们落下了Bloom Filter,这次我们来聊聊这个东西. Bloom Filter 是什么? 先简单的介绍下Bloom Filter(布隆过滤器)是1970年由布隆提出的.它实际上是一个很长的二进制向量和一系列随机映射函数.布隆过滤器可以用于检索一个元素是否在一个集合中.它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难. 在计算机科学中,我们常常会碰到时间换空间或者空间换时间的情况,即为了达到某一个方面的…
[每日五分钟搞定大数据]系列,HBase第三篇 聊完场景和数据模型我们来说下HBase的架构,在网上找了张比较清晰的图,我觉得这张图能说明很多问题,那这一篇我们就重点来解析下这张图 角色与职责 先介绍下上图中的几个角色和Ta们的职责: 1.HMaster 为Region server分配region; 负责Region server的负载均衡; 发现失效的Region server并重新分配其上的region; 处理schema更新请求 2.Client Client包含访问HBase的接口,并…
主要看Roger的文档,这里作为文档的补充 HFile的格式-HFile的基本结构 Trailer通过指针找到Meta index.Data index.File info. Meta index保存每一个元数据在HFile中的位置.大小.元数据的key值. Data index保存每一个数据块在HFile中的位置.大小.块第一个cell的key值. File Info保存HFile相关信息. Meta块保存的是HFile的元数据,比如布隆过滤器. Data块保存的为具体的数据,每个数据块有个M…
一.前述 今天分享一篇关于HBase的一对多和多对多的案例的分析. 二.具体案例 案例一.多对多    人员-角色   人员有多个角色  角色优先级   角色有多个人员   人员 删除添加角色   角色 可以添加删除人员   人员 角色 删除添加   PS:说明,两张表User表和Role表, User表中定义两个列族,第一个列族是名字,第二个列族中  多个列定义为具体的角色,列的内容定义为具体的值,即优先级(这里利用了列也能存信息,所以把角色Id定义为具体的列,值越大代表优先级越高) 案例二.…
一.前述 HBase优化能够让我们对调优有一定的理解,当然企业并不是所有的优化全都用,优化还要根据业务具体实施. 二.具体优化 1.表的设计  1.1 预分区 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分.一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按照region分区情况,在集群内做数据的负载均衡. publi…
一.前述 1.HBase,是一个高可靠性.高性能.面向列.可伸缩.实时读写的分布式数据库.2.利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为其分布式协同服务. 3.主要用来存储非结构化和半结构化的松散数据(列存 NoSQL 数据库).二.Hbase数据模型 2.1 ROW  KEY(相当于关系型数据库中的ID)决定一行数据按照字典顺序排序的.Row key只能存储64k的字节数据 2.2 Column F…
[每日五分钟搞定大数据]系列,HBase第一篇 结束了Zookeeper篇, 接下来我们来说下Google三驾马车之一BigTable的开源实现:HBase,要讲的内容暂定如下: 这是第一篇我们先不聊技术实现,只讨论特性和场景 hbase的特点 千万级高并发 PB级存储 非结构化存储 动态列,稀疏列 支持二级索引 强一致性,可靠性,扩展性(CP系统,可用性做了一点让步) 场景 1. 写密集型应用,每天写入量巨大,而相对读数量较小的应用 2. 不需要复杂查询条件来查询数据的应用 使用rowkey,…
什么是HBase的Region? 大家一定对一个词不陌生:域分区,这个域就是Region:Region定义为key的一个取值范围的子集的数据载体:比如常见的域分区有固定大小分区,比如1-10一个region,2-50一个region以此类推:不过更常见的Hash分区:但是region在每台机器的物理实现上对应的是HFile:region的分割的逻辑,其实是指region的物理实现HFile的分割. 那么HFile的分割之后数据是一分为二了,那么未来向HFile中插入数据的时候怎么知道向那个HFi…
HFile结构 截止hbase 1.0.2版本,hfile已经有3个版本,要深入了解hfile的话,还是要从第一个版本开始看起. hfile v1 Data Block:保存表中的数据,这部分可以被压缩 Meta Block:(可选)保存用户自定义的kv对,可以被压缩. File Info :Hfile的meta元信息,不被压缩,定长. Data Block Index :Data Block的索引.每个Data块的起始点. Meta Block Index:(可选的)Meta Block的索引…