《HBase不睡觉书》——基本概念

1、部署架构

1. 架构图

2. Master服务器

    - 负责维护表结构信息

3. RegionServer服务器

    - 存储实际的数据

    - 保存的数据直接存储到Hadoop的HDFS上

4. Client获取数据是由Client直接连接RegionServer的,所以当Master挂了之后依然可以获取数据,但是不能更新建表

5. RegionServer非常依赖ZooKeeper

    - ZooKeeper管理RegionServer上的信息,包括具体信息存在哪个RegionServer上面

    - Client每次与Client连接,都先和ZooKeeper通信,查询需要哪个RegionServer,再去连接

2、Region是什么

1. Regio(区域)是一段数据的集合

2. 特性

    - 不能跨服务器,一个RegionServer上有很多的Region

    - Region是基于HDFS的,所有的数据存取操作都是基于HDFS实现

3、RegionServer是什么

1. 是存放Region的容器

2. 当客户端从ZooKeeper获取RegionServer的地址后,它会直接从 RegionServer获取数据。

4、Master是什么

1. Master只负责各种协调工作,比如建表、删表、 移动Region、合并等操作。

5、存储架构

1. 存储结构图

2. 最基本的存储单位是列(column),一个列或者多个列形成一行(row)

3. 每个行(row)都拥有唯一的行键(row key)来标定这个行的唯一性

4. 每个列都有多个版本,多个版本的值存储在单元格(cell)中

5. 若干个列可以成为列族

6、RowKey是什么

1. rowkey完全是由用户指定的一串不重复的字符串

2. HBase中无法根据某个column来排序,系统永远是根据rowkey来排序的

7、列族是什么

1. 建表的时候是不需要制定列的,因为列是可变的,它非常灵活,唯一需要确定的就是列族

2. 所以一个表的列族是一开始就定义好的

3. 在HBase中一个列的名称前面总是带着它所属的列族

4. Hbase会把相同列族的列尽量放到一台机器里

4. 列族示例

```

brother:age

brother:name

parent:age

parent:name

```

8、单元格是什么

1. 一个列上可以存储多个版本的值,多个版本的值被存储在多个单元格里面,多个版本之间用版本号 (Version)来区分

2. 唯一确定一条结果的表达式应该是行键:列族:列:版本号(rowkey:column family:column:version)

9、Region和行的关系

1. 一个Region就是多个行的集合。在Region中行的排序按照行键(rowkey)字典排序。

10、与关系型数据库的对比

1. 关系型数据库

2. Hbase

3. 在关系型数据库中,每个行都是不可分割的,也就是说三个列必须在一起,而且要 被存储在同一台机器上

4. 在Hbase中,每一个行都是离散的。因为有列族的存在,所以一个行里面的不同列甚至被分配到了不同的服务器上

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

推荐阅读更多精彩内容

  • [TOC] 一、RowKey 的作用 HBase 由于其存储和读写的高性能,在 OLAP 即时分析中越来越发挥重要...
    w1992wishes阅读 2,309评论 1 1
  • 一、简介 Hbase:全名Hadoop DataBase,是一种开源的,可伸缩的,严格一致性(并非最终一致性)的分...
    菜鸟小玄阅读 2,411评论 0 12
  • 1. Hbase基本概念 一. 为什么要用hbase 相比于HDFS HDFS适合批处理场景, 但不支持数据的随机...
    lj72808up阅读 514评论 0 0
  • 今天下午,我和朋友出去吃寿司,我们点了许多寿司还有一个火锅,吃得有滋有味,真香。 说起寿司,那可是有一段历史。...
    杏联黄欣焱阅读 1,168评论 0 2
  • 《创意城市》讲述了“创意之城”纽约长达150年的创意产业发展路径,展示了创意产业对纽约经济的巨大助推力。社交圈...
    16王佳佳阅读 433评论 0 0