为了账号安全,请及时绑定邮箱和手机立即绑定

Hbase基本概念

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的安装使用。

参考

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1.1万
获赞与收藏
1544

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消