HBase介绍

一、hbase应用场景

  • 海量数据存储,上百亿行×上百万列,关系型数据库一般最多30个列,单表五百万

  • 准实时查询,上百亿行×上百万列情况百毫秒

  • 上百万行数据没必要放在hbase

  • 举例说明实际业务场景中的应用:交通GPS信息、移动电话信息、金融、电商

二、hbase的特点

  • 容量大:hbase单表可以百亿行、百万列,数据矩阵横向和纵向亮给维度所支持的数据两级都非常具有弹性;

  • 面向列:hbase是面向列的存储和权限控制,并支持独立检索。列式存储,其数据在表中是按照某列存储的,这样在查询只需要少数几个字段的时候,能大大减少读取的数据量;

  • 多版本:hbase每列的数据存储有多个版本version;

  • 稀疏性:为空的列并不占用存储空间,表可以设计的非常稀疏;

  • 扩展性:底层依赖于HDFS,增加节点;

  • 高可靠性:WAL机制保证了数据写入时不会因集群异常而导致写入数据丢失:Replication机制保证了在集群出现严重的问题时,数据不会发生丢失或损坏。而且HBase底层使用HDFS HDFS本身也有备份;

  • 高性能:底层LSM数据结构和Rowkey有序排列等架构上的独特设计,使得hbase具有非常高的写入性能。region切分、主键索引和缓存机制使得hbase在海量数据下具备一定的随机读取性能,该性能针对Rowkey的查询能达到毫秒级别。

三、hbase架构体系与设计模型

hbase架构体系

Column Family 列簇

表创建的时候,先建列簇,插入数据时动态增加列

  1. 一张表不会超过5个列簇

  2. 每个列簇的列数没有限制

  3. 列只有插入数据后存在

  4. 列在列簇中是有序的

四、hbase对比mysql等关系型数据库

  • hbase支持列动态增加

  • hbase支持数据自动切分

  • hbase支持高并发读写

  • hbase不支持条件查询

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【什么是大数据、大数据技术】 大数据,又称巨量资料,指的是所涉及的数据资料量规模巨大到无法在合理时间内通过传统的应...
    kimibob阅读 2,789评论 0 51
  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 7,385评论 0 34
  • HBase是Hadoop 的正式子项目,它是一个面向列的分布式数据库。是建立的hdfs之上,提供高可靠性、高性能、...
    我是嘻哈大哥阅读 851评论 0 1
  • 1.HBase概述 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,...
    JavaHub阅读 748评论 0 0
  • 公司:海宁 姓名:彭洪 宁波盛和塾《六项精进》224期学员【日精进打卡第49天】 【知~学习】 《项精进》大纲 背...
    启帆彭羽阅读 395评论 0 0