码迷,mamicode.com
首页 > 其他好文 > 详细

实时检索之HBase

时间:2021-02-19 13:36:07      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:技术   一半   迁移   健康   一致性   更改   出现   功能   特性   

1、概念

HBase是一个分布式的NoSQL数据库,其特点高可靠、高性能、面向列、可伸缩。

  • 适合存储大表数据 ,并且可实时读写大表数据。大表:表的规模可以达到数十亿行以及数百万列
  • 表结构稀疏。稀疏:对于为空的列,并不占用存储空间
  • 数据底层存储于Hadoop HDFS分布式文件系统。
  • 利用ZooKeeper作为协同服务。

2、特点

HBase适合具有如下需求的应用:

  • 海量数据 (TB、PB) 。
  • 不需要完全拥有传统关系型数据库所具备的ACID特性。
  • 高吞吐量。
  • 需要在海量数据中实现高效的随机读取。
  • 需要很好的性能伸缩能力。
  • 能够同时处理结构化和非结构化的数据。

ACID原则是数据库事务正常执行的四个特性,分别指原子性、一致性、独立性及持久性。

  • 事务的原子性(Atomicity):指一个事务要么全部执行,要么不执行。也就是说一个事务不可能只执行了一半就停止了。比如你从取款机取钱,这个事务可以分成两个步骤:1划卡,2出钱,不可能划了卡,而钱却没出来.这两步必须同时完成,要么就不完成。
  • 事务的一致性(Consistency):指事务的运行并不改变数据库中数据的一致性.例如,完整性约束了a+b=10,一个事务改变了a,那么b也应该随之改变。
  • 独立性(Isolation):事务的独立性也有称作隔离性,是指两个以上的事务不会出现交错执行的状态.因为这样可能会导致数据不一致。
  • 持久性(Durability):事务的持久性是指事务执行成功以后,该事务所对数据库所作的更改便是持久的保存在数据库之中,不会无缘无故的回滚。

3、各组件

技术图片

 

 

ZooKeeper为HBase集群中各进程提供分布式协作服务。各RegionServer将自己的信息注册到Zookeeper中,主用Master据此感知各个RegionServer的健康状态。

Client使用HBase的RPC机制与Master、RegionServer进行通信。Client与Master进行管理类通信,与RegionServer进行数据操作类通信。

RegionServer负责提供表数据读写等服务,是HBase的数据处理和计算单元。RegionServer一般与HDFS集群的DataNode部署在一起,实现数据的存储功能。

HMaster,在HA模式下,包含主用Master和备用Master。

  • 主用Master:负责HBase中RegionServer的管理,包括表的增删改查;RegionServer的负载均衡,Region分布调整;Region分裂以及分裂后的Region分配;RegionServer失效后的Region迁移等。
  • 备用Master:当主用Master故障时,备用Master将取代主用Master对外提供服务。故障恢复后,原主用Master降为备用。

HDFS为HBase提供高可靠的文件存储服务,HBase的数据全部存储在HDFS中。

Store:一个Region由一个或多个Store组成,每个Store对应图中的一个Column Family。

MemStore:一个Store包含一个MemStore,MemStore缓存客户端向Region插入的数据。

StoreFile:MemStore的数据flush到HDFS后成为StoreFile。

Hfile:HFile定义了StoreFile在文件系统中的存储格式,它是当前HBase系统中StoreFile的具体实现。

Hlog:HLog日志保证了当RegionServer故障的情况下用户写入的数据不丢失,RegionServer的多个Region共享一个相同的Hlog。

实时检索之HBase

标签:技术   一半   迁移   健康   一致性   更改   出现   功能   特性   

原文地址:https://www.cnblogs.com/xiao02fang/p/14411147.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!