继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Hbase基本概念

艾贺521
关注TA
已关注
手记 292
粉丝 1.1万
获赞 1544

Hbase(Hadoop Database)是建立在Hadoop文件系统之上的分布式面向列的数据库,它的主要目的是存储非常大的表,百万行,百万列的那种。

特性

它具有如下特点(摘自官网):

  • 线性扩展,水平扩展
  • 严格的读写一致
  • 自动的和可配置的表分片
  • RegionServers之间自动的故障转移
  • 客户端的API使用方便
  • 实时查询的块缓存和Bloom过滤器
  • 可扩展的基于jruby的shell
  • 支持导出系统的度量信息到文件中,或者到Ganglia
  • 支持XML,Protobuf和二进制的数据传输

使用场景

  • 场景上不需要太复杂的事务,目标只是大数据与高并发
  • 随机读的场景
  • 现有的关系型数据库已经无法在硬件上满足数据疯狂增长的需要,mysql中单表数据超过千万时,数据的查询速度越来越慢。而Hbase一个表支持数百亿行,上百列。
  • 基于大数量高并发操作考虑,为了满足每天上亿级别的访问,而hbase根据rowkey进行查询的速度相当快

在我们公司的业务场景:

  • 存储业务数据:车辆GPS信息,司机点位信息,用户操作信息,设备访问信息。。。
  • 存储日志数据:架构监控数据(登录日志,中间件访问日志,推送日志,短信邮件发送记录。。。),业务操作日志信息
  • 存储业务附件:UDFS系统存储图像,视频,文档等附件信息

不过在公司使用的时候,一般不使用原生的Hbase API,使用原生的API会导致访问不可监控,影响系统稳定性,以致于版本升级的不可控。

Hbase架构体系和设计模型

  • Zookeeper,作为分布式的协调。RegionServer也会把自己的信息写到ZooKeeper中。
  • HDFS是Hbase运行的底层文件系统
  • RegionServer,理解为数据节点,存储数据的。
  • Master RegionServer要实时的向Master报告信息。Master知道全局的RegionServer运行情况,可以控制RegionServer的故障转移。

Hbase数据模型

列簇:

  • 一张表列簇不会超过5个
  • 每个列簇中的列数没有限制
  • 列只有插入数据后存在
  • 列在列簇中是有序的

Hbase与关系型数据库对比:

  • Hbase特点:列动态增加,数据自动切分,高并发读写 缺点:不支持条件查询
  • 关系型数据库:支持复杂查询,不支持高并发,数据切分比较麻烦,列要提前定义

最后

下节讲下Hbase的安装使用。

参考

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP