Hbase在审计行业的应用

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,通用型 2核4GB
简介: 在技术快速发展的今天,各行各业的数据量不断增加。审计行业也发生了翻天覆地的变化,身处其中的毕马威,如何利用HBase提高对客户的服务,让客户的满意度有所提升。本文将从以下三个方面(选择HBase的原因,实例剖析,总结与展望)来分析。

1、前言
在技术快速发展的今天,各行各业的数据量不断增加。审计行业也发生了翻天覆地的变化,身处其中的毕马威,如何利用HBase提高对客户的服务,让客户的满意度有所提升。本文将从以下三个方面(选择HBase的原因,实例剖析,总结与展望)来分析。

2、选择HBase的原因
1

优化方式多
对于一家大型企业来说,企业内部及全球网点的销售数据都是我们审计的目标对 象,总体来说数据量较为庞大,而传统的数据库面对海量数据可能会严重影响使用的效 率,而HBase具有多方面的优化方式,可以提高我们的查询等各方面效率;例如:1调整RowKey的散列规则。2使数据量均匀的分布在RegionServer上加速查询。3调整客户端查询缓存,调整服务端缓存大小等

应用场景契合
财务报表维度多样化,不同的维度组合可以拼接成记录的唯一标识,从而形成key- value形式。而审计人员只关系自己的需求,期望通过一定的方式快速的展示出数据,快速的对数据进行比较,进行核对。因此,我们可以通过穷举法将审计人员需要的查询条 件枚举出来,每一种枚举条件作为一类记录的标识。而HBase完全契合此场景。

功能齐全,成本低
HBase作为开源的数据库,相比较传统的数据库,具有其快速查询的效率和存储功能,且在业内又有很多成熟的案例;最重要的开源、免费,可降低公司的成本。

3、实例剖析
(1)根据财务审计人员查询条件快速返回结果
2

如上图所示:一家创业公司要上市,需要将它的财务报表信息,企业运营信息全部笼络起来,交由审计财务人员对它的财务报表的健康状况进行审计。我们从优化以及碰到的问题 两方面进行分析:
优化
优化存储的RowKey
一般审计人员会先看比较粗的数据,比如说公司、部门、会计科目的收入等,像这些单个维度的数据,审计人员会独立的查询出来。而且一家公司会有很多分公司,科目也会非常庞大,如果数据量大的数据放在Hbase一台机器上,会产生热点;其次查询的 时候会严重影响效率。所以我们不可能将单列的数据放入一台机器,因此我们需要将其 均匀的存入不同的机器上,为了达到这样的效果,针对RowKey的排序规则(按照字典 排序),我们用倒序,就可以将其分布到不同的机器上。
对于组合查询的情况,我们可以将其放入一台机器上进行查询,那么RowKey的设计规则应该为正序。
总而言之:我们会根据审计人员具体的业务场景设计RowKey。

调整客户端缓存
财务人员一般查询数据场景比较单一,基于这样场景,将常见的,比较简单的数据做数据量的评估,从而设置客户端缓存大小,减轻到后台与HBase的交互。

调整系统相关参数
调整RegionServer、JVM的HeapSize大小、MetaStore大小,调高RegionServer的处理线程等。这些参数的调整需要根据不同的客户,不同的业务场景,不同的阶段实时调整。

出现的问题以及解决办法

在使用过程中,发现HRegionServer的负载较高
给集群添加机器。因为审计人员会对某些觉得可能出现问题的地方进行多频次的查询,而针对审计行业 要求在规定的时间内必须出结果的特殊业务场景,不适合调几个参数用来解决查询效率,我们就需要优先在集群上添加一些机器,通过把这些热点,负载比较高的数据做一个迁移,往新的机器做一些负载的均衡,从而达到整个集群查询比较平衡的状态。
当然新加的机器不一定单独的为某个场景使用,如果其他客户的数据出现问题,我们也可以借用这台新的机器。这样就做到了资源的均衡使用,不会出现资源的线性增长 的情况。

Hbase出现查询缓慢甚至假死的现象
在使用的过程中,Zookeeper和RegionServer出现了断开的情况,针对这个问题, 除了调整参数,网络方面也可能带来影响。

(2)企业内部自动化对账
3

如上图所示:假如一个集团公司下面有100家子公司,子公司间会有财务往来,有时候不会报到总公司。这种情况下,集团的帐可能会出现坏账,为了避免这样的现象,审计人员对 账单进行对账:有一对一金额相同,一对多金额相同,一对多金额抵小的业务场景,针对这种情况,我们采用如下的架构:
4
1.历史方案
方案:采用Oracle数据库,启动定时器将Oracle的数据放到中间的内存的数据库里,将实时的数据进行对比,对比的结果放入到Redis中,WEB页面从Redis中取出数据。
分析:首先oracle带来成本问题,带来效率问题,且运维的成本也会增加,需要两种数据库运维人员。对比HBase,查询效率高,存储量大,减少运维成本等多方面优势,开始 了采用HBase方案的架构。

2.新方案
在对账的时候,有公司编码、科目编码、科目类型等,可以通过他们的组合找到唯 一 一条期末余额(基于简单的kv对的存储,kv对的查询,同时对kv查询结果的比对), 因此我们采用HBase支撑这样的业务场景。我们会把数据定时的插入到HBase里,通过 spark对数据进行功能的对账,对完帐的结果写入到HBase里,等待前端页面的查询。

4、总结与展望

扩展性
在整个的审计过程中,一家公司可能有400家子公司,400家子公司分布在全国各地,可以在内部进行分组,组和组之间要进行数据的交叉性验证,交互的话,后期可能 用HBase做为类似于消息中间件的方式来作中间的数据的交互。

资源的可用性
会根据审计人员特殊的业务场景进行RegionServer的预估,合理设计RowKey,合理利用机器资源。

研发资源
基于HBase做查询,可以降低运维成本,研发人员可以专注于对HBase的研究。

监控
任何一个稳定的系统,都缺失不了一个很好的监控系统,监控系统对我们来说无论是从数据方面,还是从整个系统运维的可持续方面都起到了不可替代的作用,所以说实现智能化监控至关重要。

**文章来自:杨瑞鑫—HBase生态+Spark社区大群
**

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
存储 搜索推荐 关系型数据库
用户画像系列——HBase 在画像标签过期策略中的应用
用户画像系列——HBase 在画像标签过期策略中的应用
55 0
|
4月前
|
消息中间件 Java 关系型数据库
【Spring Boot+Kafka+Mysql+HBase】实现分布式优惠券后台应用系统(附源码)
【Spring Boot+Kafka+Mysql+HBase】实现分布式优惠券后台应用系统(附源码)
90 2
|
6月前
|
存储 NoSQL 分布式数据库
HBase在订单系统的应用
HBase在订单系统的应用
|
分布式数据库 数据库 Hbase
|
分布式数据库 Apache Hbase
《HBase应用与发展之Apache HBase的现状和发展》电子版地址
HBase应用与发展之Apache HBase的现状和发展
85 0
《HBase应用与发展之Apache HBase的现状和发展》电子版地址
|
分布式数据库 Hbase
|
搜索推荐 分布式数据库 Hbase
|
分布式数据库 索引 Hbase
《HBase应用与发展之HBase RowKey与索引设计》电子版地址
HBase应用与发展之HBase RowKey与索引设计
99 0
《HBase应用与发展之HBase RowKey与索引设计》电子版地址
|
NoSQL 数据挖掘 分布式数据库
《第十二届 BigData NoSQL Meetup — 快手HBase在千亿级用户特征数据分析中的应用与实践》电子版地址
第十二届 BigData NoSQL Meetup — 快手HBase在千亿级用户特征数据分析中的应用与实践
92 0
《第十二届 BigData NoSQL Meetup — 快手HBase在千亿级用户特征数据分析中的应用与实践》电子版地址