关于HBase

本文详细介绍了HBase,一个分布式的NoSQL数据库,适用于海量数据、高吞吐量场景。与传统的关系型数据库RDB相比,HBase具有面向列、动态扩展列、对硬件要求低等特点。HBase不完全遵循ACID特性,数据先写入内存再持久化,采用多版本并发控制提高并发性能。文章还讨论了HBase的行存储与列存储的区别,以及其表结构,包括rowkey、column family和key-value的细节。此外,还解释了HBase的写数据和读数据流程,以及涉及的组件如HMaster、RegionServer、ZooKeeper的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于HBase

在准备大数据IE的面试过程中的总结!!

什么是HBase?
HBase是一个分布式的NoSQL数据库,其特点高可靠、高性能、面向列、可伸缩。
HBase适合具有如下需求的应用:
海量数据 (TB、PB) 。
不需要完全拥有传统关系型数据库所具备的ACID特性。
高吞吐量。
需要在海量数据中实现高效的随机读取。
需要很好的性能伸缩能力。
能够同时处理结构化和非结构化的数据。

HBase的系统架构:
在这里插入图片描述
1.HBase与RDB的对比:
1.1HBase:
(1)分布式存储,面向列的存储
注意:HBase不适合存储大对象
(2)数据以字节的形式进行存储
(3)支持动态扩展列(表名、列族)
(4)对硬件要求低,扩容成本低
(5)面向业务需求

1.2RDB(关系型数据库):
(1)数据结构固定的,面向行的存储 ==>存储结构化的数据
注意:关系型数据库是基于表的数据库,每行都有固定列数的列组成
(2)基于显示含义建立数据模型,而不是基于应用程序的功能

2.行存储与列存储的对比:
2.1按行存储:–适合整行查询
数据按行存储在底层文件系统。通常,每一行会被分配固定的空间
优点:有利于增加/修改整行记录等操作;有利于整行数据的读取操作
缺点:单列查询时,会读取一些不必要的数据

2.2按列存储:–适合单列查询
数据以列为单位,存储在底层文件系统中
优点:有利于面向单列数据的读取/统计等操作
缺点:整行读取时,可能需要多次I/O操作
注意:数据分析的时候,基本是按照列去分析数据

3.事务的ACID是什么?
ACID原则是数据库事务正常执行的四个特性,分别指原子性、一致性、独立性及持久性。
(1)事务的原子性(Atomicity):指一个事务要么全部执行,要么不执行。也就是说一个事务不可能只执行了一半就停止了。比如你从取款机取钱,这个事务可以分成两个步骤:1划卡,2出钱࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值