美文网首页我爱编程
HBase个人学习笔记

HBase个人学习笔记

作者: 来往穿梭 | 来源:发表于2017-03-22 11:26 被阅读262次

WHAT

HBase是一个构建在HDFS上的 分布式列存储系统;从逻辑上讲,HBase将数据按表、行和列进行存储,他是一个分布式的稀疏的持久化存储的多维度排序表;
如同mysql数据是在linux文件系统上,HBase也是数据写入在HDFS文件系统;

学习HBase之前,先来介绍一下行存储列存储

``行存储``和``列存储``

其中,列式存储的数据库中,要想查询某一行的数据信息是很困难的。行、列存储需要有各自的应用场景。查询单个一行的数据还是用行式数据库,而做大数据分析或者存储时,因为不再考虑单独某一条数据,更适合列存储。


HBase特点:

  • 良好的扩展性
  • 读和写的强一致性
  • 高可靠性
  • 与MapReduce良好的集成

HBase数据类型:
在HBase中,一行数据是由行键(RowKey)作为键,包含多个 列族(Family),列族是由具有同时访问特性的多个列(Qualifer)组成的。数据可以有多版本的,由时间戳(TimeStamp)索引。

HBase一行的数据如下图:


HBase一行的数据

HBase数据模型特点:

  • 大:一个表可以有数十亿行,上百万列
  • 面向列:面向列(族)的存储,列(族)独立检索
  • 稀疏:对于空的列,并不占用存储空间,表可以设计的非常稀疏
  • 数据版本: 每个单元的数据可以有多个版本
  • 数据类型单一:HBase中的数据都是字节,没有类型

HBase物理模型:

Table中的所有行都按照RowKey的字典序排列;
Table在行的方向上分割为多个Region
Region是HBase中分布式存储和负载均衡的最小单元,不同的Region分布在不同的RegionServer上;

Region 和 RegionServer
Region虽然是分布式存储的最小单元,但并不是存储的最小单元。

Region由一个或多个Store组成,每个Store保存一个columns family,每个Store又由一个MemStore和0至多个StoreFile组成;MemStore存储在内存中,StoreFile存储在HDFS上

Region组成

HBase架构:

所有数据都是写到HDFS上的,RegionServer上引入了很多Region
Region是一个大table中的某一个片段, RegionServer主要负责数据的读和写。
RegionServer启动后会在zookeeper上建立一个节点,以RegionServer名字命名。Hmaster可以通过zookepper看有哪些节点,一旦RegionServer挂了,就会立刻知道。挂掉的RegionServer上的Region就会被从新分配其他的RegionServer
Hmaster负责管理这些RegionServer,这些Region如何分配,所有增删改查都是ClientHmaster进行请求,zookeeper负责大量协调、一致性的服务。

HBase架构

关键问题:HBase上的数据是存在HDFS的,但HDFS数据是不支持在线的update,而HBase却支持update?
HBase所有的update都会认为是写,只是时间戳会更加新,而对于原来的数据时间戳都是老的,HBase并没有修改,还是写,会产生新的HDFS文件。HBase读的时候,会从HDFS整合,优先返回最新时间戳的数据。定期HBase会把这些很多时间戳的文件进行合并,避免了数据特别多。

WHERE

  • 网页库(360搜索)
  • 商品库(淘宝搜索)
  • 云存储服务(小米)

相关文章

  • 实战代码(十一):Springboot集成Hbase

    一、理论基础 Hbase基础见另一篇笔记《学习笔记 | HBase学习笔记[https://www.jianshu...

  • Hbase 入门

    Hbase简介 参考:Hbase技术详细学习笔记 如何合理的设计HBase RowKey? Hbase是分布式、面...

  • HBase个人学习笔记

    WHAT HBase是一个构建在HDFS上的 分布式列存储系统;从逻辑上讲,HBase将数据按表、行和列进行存储,...

  • HBase知识点

    深度分析HBase架构 HBase技术简介 Hbase 技术细节笔记(上) Hbase 技术细节笔记(下) 回答思...

  • HBase学习笔记

    在对HBase进行操作之前,首先学习一下HBase的基础架构和运行原理。这里讲解了 HBase 在大数据生态圈中的...

  • HBase 学习笔记

    开篇 传统数据库结构是这样的: 但在NoSQL领域,数据表的模样是这样的: HBase,就属于该派系的一个典型代表...

  • HBase学习笔记

    最近使用HBase存储数据比较多,看了一些资料,这里记录一下笔记。HBase是Google开源项目bigtable...

  • hbase学习笔记

    Hbase概述 Hbase是一个开源可伸缩的针对海量数据存储的分布式nosql数据库。Hbase可以看成是以行键(...

  • Hbase学习笔记

    一、简介 Hbase:全名Hadoop DataBase,是一种开源的,可伸缩的,严格一致性(并非最终一致性)的分...

  • HBase学习笔记

    HBase概述 Hbase是运行在Hadoop上的NoSQL数据库,它是一个分布式的和可扩展的大数据仓库,也就是说...

网友评论

    本文标题:HBase个人学习笔记

    本文链接:https://www.haomeiwen.com/subject/crrgnttx.html