加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

如何基于日志,同步实现数据的一致性和实时抽取?

发布时间:2021-01-07 23:23:01 所属栏目:安全 来源:网络整理
导读:副标题#e# 《如何基于日志,同步实现数据的一致性和实时抽取?》要点: 本文介绍了如何基于日志,同步实现数据的一致性和实时抽取?,希望对您有用。如果有疑问,可以联系我们。 作者:王东 宜信技术研发中心架构师 目前就职于宜信技术研发中心,任架构师,负责

具体思路是:

  1. 首先根据集合中的主键到目标数据库中查询,得到一个已有数据集合;
  2. 与dataset中的集合比较,分出两类:

A:不存在的数据,即这部分数据insert就可以;

B:存在的数据,比较_ums_id_,最终只将哪些_ums_id_更新较大row到目标数据库,小的直接抛弃.

使用Spark的同学都知道,RDD/dataset都是可以partition的,可以使用多个worker并进行操作以提高效率.

在考虑并发情况下,插入和更新都可能出现失败,那么还有考虑失败后的策略.

比如:因为别的worker已经插入,那么因为唯一性约束插入失败,那么需要改为更新,还要比较_ums_id_看是否能够更新.

对于无法插入其他情况(比如目标系统有问题),Wormhole还有重试机制.说起来细节特别多.这里就不多介绍了.

有些还在开发中.

插入到其他存储中的就不多介绍了,总的原则是:根据各自存储自身特性,设计基于集合的,并发的插入数据实现.这些都是Wormhole为了性能而做的努力,使用Wormhole的用户不必关心 .

五、运用案例

实时营销

说了那么多,DWS有什么实际运用呢?下面我来介绍某系统使用DWS实现了的实时营销.

如上图所示:

系统A的数据都保存到自己的数据库中,我们知道,宜信提供很多金融服务,其中包括借款,而借款过程中很重要的就是信用审核.

借款人需要提供证明具有信用价值的信息,比如央行征信报告,是具有最强信用数据的数据. 而银行流水,网购流水也是具有较强的信用属性的数据.

借款人通过Web或手机APP在系统A中填写信用信息时,可能会某些原因无法继续,虽然可能这个借款人是一个优质潜在客户,但以前由于无法或很久才能知道这个信息,所以实际上这样的客户是流失了.

应用了DWS以后,借款人已经填写的信息已经记录到数据库中,并通过DWS实时的进行抽取、计算和落地到目标库中.根据对客户的打分,评价出优质客户.然后立刻将这个客户的信息输出到客服系统中.

客服人员在很短的时间(几分钟以内)就通过打电话的方式联系上这个借款人(潜客),进行客户关怀,将这个潜客转换为真正的客户.我们知道借款是有时效性的,如果时间太久就没有价值了.

如果没有实时抽取/计算/落库的能力,那么这一切都无法实现.

实时报表系统

另外一个实时报表的应用如下:

我们数据使用方的数据来自多个系统,以前是通过T+1的方式获得报表信息,然后指导第二天的运营,这样时效性很差.

通过DWS,将数据从多个系统中实时抽取,计算和落地,并提供报表展示,使得运营可以及时作出部署和调整,快速应对.

六、总结

说了那么多,大致总结一下:

  • DWS技术上基于主流实时流式大数据技术框架,高可用大吞吐强水平扩容,低延迟高容错最终一致.
  • DWS能力上支持异构多源多目标系统,支持多数据格式(结构化半结构化非结构化数据)和实时技术能力.
  • DWS将三个子项目合并作为一个平台推出,使得我们具备了实时的能力,驱动各种实时场景应用.

适合场景包括:实时同步/实时计算/实时监控/实时报表/实时分析/实时洞察/实时管理/实时运营/实时决策

感谢大家的聆听,此次分享到此为止.

Q&A

Q1:Oracle log reader有开源方案吗?

(编辑:开发网_新乡站长网)

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