前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于HBase的大数据存储的应用场景分析

基于HBase的大数据存储的应用场景分析

作者头像
CSDN技术头条
发布于 2018-02-13 02:49:02
发布于 2018-02-13 02:49:02
3K0
举报
文章被收录于专栏:CSDN技术头条CSDN技术头条

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,适用于结构化的存储,底层依赖于HadoopHDFS,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。因此HBase被广泛使用在大数据存储的解决方案中。

为何使用HBase

HBase的优点:

  • 列可以动态增加,并且列为空就不存储数据,节省存储空间。
  • Hbase自动切分数据,使得数据存储自动具有水平scalability。
  • Hbase可以提供高并发读写操作的支持。

HBase的缺点:

  • 不能支持条件查询,只支持按照Row key来查询。
  • HBase并不适合传统的事物处理程序或关联分析,不支持复杂查询,一定程度上限制了它的使用,但是用它做数据存储的优势也同样非常明显。

因为HBase存储的是松散的数据,所以如果你的应用程序中,数据表每一行的结构是有差别的,那么可以考虑使用HBase。因为HBase的列可以动态增加,并且列为空就不存储数据,所以如果你需要经常追加字段,且大部分字段是NULL值的,那可以考虑HBase。因为HBase可以根据Rowkey提供高效的查询,所以如果你的数据(包括元数据、消息、二进制数据等)都有着同一个主键,或者你需要通过键来访问和修改数据,使用HBase是一个很好地选择。

如何使用HBase

场景一:卖家操作日志

卖家操作日志,顾名思义是用来记录商家操作的系统,从而可以保证商家可以精确查询自己的各种操作。京东有几十万的商家时时刻刻的进行着各种操作,因此卖家操作日志的特点是:数据量大、实时性强、增多查少。

图1

图2

我们在做卖家操作日志初期,将所有的操作日志存放在ES中,操作日志的数据量是非常大的,但尴尬的是我们当时所能申请到的ES资源有限。当把大量的数据存储到有限的ES集群中时便导致了性能的下降。在这种情况下,我们选择了只在ES集群中存储最近三个月的数据,对其提供灵活的查询,而长期的数据存储使用HBase来进行。这样的话我们便可以实现对近期操作灵活展现,对长期数据也有精确备份。

场景二:京麦消息日志的存储

京麦消息日志的存储是属于京麦筋斗云系统(用于打造京麦消息生态系统闭环)不可或缺的一部分。其中包含消息的全链路追踪以及消息的统计分析。京麦消息每天都会有几千万的消息量,如何对消息进行追踪和统计便成为了一个至关重要的问题。消息追踪要求实时性、多维度精确查询,因此我们选择将最近一周的消息日志存储在ES。统计分析要求我们有足够多的数据,因此我们在将数据存储在ES中的同时也存储在HBase中一份。最终再定期将HBase中的数据导入到京东的数据集市中,这样我们便可以很方便的对京麦消息进行统计分析。

HBase的数据结构

要使用HBase我们首先要了解HBase的数据结构:

HBase会存储系列的行记录,行记录有三个基本类型的定义:Row Key、Time Stamp、Column Family。

Row Key

与NoSQL数据库一样,Row Key是用来检索记录的主键。访问HBase table中的行,只有三种方式:

  • 通过单个Row Key访问。
  • 通过Row Key的range全表扫描。
  • Row Key可以是任意字符串(最大长度是64KB,实际应用中长度一般为 10 ~ 100bytes),在HBase内部,Row Key保存为字节数组。

在存储时,数据按照Row Key的字典序(byte order)排序存储。设计Key时,要充分排序存储这个特性,将经常一起读取的行存储到一起(位置相关性)。

Column Family

HBase表中每个列都必须属于某个列族,列族必须作为表模式定义的一部分预先给出(有点像关系型数据库中的列名,定义完一般情况下就不会再去修改);

列名以列族作为前缀,每个列族都可以有多个列成员。新的列族成员(也就是列)可以随后按需,动态加入。

Hbase把同一列族里面的数据存储在同一目录下,由几个文件保存。

Time Stamp

在HBase每个cell存储单元对同一份数据有多个版本,根据唯一的时间戳来区分每个版本之间的差异,不同版本的数据按照时间倒序排序,最新的数据版本排在最前面。

简述HBase的架构原理

1. HBase的模块

  • Master

HBase Master用于协调多个Region Server,侦测各个Region Server之间的状态,并平衡Region Server之间的负载。HBase Master还有一个职责就是负责分配Region给Region Server。HBase允许多个Master 节点共存,但是这需要Zookeeper的帮助。不过当多个Master节点共存时,只有一个Master是提供服务的,其他的Master节点处于待命的状态。当正在工作的Master节点宕机时,其他的Master则会接管 HBase 的集群。

  • Region Server

对于一个Region Server而言,其包括了多个Region。Region Server的作用只是管理表格,以及实现读写操作。Client 直接连接Region Server,并通信获取HBase中的数据。对于Region而言,则是真实存放HBase数据的地方,也就说Region是HBase可用性和分布式的基本单位。如果当一个表格很大,并由多个CF组成时,那么表的数据将存放在多个Region之间,并且在每个Region中会关联多个存储的单元(Store)。

  • Zookeeper

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

2. 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,甚至于如何选择一个最优的数据存储方案,还需要我们根据场景需要具体分析和设计。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSDN技术头条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
一文搞定评分卡开发中——Y的确定(Vintage分析、滚动率分析等)
本文将从支付和信贷评分卡建立的角度,对比分析不同行业在建立评分卡时因变量Y确定的差异。
阿黎逸阳
2022/05/31
4.9K0
一文搞定评分卡开发中——Y的确定(Vintage分析、滚动率分析等)
用户行为序列的特征设计和挖掘思路分享
金融风控,可以是对于信贷类金融风控(银行贷款,花呗,信用卡等),也可以是现金支出(刷微信支付余额和支付宝余额)。
Sam Gor
2021/01/05
2.5K0
用户行为序列的特征设计和挖掘思路分享
美团“封杀”支付宝遭反垄断诉讼,下一个会是谁?
12月30日,美团因取消支付宝渠道遭反垄断诉讼的消息冲上微博热搜榜首,截至目前,该话题阅读已超4亿。据悉,目前北京知识产权法院已对案件立案受理。
用户7994183
2021/01/05
6800
支付宝惊现P0级事故:八折优惠背后的风波与思考
2025 年 1 月 16 日下午,原本看似平常的一天,却因为支付宝的一场意外,在互联网世界掀起了惊涛骇浪。当天 14 时 40 分,支付宝用户在进行各种支付操作时,惊喜地发现订单结算页面跳出 “政府补贴” 提示,订单金额自动减免 20%,直接打八折。这一消息瞬间在社交媒体上炸开了锅,大量用户兴奋地分享自己的订单截图,喜悦之情溢于言表。
正在走向自律
2025/01/24
3190
支付宝惊现P0级事故:八折优惠背后的风波与思考
33岁妹子,用了三年!我从语文老师到支付宝技术前端的蜕变
作者:蚂蚁小招 https://mp.weixin.qq.com/s/UuxvFXKOVzqd-lrr9V4V5Q
开发者技术前线
2020/11/23
5680
33岁妹子,用了三年!我从语文老师到支付宝技术前端的蜕变
金融风控评分卡建模全流程!
本文将带领读者一起进行完整的建模全流程,了解银行风控是如何做的。并提供kaggle代码。首先讲述评分卡的分类、优缺点。接下来,结合完整的可以马上运行的代码,中间穿插理论,来讲解评分卡的开发流程。最后,把方法论再梳理一次,让读者在了解全流程后,在概念上理解再加深。
Datawhale
2021/03/11
9.9K2
金融风控评分卡建模全流程!
逾期赖账两把刀“撸口子”,现金贷行业会不会坏账过多而亏死?
企鹅号小编
2017/12/27
1.3K0
逾期赖账两把刀“撸口子”,现金贷行业会不会坏账过多而亏死?
【数据思维】明略数据吴明辉:忘掉你的大数据,数据思维才最重要
10月11日晚,北京明略软件系统有限公司董事长吴明辉先生结合自身丰厚的实战经验以及车品觉老师书作《决战大数据》就大数据实战应用为庐客汇“12+50”会员带来了一堂精彩晚课,下面本堂晚课的部分精彩内容!   “坦白讲如果没有拥有数据思维,那即使拥有了很多数据,而且不管这些数据有多大,都不能说你在做大数据,所以大数据的核心其实是要拥有数据思维。”1数据思维利用数据解决问题什么是数据思维?数据思维的最核心是利用数据解决问题,利用数据解决问题的最核心是要深度了解需求,了解真正要解决什么样的问题,解决问题背后的真实目
陆勤_数据人网
2018/02/27
6470
中国有微信和支付宝, 你为啥还费力不讨好去做区块链? | 人物志
他是一位连续创业者,曾在当时互联网最大二级市场票务平台悠闲地“打工”,生活无忧无虑无所求。一次偶然的机会,他“勾搭”上了一位澳洲技术男,异地畅聊、跨国面基之后,一头扎进了区块链行业,从此一发不可收。
区块链大本营
2019/07/11
5180
中国有微信和支付宝, 你为啥还费力不讨好去做区块链? | 人物志
风控数据体系-简介
早期传统金融的风控主要利用了信用属性强大的金融数据,一般采用20个维度左右的数据,利用评分来识别客户的还款能力和还款意愿。信用相关程度强的数据维度大概在十个左右,包含年龄、职业、收入、学历、工作单位、借贷情况、房产,汽车、单位、还贷记录等;而互联网金融公司在利用大数据进行风控的同时,会根据需求利用多维度数据来识别借款人风险,维度包括不限于:社交类数据、消费类数据、行为类数据、多源银行账户数据等。
数字悠客
2020/06/29
4.5K0
AI一分钟 | 谷歌租下北京 6000 平米写字楼,或将发展AI项目;工信部就个人信息保护约谈百度、支付宝、今日头条
一分钟AI 今日头条召开算法分享大会,称算法分发并非是把所有决策都交给机器 谷歌计划推出利用AI技术+人工审查的方法来共同消除视频中的不恰当内容 谷歌的智能音箱销量仅为25%,为扭转亚马逊独占市场大份额的局面,将调整语音助手战略 据外媒称IBM近万人因公司结构调整面临被调动,随后IBM全球技术服务部门发言人否认改传言 NVIDIA发布全球首款安全性AI自动驾驶平台,即使操作失误、环境或系统出错也能安全运行 工信部日前就个人信息保护约谈百度、支付宝、今日头条三家企业,要求立即整改 谷歌在北京中国国际中心
AI科技大本营
2018/04/27
7350
AI一分钟 | 谷歌租下北京 6000 平米写字楼,或将发展AI项目;工信部就个人信息保护约谈百度、支付宝、今日头条
央行出手解除支付宝特权,银联还在线上挣扎,行政驱动的网联会走远吗?
央行出手解除支付宝特权,银联还在线上挣扎,行政驱动的网联会走远吗?
数据猿
2018/04/24
1K0
央行出手解除支付宝特权,银联还在线上挣扎,行政驱动的网联会走远吗?
支付宝“圈子”事件就是个套路,一切都是为了芝麻信用
11月27日,经过多家媒体的报道,全国上下都知道了在支付宝的“校园日记”和“白领日记”等圈子当中,出现大量大尺度照片。 支付宝随后回应到,圈子功能尚处于灰度测试状态,只是在社群上的一种尝试。 直到央视
镁客网
2018/05/28
1.8K0
死磕支付宝!腾讯信用分来了:送逆天福利
福利:手机刷机你还在网上大海捞针的寻找方法吗 告诉你个黑科技 关注本公众号后回复刷机+手机型号 系统就会自动为你寻找最适合的刷机教程 省时又省力 12月18日,腾讯公司与深圳市住房和建设局举行发布会,宣布深圳市住房租赁交易服务平台正式启动。 据官方介绍,腾讯将通过征信、支付、云计算、人工智能、大数据等核心技术能力的创新运用,携手生态合作伙伴,与深圳市住建局共同打造新型智慧租赁平台,通过连接赋能住房租赁市场的各参与主体。 深圳市住建局局长张学凡表示:“深圳作为全国首批住房试点城市之一,是全国住房租赁市场最大
企鹅号小编
2018/02/09
6660
死磕支付宝!腾讯信用分来了:送逆天福利
IoB势不可挡,你要便利还是隐私?
出于商业等目的对收集到的用户数据进行分析的行为并不新鲜,而行为互联网(Internet of Behavior,IoB)则是在这个基础上更进一步,被分析后的数据信息以其它形式出现在用户视野以影响用户的行为,形成了一种反馈机制。行为互联网是基于物联网(IoT)的,电子设备的互联产生了更多的用户操作数据,这些数据的流通让人们可以挖掘数据背后更丰富的用户心理信息,从而开拓了更为广泛的利用空间。很多人认为,2012年是行为互联网概念的开端,心理学教授Gothe Nyman在该年描述了物联网中获取的用户数据的价值;如今,用户任何联网设备都会留下痕迹,购物、购票、外卖、浏览论坛图文视频、健身运动、游戏等等,这些数据被机构收集、分析,已形成了一套自动化的生态系统,即很多互联网产品都会提醒使用者参与的“用户体验改进计划”。
FB客服
2021/03/09
5650
IoB势不可挡,你要便利还是隐私?
1分钟链圈 |纽约大学经济学家:比特币是胡说,只是吸引傻瓜!网易:拿下数字货币钱包市场 有望成为区块链版的「支付宝」
Hi,艾瑞巴蒂!继「区块鸡」之后又惊现「比特猪」,有网友表示要再去做一个「比特鸡」,也有网友表示区块链很适合做食品生产溯源追踪系统。各位看官可以脑洞一下,想想还有什么可以上链呢?可以把你非同一般的答案在评论区告诉科科哦~ 这里是 5 月 4 日的每日1句话新闻,只需1分钟,看看全球最热、最新的区块链新闻。 实时币价:BTC $9710 ETH $784.83 EOS $17.35(数据来源: Bitfinex) 观点 建设银行旗下建信金融总裁雷鸣:区块链的运用将降低银行在整个产业链中的信任成本 纽约大学
区块链大本营
2018/06/19
7650
【案例】某银行信用卡中心——大数据反欺诈应用案例
数据猿导读 2003年以来我国经济的快速增长,国内信用消费环境的日趋成熟,我国信用卡市场近几年得到了爆炸性的大发展。根据中国银行业协会统计,信用卡欺诈损失排名前三类型为伪卡、虚假身份和互联网欺诈。 本
数据猿
2018/04/19
5.7K0
【案例】某银行信用卡中心——大数据反欺诈应用案例
支付宝红包暴力薅羊毛
特地去知乎搜了一波,果然有各路大佬在分享源码,特地弄了一个进行源码审计,学习学习~
信安之路
2018/08/08
9670
支付宝红包暴力薅羊毛
支付宝超级 App 的弹性动态架构实践
本文基于重岳在 2019 年 DevOps 国际峰会北京站的分享内容进行总结,希望通过本篇文章介绍近些年来支付宝面向超大业务体量的挑战,在移动端构建弹性动态架构部分做了怎样的实战与思考,期冀能给读者们带来些许帮助。
开发者技术前线
2020/11/23
9650
支付宝超级 App 的弹性动态架构实践
机器学习在信用评分卡中的应用
互联网金融,特别是P2P信贷在过去几年可以说经历了大起大落的过山车。在经历了2016、2017年的高速发展后,随着整体经济环境遇冷、政策层面监管趋严,行业已进入洗牌周期。特别是随着18年7月P2P暴雷潮的出现,更是为行业前途蒙上一层迷雾。
SIGAI学习与实践平台
2018/11/14
2.8K1
机器学习在信用评分卡中的应用
推荐阅读
一文搞定评分卡开发中——Y的确定(Vintage分析、滚动率分析等)
4.9K0
用户行为序列的特征设计和挖掘思路分享
2.5K0
美团“封杀”支付宝遭反垄断诉讼,下一个会是谁?
6800
支付宝惊现P0级事故:八折优惠背后的风波与思考
3190
33岁妹子,用了三年!我从语文老师到支付宝技术前端的蜕变
5680
金融风控评分卡建模全流程!
9.9K2
逾期赖账两把刀“撸口子”,现金贷行业会不会坏账过多而亏死?
1.3K0
【数据思维】明略数据吴明辉:忘掉你的大数据,数据思维才最重要
6470
中国有微信和支付宝, 你为啥还费力不讨好去做区块链? | 人物志
5180
风控数据体系-简介
4.5K0
AI一分钟 | 谷歌租下北京 6000 平米写字楼,或将发展AI项目;工信部就个人信息保护约谈百度、支付宝、今日头条
7350
央行出手解除支付宝特权,银联还在线上挣扎,行政驱动的网联会走远吗?
1K0
支付宝“圈子”事件就是个套路,一切都是为了芝麻信用
1.8K0
死磕支付宝!腾讯信用分来了:送逆天福利
6660
IoB势不可挡,你要便利还是隐私?
5650
1分钟链圈 |纽约大学经济学家:比特币是胡说,只是吸引傻瓜!网易:拿下数字货币钱包市场 有望成为区块链版的「支付宝」
7650
【案例】某银行信用卡中心——大数据反欺诈应用案例
5.7K0
支付宝红包暴力薅羊毛
9670
支付宝超级 App 的弹性动态架构实践
9650
机器学习在信用评分卡中的应用
2.8K1
相关推荐
一文搞定评分卡开发中——Y的确定(Vintage分析、滚动率分析等)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档