首页 > 其他分享 >HBase-HBase的特征、优缺点、应用场景

HBase-HBase的特征、优缺点、应用场景

时间:2023-07-31 22:24:36浏览次数:43  
标签:存储 场景 海量 优缺点 Hadoop 查询 HBase 数据

一、Hbase的概念

HBase是Hadoop的生态系统,是建立在Hadoop文件系统(HDFS)之上的分布式、面向列的数据库,通过利用Hadoop的文件系统提供容错能力。如果你需要进行实时读写或者随机访问大规模的数据集的时候,请考虑使用HBase!

HBase作为Google Bigtable的开源实现,Google Bigtable利用GFS作为其文件存储系统类似,则HBase利用Hadoop HDFS作为其文件存储系统;Google通过运行MapReduce来处理Bigtable中的海量数据,同样,HBase利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。

HBase 是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据,设计它的目的就是用于处理非常庞大的表——通过水平扩展的方式,用计算机集群就可以处理由超过 10 亿行数据和数百万列元素所组成的数据表。

、HBase的特征

1海量存储

HBase 作为一个开源的分布式 Key-Value 数据库,其主要作用是面向 PB 级别数据的实时入库和快速随机访问。这主要源于上述易扩展的特点,使得 HBase 通过扩展来存储海量的数据。

2列式存储

Hbase 是根据列族来存储数据的。列族下面可以有非常多的列。列式存储的最大好处就是,其数据在表中是按照某列存储的,这样在查询只需要少数几个字段时,能大大减少读取的数据量。

3自动分片

HBase 中的表通过 Region 分布在集群上,而且 Region 会随着数据的增长自动拆分和重新分布。

4并行处理

HBase 支持通过 MapReduce 进行大规模并行处理,将 HBase 用作源和接收器。

5高可靠性

WAL 机制保证了数据写入时不会因集群异常而导致写入数据丢失,Replication 机制保证了在集群出现严重的问题时,数据不会发生丢失或损坏。而且 Hbase 底层使用 HDFS,HDFS 本身也有备份。

6多种语言的API

HBase 支持使用 Java 的 API 来编程进行数据的存取,还支持使用 Thrift 语言和 REST 语言的 API 来编程进行数据的存取。

、HBase的优缺点

1HBase的优点

(1)在传统的关系数据库中,如果数据结构发生了变化,就需要停机维护,而且需要修改表结构,而在 HBase 中数据表内的列可以做到动态增加,并且列为空的时候不存储数据,从而节省存储空间。
(2)HBase 适合存储 PB 数量级的海量数据,PB 级的数据在只采用廉价 PC 来存储的情况下,也可以在几十到一百毫秒内返回数据。这与 HBase 的极易扩展息息相关,正因如此,HBase 为海量数据的存储提供了便利。
(3)传统的通用关系数据库无法应对在数据规模剧增时导致的系统扩展性问题和性能问题。HBase 可以做到自动切分数据,并且会随着数据的增长自动地拆分和重新分布。
(4)HBase 可以提供高并发的读写操作,而且可以利用廉价的计算机来处理超过 10 亿行的表数据。
(5)HBase 具有可伸缩性,如果当前集群的处理能力明显下降,可以增加集群的服务器数量来维持甚至提高处理能力。

2HBase的缺点

(1)不能支持条件查询,只支持按照 RowKey(行键)来查询,也就是只能按照主键来查询。这样在设计 RowKey 时,就需要完美的方案以设计出符合业务的查询。
(2)HBase 不能支持 Master(主)服务器的故障切换,当 Master 宕机后,整个存储系统就会挂掉,不能提供正常的服务。
(3)查询 HBase 时不支持通过 SQL 语句进行查询。

、HBase的应用场景

1数据量超千万,可以选择使用HBase

一般而言,如果单表的数据量只有百万的数量级或者更少,则不建议使用 HBase,而应该考虑关系数据库是否能够满足应用的需求。

2实时根据主键查询,可以选择使用HBase

HBase 是一个 Key-Value 数据库,默认对 RowKey 做了索引优化,所以即使数据量非常庞大,根据 RowKey 查询的效率也会很高。但是,如果还需要根据其他条件进行查询,则不建议使用 HBase。

3多表连接查询,不建议使用HBase

HBase 是 NoSQL 产品中的一种,它也具有 NoSQL 的缺点,就是不能进行连表查询等操作,也就是说,如果业务场景是需要事务支持、复杂的关联查询,则不建议使用 HBase。

4数据分析需求不多,可以选择使用HBase

虽然说 HBase 是一个面向列的数据库,但是它与真正的列式存储系统(比如 Parquet、Kudu等)又有所区别,再加上自身存储架构的设计,使得 HBase 并不擅长做数据分析。所以如果业务需求是为了做数据分析,比如做报表,那么不建议使用 HBase。

 

标签:存储,场景,海量,优缺点,Hadoop,查询,HBase,数据
From: https://www.cnblogs.com/yeyuzhuanjia/p/17594775.html

相关文章

  • HBase-compact的作用、两种实现方式及区别
    在hbase中每当有memstore数据flush到磁盘之后,就形成一个storefile,当storeFile的数量达到一定程度后,就需要将storefile文件来进行compaction操作。Compact的作用:①合并文件②清除过期,多余版本的数据③提高读写数据的效率HBase中实现了两种compaction的方式:minorandmaj......
  • Java面试题 P18:Redis篇:Redis使用场景-缓存-缓存雪崩
          缓存雪崩:是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量的请求到达数据库,带来巨大压力。                            ......
  • 小程序赋能智慧社区使用场景开拓
    智慧社区是利用信息技术、物联网技术、人工智能等先进技术手段来改善社区管理和居民生活质量的一种创新社区管理模式。智慧社区的目标是实现社区内信息的智能化整合、资源的高效利用,以提高社区居民的生活便利性、安全性、舒适性和社交互动体验。小区中常见的智能设备系统智能......
  • mongodb和mysql的优缺点
    MongoDB和MySQL的优缺点对比引言在现代软件开发中,数据库是必不可少的一部分。MongoDB和MySQL是两种常见的数据库管理系统(DBMS)。本文将对它们的优缺点进行对比,帮助读者选择适合自己需要的数据库系统。MongoDBMongoDB是一个基于文档的NoSQL数据库,使用JSON格式存储数据。它的特点......
  • SDXL 1.0 介绍和优缺点总结
    2023年7月26日:Stability.AI发布SDXL1.0,这是对其生成模型的又一次重大更新,带来了突破性的变化。SDXL1.0包括两种不同的模型:sdxml-base-1.0:生成1024x1024图像的基本文本到图像模型。基本模型使用OpenCLIP-ViT/G和CLIP-ViT/L进行文本编码。sdxml-refiner-1.0:一个图像......
  • Java面试题 P17:Redis篇:Redis使用场景-缓存-缓存穿透
    什么是缓存击穿:给某一个key设置了过期时间,当key过期的时候,恰好这时间点对这个key有大量的并发请求过来,这些并发的请求可能会瞬间把数据库压垮。  互斥锁代码:1privatefinalReadWriteLockreadWriteLock=newReentrantReadWriteLock();2privatefinalLock......
  • python数据分析师入门-学习笔记(第四节 爬虫的应用场景)
    学习链接:Python数据分析师入门实际应用企业中: 竞品调研数据采集 办公自动化个人: 比如看小说 有的网站收费 有的网站不收费,但是有广告 目标:不看广告不交钱 广告屏蔽插件 爬下来 比如说抢票、抢茅台、抢票.........
  • 智能视频分析技术烟火检测在视频监控场景中的应用
    智能视频分析技术烟火检测在视频监控场景中的应用随着炎夏到来,气温不断升高,生产、生活中一些细节稍不留意,就容易引发火灾、酿成灾害。夏季引发火灾事故主要包括电气火灾、汽车火灾、施工现场火灾、危化品火灾、物质自燃火灾、液化石油气火灾、电瓶车火灾、违章动火作业火灾等。根据......
  • 7大openGauss商业版发布,共推规模落地行业核心场景
    openGauss商业版发布了很多产品,是基于openGauss推出商业发行版目前海量数据库Vastbase表现最佳,一直是TOP1众所周知,opengauss起源于postgresql,在此基础上做了改良海量数据库从postgresql就已经开始做商业版,一直做到opengauss,经验最丰富于此同时,南大通用也是拥有20......
  • 7大openGauss商业版发布,共推规模落地行业核心场景
    openGauss商业版发布了很多产品,是基于openGauss推出商业发行版目前海量数据库Vastbase表现最佳,一直是TOP1众所周知,opengauss起源于postgresql,在此基础上做了改良海量数据库从postgresql就已经开始做商业版,一直做到opengauss,经验最丰富于此同时,南大通用也是拥有2......