HBase 总结之基本结构和内部流程机制

本文介绍了HBase作为大数据时代解决海量数据存储的分布式数据库,支持结构化、半结构化和非结构化数据。HBase基于列存储,适用于稀疏数据,提供高效单行事务,并通过regionserver实现集群分布式存储。文章详细阐述了HBase的写入数据流程,包括内存排序、日志记录以及数据刷写机制,并探讨了读取数据时的数据缓存和查找机制,如布隆过滤器和索引块。此外,还讨论了HBase的region拆分和数据大小限制,以及ZooKeeper在HBase中的作用。
摘要由CSDN通过智能技术生成

HBase总结之基本概念

背景介绍

  1. 由于互联网发展,由于人和设备运行产生的数据急剧爆发,所需要处理的数据超过传统技术所能处理的极限。所以面对海量数据存储和处理的大数据技术应运而生
  2. 大数据技术主要处理2个问题,数据存储和数据的处理和分析
  3. 大数据所需要处理的数据主要分3类,结构化数据、非结构数据、半结构化数据。结构化数据就是存储在各个数据库中的结构化数据典型如mysql中存储的数据;非结构数据如小说文本、图片、视频、音频、ppt、word文档等等;半结构化数据如日志文件
  4. HBase就是可以存储海量数据,并且支持结构化、非结构化、半结构化三大类数据的分布式数据库。

1.HBase是什么

  1. http://hbase.apache.org/downloads.html
  2. 官网截图
    在这里插入图片描述
  3. HBase是一个用于存储海量的结构化或者半结构,非结构化的数据的数据库,属于apache下面的一个项目,本身从属于hadoop生态。
  4. 分布式存储,数据存储在不同集群节点上。同时因为是分布式,可以利用节点来处理不同地数据请求提升并发能力。分布式存储,可以动态扩展节点来提升数据存储和处理能力。
  5. 基于列的数据存储,对比行式数据存储如mysql,hbase可以应对稀疏数据,并且数据压缩支持地非常好。数据本身是以key value形式的字节形式存储在文件中。

2.HBase解决了什么问题

  1. HBase解决了大数据各种类型数据无法存储在一起的问题,HBase可以存储结构化、非结构化、半结构化的数据
  2. 解决了数据存储后查询性能弱的问题(当然查询性能只针对单维度查询,多维度查询现在有更强的clickhouse来替代,所以目前clickhouse的研究和应用逐步提升,后续会撰文分享)
  3. 可以通过主键rowkey和range来检索数据,而且支持单行事务。本身以列族来存储数据,一个列族中可以有很多列。
  4. 可以存储稀疏数据,并且可以很好应对大表几十亿行,几百万列(小表不适合存储在hbase上,这一点和hdfs不适合存储小文件类似。单表200万行)
  5. 采用集群分布式存储,节点叫regionserver,存储一定范围数据。这样不同节点处理不同范围内数据,可以很好提升并发能力。
  6. HBase适合存储结构简单但数据量很大的数据,不过本身索引能力有限。所以和传统关系型数据库互为补充,传统关系型数据库读写性能很强且功能丰富,但无法很好应对海量数据。
  7. 因为Hbase本身对查询多维度信息支持不够(rowkey形式进行key value查询数据),所以不适合用于多维度查询如OLAP。这一点Clickhouse在存储、查询、性能等方面全方位压制HBase。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值