没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论













HBase 介绍
HBase 是数据库
HBase 是 NoSQL (Not Only Sql)非关系型数据库
常见的关系型数据库有 Oracle MySQL SqlServer DB2 等等..以行(row)为单位存储
常见的非关系数据库有 Redis HBase
HBase 是以”列式存储”,便于压缩数据,节省存储空间,监视带宽消耗
列族
列族 2
Age
Name
Sex
Job
Dept
Salary
..
1
2
3
<HBase 权威指南>书中的代码在 GitHub 都有,
地址 https://github.com/larsgeorge/hbase-book
GitHub : 代码托管仓库
国内有同款 Gitee(码云)
HBase 是由 Java 语言开发的,因此运行 HBase 需要有 Java 环境
RDBMS - Relational(关系型) Database Management System
为什么需要列式存储?
在分析型数据库中,并不是所有数据都是必须的.
HBase 不支持事务
CAP 原则又称 CAP 定理,指的是在一个分布式系统中,一致性(Consistency)、可用性
(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能
同时实现两点,不可能三者兼顾。

CAP 理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性
这三个需求,
最多只能同时较好的满足两个。
因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP
原则三 大类:
CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
CP - 满足一致性,分区容忍必的系统,通常性能不是特别高。
AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。
为什么选用 HBase?
擅长存储超大规模资料
可以进行全表分析数据
没有事务,效率高
使用 RDBMS 完成 HBase 的功能,会大幅度增加成本
扩展容易
数据库的范式和反范式
https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%8C%83%E5%BC%8F/7309
898?fr=aladdin

HBase 内部组成
HBase 基于 Hadoop
在存储时行键是按字典顺序排序
行键类似于 RDBMS 中的索引,根据行键查询效率高,且行键是唯一
行键的命名随意
一个 HBase 表中可以有多个列族(column family)
一个列族有若干个列,一个列族中的所有列存储在同一个档-HFile
列族需要在创建表时定义,不能频繁更改,表中的列族数量不宜太多(尽量少于几十个)
一个列族中的列没有数量限制(可以有数百万个列)
一个列族中的列 存储的数据类型没限制,数据大小没有限制
HBase 列式存储图

HBase 的存储架构中,不存储 null 值,即 null 值完全不占用存储空间
HBase 中每一列的值或者单元格都有默认具有时间戳,也可以由用户显示设置
HBase 的单元格(Cell)可以存储不同版本(不同时间戳)的值,不同版本的值按照降序排列在单元
格中,访问时优先读取最新的值
下图表示单元格被写入的时间戳 tn 的可视化表示
下图是另一种查看数据的方式,将单元格内的数据以时间戳排序存储
HBase 的数据模型

HBase 的逻辑数据模型与物理数据模型(实际存储的数据模型):
逻辑数据模型:
物理数据模型(实际存储的数据模型):
一个列族下的所以列的数据存储在一个 HFile 檔中
HBase 自动分区
一个表中初始时只有一个 region
Region 是以行键排序的连续的存储空间
当表中的 region 存储空间的数据大小阈值(256M),会自动分区
以 region 中间的那个行键处将 region 一分为二,拆成两个大致相同的子 region
一个 region 只能由一个 RegionServer 管理,一个 RegionServer 可以管理多个 region
剩余69页未读,继续阅读
资源评论


kp6i9HIY4G7WPzH
- 粉丝: 14
- 资源: 13
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
