加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

【实战解析】基于HBase的大数据存储在京东的应用场景

发布时间:2019-05-06 02:13:33 所属栏目:教程 来源:曹德然
导读:副标题#e# HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,适用于结构化的存储,底层依赖于Hadoop的HDFS,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。因此,HBase被广泛使用在大数据存储的解决方案中。 为何使用HBase (1

对于HBase而言,Zookeeper的作用是至关重要的。首先Zookeeper是作为HBase Master的HA解决方案。也就是说,是Zookeeper保证了至少有一个HBase Master处于运行状态。并且Zookeeper负责Region和Region Server的注册。其实Zookeeper发展到目前为止,已经成为了分布式大数据框架中容错性的标准框架。不光是HBase,几乎所有的分布式大数据相关的开源框架,都依赖于Zookeeper实现HA。

2. HBase的原理

【实战解析】基于HBase的大数据存储在京东的应用场景

首先需要知道HBase的集群是通过Zookeeper来进行机器之前的协调,也就是说HBase Master与Region Server之间的关系是依赖Zookeeper来维护。当一个Client需要访问HBase集群时,Client需要先和Zookeeper来通信,然后才会找到对应的Region Server。每一个 Region Server管理着很多个Region。对于HBase来说,Region是HBase并行化的基本单元。因此,数据也都存储在Region中。

这里需要特别注意,每一个Region都只存储一个Column Family的数据,并且是该CF中的一段(按Row 的区间分成多个Region)。Region所能存储的数据大小是有上限的,当达到该上限时(Threshold),Region会进行分裂,数据也会分裂到多个Region中,这样便可以提高数据的并行化,以及提高数据的容量。

每个Region包含着多个Store对象。每个Store包含一个MemStore,和一个或多个HFile。MemStore便是数据在内存中的实体,并且一般都是有序的。当数据向Region写入的时候,会先写入MemStore。当MemStore中的数据需要向底层文件系统倾倒(Dump)时(例如MemStore中的数据体积到达MemStore配置的最大值),Store便会创建StoreFile,而StoreFile就是对HFile一层封装。所以MemStore中的数据会最终写入到HFile中,也就是磁盘IO。由于HBase底层依靠HDFS,因此HFile都存储在HDFS之中。这便是整个HBase工作的原理简述。

四、使用HBase时应注意的问题

基于HBase的系统设计与开发中,需要考虑的因素不同于关系型数据库,HBase模式本身很简单,但赋予你更多调整的空间,有一些模式写性能很好,但读取数据时表现不好,或者正好相反,类似传统数据库基于范式的OR建模,在实际项目中考虑HBase设计模式是,需要从以下几方面内容着手:

  • 这个表应该有多少个列簇
  • 列簇使用什么数据
  • 每个列簇应有多少个列
  • 列名应该是什么,尽管列名不必在建表时定义,但是读写数据时是需要的
  • 单元应该存放什么数据
  • 每个单元存储什么时间版本
  • 行健结构是什么,应该包括什么信息

五、总结

现如今各种数据存储方案层出不穷,本文结合两个实战场景就基于HBase的大数据存储做了简单的分析,并对HBase的原理做了简单的阐述。如何使用好HBase,甚至于如何选择一个最优的数据存储方案,还需要根据场景需要具体分析和设计。

作者简介

目前就职于京东商城京麦平台组,从事京东商家开放平台的相关开发工作。热爱技术,熟悉各种常用开源框架,有丰富的大型分布式系统、高并发系统的开发经验。热衷于对大数据的研究,对Hadoop、HBase以及ES有深入研究和理解。

【本文是51CTO专栏作者张开涛的原创文章,作者微信公众号:开涛的博客,id:kaitao-1234567】

戳这里,看该作者更多好文

【编辑推荐】

  1. 日均采集1200亿数据点,腾讯千亿级服务器监控数据存储实践
  2. HBASE+Solr实现详单查询
  3. 弥补MySQL和Redis短板:看HBase怎么确保高可用
  4. 你应该知道的 HBase 基础,都在这儿了
  5. 可能是最易懂的Hbase架构原理解析
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读