HBASE
1 简介
1.1 官网
1.1.1 http://hbase.apache.org/
1.1.2 Apache HBase™ is the Hadoop database, a distributed, scalable, big data store. Use Apache HBase™ when you need random, realtime read/write access to your Big Data
1.2 应用场景
1.2.1 https://www.zhihu.com/question/21677041
1.2.2 http://www.cnblogs.com/ggjucheng/p/3379459.html
1.2.3 http://blog.csdn.net/lifuxiangcaohui/article/details/39894265
1.2.4 http://www.aboutyun.com/thread-8701-1-1.html
1.2.5 http://blog.csdn.net/defonds/article/details/48471087
1.3 基于HDFS的分布式数据库,提供对大数据实时、随机、读写操作
1.3.1 MySQL关系型、偏事务
1.3.2 HBASE没有关联的操作,适合简单的处理
1.4 特点
1.4.1 传统SQL数据库字段添加比较麻烦,表设计比较固定死板
1.4.2 HBASE字段可以随意扩充
1.4.2.1 建表不需要指定特定字段,只需要指定列族CF
1.4.2.2 插入数据时,列族中可以存储任意多个列CK
1.4.3 不需要SQL数据库范式,不需要拆表,全部放在一张大表中,当然也就不需要JOIN了
1.4.4 HBASE数据更新保留原始数据,历史版本一直存在,KV中的Value带有版本号,通常是时间戳
1.4.5 通过表名--行健--列族--列名--版本 定位一个字段
1.5 存储
1.5.1 分布式存储,需要把大表切开存储,HBASE是按照region切分存储管理的
1.5.2 按照列族进行切分,某一列组的若干行切分为一个region,数据量达到一定大小就切分
1.5.3 region的基本信息存储在regionServer上面存储,regionServer的数据存放在HDFS上面,叫HFile
1.5.4 HFile肯定不是纯文本的格式,纯文本检索可能会比较慢,HFile按照HBase自定义的格式存储
1.5.5 所以regionServe最好也和DataNode、NodeManager一样在物理上面部署在一起,直接访问本地数据,加快HBase速度
1.5.6 HMaster不存储具体的Region数据,Hamster负责管理RegionServer的状态,负责RegionServer的负载均衡,可以理解为相当于HBase定制的一个NameServer
1.5.7 HMaster可以通过ZK实现HA
1.6 查询机制
1.6.1 HBase的Meta表存储了TBLName_RKStart_RKEnd;HostNameList
1.6.2 该表为Habse的系统表,由Hbase自己维护
1.6.3 每个region都在Meta表有一条记录
1.6.4 Meta表也可能是一个大表,所以Meta也和Region的信息一样存储在HDFS上面
1.6.5 同理,上面的信息可能也很大,也会产生同样的问题,Meta的Meta的数据仍然需要分布式存储,所以HBase建立了二级索引,有两个Meta的索引表
1.6.6 理论上二级Meta索引已经可以容纳十亿级别的数据量了
1.6.7 二级索引的表存储在一台机器即可,这个表叫ROOT表,root表的节点信息存储在zookeeper上面
1.6.8 寻址过程:ZK中获取ROOT节点--ROOT节点获取Meta信息表的region对应的节点--Meta表中获取数据具体存储在哪个节点上面--再去获取数据
1.6.9 regionServer的内存缓存着最近查询的热数据,所以regionServer最好内存稍微大一点
2 HBase Shell
2.1 略,参考笔记
3 HBase API
3.1 略,参考笔记
4 最佳实践
4.1 HBASE可以与ES结合起来,将需要查询的字段存到ES中,ES搜索得到相关的RowKey之后再从HBase中快速查询出来, 即将计算放到ES中进行,这是一个比较好的思路
4.2 行健的设计可以帮助更好的使用HBase,更快更方便的进行过滤查询,比如时序数据库的设计就是这个思路
 
 
 
 

【HBase】学习笔记的更多相关文章

  1. HBase学习笔记之HBase的安装和配置

    HBase学习笔记之HBase的安装和配置 我是为了调研和验证hbase的bulkload功能,才安装hbase,学习hbase的.为了快速的验证bulkload功能,我安装了一个节点的hadoop集 ...

  2. HBASE学习笔记(四)

    这两天把要前几天的知识点回顾一下,接下来我会用自己对知识点的理解来写一些东西 一.知识点回顾 1.hbase集群启动:$>start-hbase.sh ===>hbase-daemon.s ...

  3. HBase学习笔记之BulkLoad

    HBase学习之BulkLoad bulkload的学习以后再写文章. 参考资料: 1.https://blog.csdn.net/shixiaoguo90/article/details/78038 ...

  4. HBase学习笔记之HBase原理和Shell使用

    HBase学习指南之HBase原理和Shell使用 参考资料: 1.https://www.cnblogs.com/nexiyi/p/hbase_shell.html,hbase shell

  5. HBase学习笔记(四)—— 架构模型

    在逻辑上,HBase 的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列. 但从 HBase 的底层物理存储结构(K-V)来看,HBase 更像是一个 multi-dimensional m ...

  6. Hbase学习笔记01

    最近做项目接触到了HDFS.mapreduce以及Hbase,有了实战机会,今天打算将这些知识好好总结下,以备不时之需.首先从Hbase开始吧. Hbase是建立在HDFS上的分布式数据库,下图是Hb ...

  7. HBase学习笔记-高级(一)

    HBase1. hbase.id记录了集群的唯一标识:hbase.version记录了文件格式的版本号2. split和.corrupt目录在日志分裂过程中使用,以便保存一些中间结果和损坏的日志在表目 ...

  8. HBASE学习笔记--API

    HBaseConfiguration HBaseConfiguration是每一个hbase client都会使用到的对象,它代表的是HBase配置信息.它有两种构造方式: public HBaseC ...

  9. Hbase—学习笔记(一)

    此文的目的: 1.重点理解Hbase的整体工作机制 2.熟悉编程api,能够用来写程序 1.  什么是HBASE 1.1.   概念特性 HBASE是一个数据库----可以提供数据的实时随机读写 HB ...

  10. HBase学习笔记一

    HBase简介 HBase概念 HBase的原型是谷歌的Bigtable论文 HBase是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC上搭建起大规模结构化存储集 ...

随机推荐

  1. 【转】JQuery Validate使用总结1

    一.导入js库 <script src="../js/jquery.js" type="text/javascript"></script&g ...

  2. linux驱动之一语点破天机

    <const 关键字> 在嵌入式系开发中,const关键字就是“只读”的意思   <为什么要ARM需要进行C语言环境的初始化> 在汇编情况下,指令的跳转,保护现场需要保存的数据 ...

  3. 百度乐播音乐真实地址查找api接口

    1.百度乐播官网:http://lebo.baidu.com: 随便点击进去一个音乐界面,如:http://lebo.baidu.com/album/9036366 2.chrome浏览器右击'检查' ...

  4. 模型构建<2>:不平衡样本集的处理

    分类预测建模都有一个基本的假设,即样本集中不同类别的样本个数基本相同,但是在实际任务中,经常会出现各类样本个数差别较大的情况,这样的样本集就是不平衡样本集,它对学习建模的性能会带来很大的影响,因此必须 ...

  5. [BZOJ5298][CQOI2018]交错序列(DP+矩阵乘法)

    https://blog.csdn.net/dream_maker_yk/article/details/80377490 斯特林数有时并没有用. #include<cstdio> #in ...

  6. 20162303 解读同伴的收获&解决同伴的问题 周三补交

    解读同伴的收获&解决同伴的问题 11月29号 解决同伴的问题 我的同组同学是20162307学号张韵琪同学 同组同学的问题是动态规划算法步骤中递归定义的最优值 我理解他的意思是她不太理解最优值 ...

  7. 【洛谷】2324:[SCOI2005]骑士精神【IDA*】

    P2324 [SCOI2005]骑士精神 题目描述 输入输出格式 输入格式: 第一行有一个正整数T(T<=10),表示一共有N组数据.接下来有T个5×5的矩阵,0表示白色骑士,1表示黑色骑士,* ...

  8. BZOJ 4521 CQOI 2016 手机号码 数位DP

    4521: [Cqoi2016]手机号码 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 539  Solved: 325[Submit][Status ...

  9. ThinkPHP通过类的链式继承优化空操作的实现

    上篇<ThinkPHP空操作和空控制器的处理>中,在处理空操作时修改了父类Controller.class.php中代码,不到万不得已不能 修改基类控制器中的原码,此时可在子类与父类之间, ...

  10. 背景建模或前景检測之PBAS

    申明,本文非笔者原创,原文转载自:http://blog.csdn.net/kcust/article/details/9931575 Pixel-Based Adaptive Segmenter(P ...