HBase 原理_1 | 学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 快速学习 HBase 原理_1

开发者学堂课程【HBase入门教程HBase 原理_1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/397/detail/5061


HBase 原理_1


内容介绍

一、Hadoop 生态系统

二、非关系型数据库

三、HBase 简介                                  

四、HBase 数据模型


一、Hadoop 生态系统

image.png

1.首先来看 Hadoop 生态系统图,有 Zookeeper,之前 Zookeeper 是拿来做 HDFS 高可用的,Zookeeper 本身是一个维护内存数据库。

Hive 是一个数据仓库。

HBase 就是数据库,Hive 指的是数据仓库。

HBase MapReduce 都学过。

左边的 Flumn Sqoop 是两个工具,用起来很简单。Flumn 做数据的收集,尤其是在离线分析离线处理的系统里。经常用 Flumn 来收集数据。

Sqoop :布置的 Hadoop 作业,最终把结果分析完放在一张结果表里,但是这个表是 Hive 中的一个表,最终在 HDFS 中存储,是一个非关系型数据,最终的结果是要通过一个 web 平台展示给用户,web 开发人员查的数据是一些关系型数据库。所以 Sqoop 就是完成关系型数据和非关系型数据之间的转换,可以将 Hive 里的结果转换到关系型数据库,也可以将关系型数据库转到非关系型数据库里。因为早期的数据都存储在关系型数据库里,但是这里的数据做一些分析数据也有价值,所以也需要将它转到生态圈里,然后通过 MepReduce Hive 进行分析。

Mahout,讲 MepReduce 案例时手动的实现了一些计学习里的算法,Mahout 将之前的一些或者是常用的一些计学习算法通过 MepReduce 做了一个开源的实现。有什么意义?之前在考计学习算法时都是单机进行,有

MepReduce 之前有分布式计算之前实现计学习算法实现完之后都是通过单机来访,但是当数据量上来之后,单机运行效率就不高。Hadoop 是分布式计算,分布式计算比单机效率要高,但数据量很大时 Mahout 就将计学习进行实现,可以通过 MepReduce 进行分析,从而提高了效率。

Pig 类似 Hive 通过编写一些脚本来分析 HDFS 上的数据,但是 Pig 现在已经淘汰。类似的还有 shark,类似鲨鱼的图标也已经被淘汰了,所以技术更新迭代比较快。

2.图不光是介绍 Hadoop 里的组件是做什么的还有实际意义:

最底层是 HDFS HBase ,它们两可以用来存储数据,数据最终可以存储在哪呢?首先之前学了 HDFS,不光是 MapReduce 还有 Hive 分期的数据都在 HDFS 上,然后 HBase 作为大数据里的数据库也可以存储数据, MapReduce Hlive 也可以分析 HBase 上。HBase 里面的数据最终可以存储在你的服务器本介上,但是这是单台的,所以数据要放在 HDFS 上,Zookeeper 对这些组件都可以高可用,做辅助的作用。但是注意之前在 HBase Zookeeper 不仅仅只是做一个高可用,不做高可用也不能离开 Zookeeper,因为 Zookeeper 里存了 HBase 中可用的数据,最左边是需要的工具 Flumn 收集完可以放到分布式系统里,Sqoop 向结果做一个转换。所以这个生态图要去合理的理解。


二、非关系型数据库

1.Cassandrahbase mongodb 性能对比

http//www.jdon.com/46128

2.Couchdb,文件存储数据库

3.Neo4j 非关系型图数据库

Cassandra 国外用的多一些,国内都是用 Hadoop 生态圈里 Hbas 使用最多。


三、HBase简介                

1.HBaseHadoop Database) 是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库。

2.利用 Hadoop HDFS 作为其文件存储系统,利用 Hadoop MapReduce 来处理 HBase 中的汇量数据,利用 Zookeeper 作为其分布式协同服务

3.主要用来存储非结构化和半结构化的松散数据(列存 NoSQL 数据库)

4.行式数据库:减少存储空间占用,不支持删除修改表必须修改全部

5.列式数据库:创建表之后,列可以横向进行收缩

6.它是大数据里的一个数据库,它有哪些特性?高可靠性:首先它是高可靠性,为什么?

这个数据本身 Zookeeper 可以对它做一些高可用,正常 HBase 搭建时数据可以存储在 HDFS 上,HDFS 可靠性高,毫无疑问这块数据很稳定。

7.高性能:它作为大数据里的数据库,大数据分析的数据量高,对比一下在用关系型数据库时,一般 MYSQL 的配发量在上了百万级别之后,这些性能开始往下滑。

8.面相列: HBase 是列式数据库。之前所接触的 MYSQL 那些都叫做行式数据库。什么叫行式、列式?

平时在做开发时,业务系统里面一张表,一行数据可能有很多字段,但是一行数据里这么多字段只用到个别的几个,剩下的都是空着的,这样的方式落实到存储空间里会浪费存储空间,想减少存储空间占用,没用的列直接删掉就可以了。但是行式数据库不支持,要修改字段,相当于要把这整个表进行修改。列式数据库,创造表之后,列式数据库是可以横向进行收缩,假如一行数据你需要哪些列可以动态来进行添加。这是在使用时最直观的区别。之前在使用关系型数据库里那些操作全部忘掉。因为和之前有很大的区别。

9.可伸缩:本身是一个分布式数据库,当运行过程中发现集群,存储能力不够,可以向 HBase 集群再添加节点从而提高运行的能力。

10.实时读写:作为正常的数据库,一定要是实时读写是交互式的一个操作。

11.在 HBase 里存储必须满足她的规则。


四、HBase 数据模型

Row Key

(唯一确定一行数据)

Time Stamp

(数据版本)

 CF1

  (列族)

 CF2

 CF3

“com.cnn.www”

t6

 

CF2:q1=val3

(单元格)

CF3:q4=val4

   t5

 

 

 

t3

CF1:q2=val2

 

 

在这个图里描述的 HBase 有几行数据?

上边相当于一个说明,下边有3行数据。它其实描述的是一行数据。首先Row Key 类似关系型数据库里的组件,它就是唯一确定只有一行数据。

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5月前
|
存储 SQL 分布式计算
技术心得记录:深入学习HBase架构原理
技术心得记录:深入学习HBase架构原理
|
存储 负载均衡 监控
HBase分布式数据库架构及原理
Client是操作HBase集群的入口,对于管理类的操作,如表的增、删、改操纵,Client通过RPC与HMaster通信完成,对于表数据的读写操作,Client通过RPC与RegionServer交互,读写数据。
669 0
HBase分布式数据库架构及原理
|
6月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.16 安装HBase
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
132 1
Hadoop学习笔记(HDP)-Part.16 安装HBase
|
6月前
|
存储 算法 分布式数据库
HBase原理 | HBase内部探险
HBase原理 | HBase内部探险
116 0
|
存储 缓存 负载均衡
98 hbase原理
98 hbase原理
64 0
|
存储 运维 监控
分布式数据库HBase的重要机制和原理的宕机恢复和故障处理
HBase是一个分布式数据库系统,支持高可用性、高性能和高伸缩性。在分布式环境中,数据的分布式存储和管理是非常重要的。HBase通过分布式存储和管理数据来实现高可用性和高性能。同时,HBase还提供了一些重要的机制和原理来支持宕机恢复和故障处理。
439 1
|
存储 分布式计算 关系型数据库
|
存储 缓存 负载均衡
HBASE原理整理
HBASE原理整合
182 0
|
存储 容灾 大数据
分布式数据库HBase的重要机制和原理的容灾与备份机制
在当今的互联网时代,数据的安全性和可靠性已经成为了企业的核心竞争力之一。而在大数据领域,分布式数据库HBase作为一个开源的分布式数据库系统,因其高性能、高可靠性和易于扩展性等特点,受到了广泛的应用。本文将深入探讨HBase中的重要机制之一:容灾与备份机制,帮助开发者更好地理解和掌握HBase的工作原理。
434 0
|
存储 负载均衡 大数据
分布式数据库HBase的重要机制和原理的负载均衡原理
在当今的互联网时代,数据的存储和处理已经成为了企业的核心竞争力之一。而在大数据领域,分布式数据库HBase作为一个开源的分布式数据库系统,因其高性能、高可靠性和易于扩展性等特点,受到了广泛的应用。本文将深入探讨HBase中的重要机制之一:负载均衡原理,帮助开发者更好地理解和掌握HBase的工作原理。
385 0