HBase 分布式数据库

HBase 用来做什么

HBase是用来提供高可靠性、高性能、列存储、可伸缩、多版本的NoSql的分布式数据存储系统,实现对大型数据的实时随机的读写访问
NoSql是Not Only SQL 的缩写,意既不仅仅是SQl的意思,泛指非关系型的数据库,是一项全新的数据库革命性运动,提倡运用非关系型的数据存储,这一概念是一种全新的思维的注入。

HBase的特点

1、容量大
HBase单表可以有上百亿行、百万列,数据矩阵横向和
纵向两个维度所支持的数据量级都非常具有弹性。
2、面向列
HBase是面向列的存储和权限控制,并支持独立检索。
列式存储,其数据在表中是按照某列存储的,这样在查询只
需要少数几个字段的时候,能大大减少读取的数据量。
3、多版本
HBase每一个列的数据存储有多个Version(version)。
4、稀疏性
为空的列并不占用存储空间,表可以设计的非常稀疏。
5、扩展性
Hbase为主从架构,底层依赖于HDFS,可横向扩展。
6、高可靠性
WAL机制保证了数据写入时不会因集群异常而导致写入
数据丢失:Replication机制保证了在集群出现严重的问题时,
数据不会发生丢失或损坏。而且HBase底层使用HDFS,HDFS本
身也有备份。
7、高性能
底层的LSM数据结构和Rowkey有序排列等架构上的独特
设计,使得HBase具有非常高的写入性能。region切分、主键索
引和缓存机制使得HBase在海量数据下具备一定的随机读取性
能,该性能针对Rowkey的查询能够达到毫秒级别。

HBase与传统数据库的对比

1、传统数据库遇到的问题:
数据量很大的时候无法存储;
没有很好的备份机制;
数据达到一定数量开始缓慢,很大的话基本无法支撑;
2、HBase优势:
线性扩展,随着数据量增多可以通过节点扩展进行支撑;
数据存储在hdfs上,备份机制健全;
通过zookeeper协调查找数据,访问速度快。

HBase读过程

1.Client访问Zookeeper,查找-ROOT-表,获取.META.表信息;
2.从.META.表查找,获取存放目标数据的Region信息,从而找到对
应的RegionServer;
3.通过RegionServer获取需要查找的数据;
4.RegionServer的内存分为MemStore和BlockCache(缓存)两部分,
MemStore主要用于写数据,BlockCache主要用于读数据。读请求
先到MemStore中查数据,查不到就到BlockCache中查,再查不到
就会到StoreFile上读,并把读的结果放入BlockCache。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值