当前位置: 首页 > news >正文

Hbase简介

HBase简介

一、HBase简介

1. HBase简介

(1) apache的顶级项目,hadoop的数据库,分布式、大规模的大数据存储。

在这里插入图片描述

在这里插入图片描述

HBase是Google的BigTable的开源java版本,建立在hdfs之上的,分布式、列存储、非关系(nosql、key-value)、支持实时读写的数据库

HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。

Hbase面向列存储,构建于Hadoop之上,类似于Google的BigTable,提供对10亿级别表数据的快速随机实时读写!

(2) HBase****的结构

主键(rowkey)

列簇(column family )

列(column)

时间戳(timestamp)

在这里插入图片描述

二、HBase的特点

l HBase仅能通过主键来查询数据

l 可存储结构化和半结构化的数据

l 所有的数据使用字节数据byte[]来存储

l 可以横向扩展,也就是说可以通过不断的增加服务器来提高存储能力实现真正的海量存储

l 一张表可以存储几百万列,几十亿行数据

l 面向列存储,k-v(散列hash y=hash(x))

l 稀疏矩阵:非零元素很少,分布没有任何的规律,三元组(行号、列号、非零元素的值)存储

在这里插入图片描述

l 强一致性

在这里插入图片描述

l 自动分区

通过region分布在集群上

l 自动故障转移

l hadoop/hdfs集成:HBase是建立在hdfs之上

l MapReduce:对mr进行了改进,数据处理的效率可以达MR的到1000倍以上

l JAVA API:通过javaapi对hbase进行编程

l 命令行:Hbase的shell命令

2. hdfs

顺序访问,存储效率很低

三、HBase的应用场景

1. 对象存储(OSS)

图片、视频、新闻、网页都可以存储在hbase中
在这里插入图片描述

2. 时序数据

每个数据都带有时间戳,比如传感器的数据

3. 推荐画像

用户画像的数据其实就是一个大的稀疏矩阵,比如蚂蚁金服

4. OLAP

实时的在线联机分析系统,比如天猫的双十一或者京东618的可视化大屏

注意:OLTP(在线事务分析系统)的区别,建立在关系数据库之上,支持事务回滚

5. Feeds流

典型的应用就是微信的聊天记录、朋友圈、点赞、评论

6. 爬虫数据的存储

四、HBase的发展过程

年代事件
2006年11月Google发布了BigTable的论文
2007年10月第一个可用的HBase版本,基于Hadoop
2008年1月成为apache的顶级项目

五、HBase和RDBMS的比较

1. RDBMS(关系数据库管理系统:mysql、sqlserver、oracle)

l 数据库以表的形式独立存在

l 支持FAT(dos)、NTFS(windows)、EXT(linux)等文件系统

l 主键(primary key)

l 分库分表

l 表由行、列、单元格

l 支持向上扩展

l 使用sql(增删改查)

l 面向行存储

l ACID的特性
在这里插入图片描述

l 结构化的数据(二维表格)

l 支持事务(transaction)

l 支持join(连接,全连接(full join笛卡尔乘积),自然连接(inner join),左连接(left join),右连接(right join))

l 中心化

2. HBse

l 以表的形式存在

l 使用行键(row key)

l 分布式存储

l 行键、列簇、列、时间戳

l 支持向外扩展

l 使用命令行、java api和Mapreduce、Spark、Flink来访问HBase表数据

l 面向列存储

l 不支持acid,但是遵循cap原则

l 结构化和半结构化的数据

l 不支持事务

l 不支持join

l 分布式

六、HBase和HDFS的比较

1. HDFS

分布式,不是一个文件系统,无法快速的查询数据

2. HBase

建立在HDFS上,为大型表提供快速查询数据

七、HBase和Hive的比较

1. Hive

l 数据仓库,它的本质就是相当于将hdfs的文件和mysql中做了一个一一对应的映射,可以通过HQL(类sql,是hive的sql,把每一条hql都转换为一个mr程序)进行数据的管理。

l hive主要用于数据分析、清洗等,适用于离线数据,延迟很高

l hive基于HDFS和MapReduce,将数据存储在hdfs的datanode上,hql转换为一个mr程序执行

2. HBase

l NoSql:面向列的非关系型数据库

l 用于存储结构化和非结构化的数据

l 基于hdfs:HBase的存储文件HFile存储在hdfs的datanode上,被regionserver以region(分区)的形式进行管理

l 延迟较低,适合olap(实时的联机分析系统,比如天猫双十一的实时成交数据可视化大屏)

八、NoSQL数据库

l SQL数据库

按行存储,主要操作增删改查,常见的数据库有mysql、sqlserver、oracle

l NoSQL

非关系数据库,或者叫不仅仅是关系数据库,key/value格式的数据库,常见的有redis(高速缓存比如秒杀抢购系统)、memcache、mongodb(文档)、hbase

l hive

并不是一个数据库,仅仅是一个数据仓库的工具

oSQL数据库**

l SQL数据库

按行存储,主要操作增删改查,常见的数据库有mysql、sqlserver、oracle

l NoSQL

非关系数据库,或者叫不仅仅是关系数据库,key/value格式的数据库,常见的有redis(高速缓存比如秒杀抢购系统)、memcache、mongodb(文档)、hbase

l hive

并不是一个数据库,仅仅是一个数据仓库的工具

http://www.lryc.cn/news/61317.html

相关文章:

  • 科海思除COD树脂,大孔树脂,除COD专用树脂
  • Qt 多线程 QThread、QThreadPool使用场景
  • 如何一招搞定PCB阻焊过孔问题?
  • 【代码随想录】刷题Day2
  • Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用
  • 计及调度经济性的光热电站储热容量配置方法【IEEE30节点】(Matlab代码实现)
  • “不要放过这个春天”解锁品牌春日宣传新玩法
  • 利用GPT2 预测 福彩3d预测
  • 类加载过程
  • 【C/C++】C++11 无序关联容器的诞生背景
  • h264编码原理
  • 网络工程师经常搞混的路由策略和策略路由,两者到底有啥区别?
  • 高精度气象模拟软件WRF实践技术
  • 总结827
  • 还在发愁项目去哪找?软件测试企业级Web自动化测试实战项目
  • 总结下Spring boot异步执行逻辑的几种方式
  • 【开发日志】2023.04 ZENO----Composite----CompNormalMap
  • 春秋云境:CVE-2022-28525 (文件上传漏洞)
  • 【软件测试二】开发模型和测试模型,BUG概念篇
  • 短视频app开发:如何实现视频直播功能
  • [架构之路-174]-《软考-系统分析师》-5-数据库系统-7-数据仓库技术与数据挖掘技术
  • 销售高品质 FKM EPDM NBR 硅胶 O 形密封圈
  • Linux环境变量:不可或缺的系统组成部分
  • FFmpeg命令行解析
  • 机器学习——为什么逻辑斯特回归(logistic regression)是线性模型
  • 从输入URL到页面展示到底发生了什么
  • Qt connect传参方式及lambda函数传参方式详解
  • 如何在硬盘上恢复已经删除的照片?
  • Unity日记22(携程概念)
  • 01-Linux-磁盘分区与目录配置