Hbase入门(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010004082/article/details/79351660

HBase的基本概念和定位

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

选择合适的HBase版本

官网版本:http://archive.apache.org/dist/hbase/

CDH版本(稳定,推荐):http://archive.cloudera.com/cdh5/

HBase的用途

  1. 海量数据存储
  2. 准实时查询

HBase的应用场景及特点

  1. 交通
  2. 金融
  3. 电商
  4. 移动(电话信息)等

HBase的特点

  1. 容量大

HBase单表可以有上百亿行、百万列,数据矩阵横向和纵向两个维度所支持的数据量级都非常具有弹性。
2. 面向列

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

  1. 多版本

HBase每一个列的数据存储有多个Version(version)。

  1. 稀疏性

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

  1. 扩展性

底层依赖于HDFS

  1. 高可靠性

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

7.高性能

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


HBase架构体系与设计模型

HBase架构体系

这里写图片描述

HBase数据模型

  • 一张表的列簇不会超过5个
  • 每个列簇中的列数没有限制

HBase与关系型数据库表结构的对比

HBase 关系型数据库
列动态增加 列动态增加
数据自动切分 数据自动切分
高并发读写 高并发读写
不支持条件查询 复杂查询
阅读更多

扫码向博主提问

飞鸟的轨迹

非学,无以致疑;非问,无以广识
去开通我的Chat快问
换一批

没有更多推荐了,返回首页