Hbase基本架构概念

2019-01-28  本文已影响8人  analanxingde
非关系型与关系型数据库区别:对事务的要求
数据库事务:指作为单个逻辑工作单元执行的一系列 要么完全地执行,要么完全地不执行。
事务正确执行的四个基本要素的缩写(ACID)。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
非关系型数据库NoSQL(not only sql)对事务要求不严格,不遵循ACID原则。

一般一个HBase集群有一个Master服务器和几个RegionServer服务
器。 Master服务器负责维护表结构信息,主要操作一些需要跨regionServer服务器的协调工作例如建表,删表,移动region合并等。 实际的数据(以region(一段数据的集合)为单位)都存储在RegionServer服务器上。RegionServer保存的表数据直接存储在Hadoop的HDFS上。ZooKeeper在HBase中扮演的角色类似一个管家,ZooKeeper管理了HBase所有RegionServer的信息, 包括具体的数据段存放在哪个RegionServer上。
客户端每次与HBase连接, 其实都是先与ZooKeeper通信, 查询出哪个RegionServer需要连接。连接RegionServer服务器取出数据,因此当Master节点挂掉之后,仍然可以查询该集群中的数据,只是不能建立新表(Master管理表结构)

  1. 列族 是建表时需要确定的信息,表的很多属性, 比如过期时间、 数据块缓存以及是否压缩等都是定义在列族上。Hbase会把相同列族的列尽量放在同一个机器上。
  2. 单元格:一个列上可以存储多个版本的值, 多个版本的值被存储在多个单元格里面, 多个版本之间用版本号(Version) 来区分。 所以, 唯一确定一条结果的表达式应该是行键:列族:列:版本号( rowkey:column family:column:version)
  3. 一个region是多个行按照行键字典排序后的集合。
上一篇 下一篇

猜你喜欢

热点阅读