阅读更多
引用
实时数据复制技术在银行、电信、保险、政务和电商等领域应用非常广泛。


比如银行领域的收单业务涉及收单行、银行卡组织及发卡行的数据同步。收单行的数据需要传输到银行卡组织,再由银行卡组织传输给发卡行。

如果收单业务不能做到这几点,则会出现建设银行的POS机只能刷建设银行的卡,招商银行的POS机只能刷招商银行的卡的情况。或者用户刷卡完毕后,商家需要电话询问收单行用户是否有足够余额,收单行再去询问银行卡组织,银行卡组织再去询问发卡行。这样需要消耗大量设备、人力和时间,造成用户体验下降,挫伤用户的用卡积极性。

比如小汽车违章处理业务需要在全车各地车管所同步违章记录和处理情况等数据,便于驾驶人在全国各地处理。这些业务场景均需要数据及时、可靠和稳定的进行传输和交换。

如果小汽车违章处理业务不能做到这几点,则驾驶人只能去违章地或车辆登记地处理,对于异地违章处理成本极高。电商系统中的用户分析业务需要从大量的分表中提取用户数据,同步到大数据平台进行分析,其业务量非常大,传统的数据抽取对业务系统影响极大。

在以上的业务场景中,数据交换涉及异地、异质和异构等因素影响。异地指数据库往往们于不同的数据中心,涉及可靠性、安全性和稳定性的影响。异质指不同的数据库类型,涉及底层存储和处理技术差异的影响;异构指不同的数据库结构,涉及数据重构的影响,而且很多需求都是在系统上线后产生的,很多原因决定不能对应用系统进行大量重构。

因此,实时数据交换的困难非常大,那么,我们应该如何解决呢?

一.“数据隧道”
我们在实践中,用了新的思路来解决这些问题。百分点“数据隧道”就像石油管道一样,石油源源不断地从油井流向各地,而不用使用轮船、火车和汽车等进行运输。

“数据隧道”技术的目标是通过简单配置即可完成MySQL、Oracle、SQL Server和DB2等数据库的增量数据捕获任务,传输给外部系统完成数据的实时和批量消费,满足极高的一致性、及时性和可靠性的数据接口传输要求。

“数据隧道”整体架构图

具体来说,目前百分点“数据隧道”支持MySQL、Oracle和SQL Server的日志提取,实时复制到外部数据库、Kafka和Hive等系统。对于后端数据消费,百分点“数据隧道”可以提供实时应用、实时流处理、闪回查询、快照表处理和拉链表处理的支持,为实时数据复制、实时数据处理、ODS和数据仓库提供便利。后续将通过一个用户案例来介绍“数据隧道”如何满足用户的数据交换需求。

对比传统做法,“数据隧道”具有的系统优势体现在以下几个方面:
  • 数据接入无需开发,大大缩减项目工时和风险
  • 数据传输的一致性、及时性和可靠性极强
  • 通过数据库日志提取变更,侵入性小,开销极低
  • 支持MySQL、Oracle和SQL Server主流版本的数据接入
  • 支持实时复制到Kafka和Hive系统,方便实时和批量数据消费
  • 支持自定义插件实现到任意缓存、消息队列和数据库的复制
  • 支持自定义函数实现数据的任意重构
  • 自动化实现历史数据迁移
  • 自动化实现目标库表结构生成
  • 支持库级、表级和行级并行复制
  • 支持MySQL DDL审计
  • 适用于ODS、DW和实时数据消费等场景
  • 支持Hive闪回查询、快照表处理和拉链表处理

“数据隧道”Pipeline架构图

二.用户案例
某银行拥有1亿用户,用户数据由分布式关系数据库来承载,采用库分表方式进行管理。该银行期望对用户数据进行分析,以推进企业的精细化管理水平,同时对整个数据分析项目有如下要求:
  • 1. 用户数据量比较大,数据采集不能对业务系统性能产生影响。
  • 2. 数据库采用分库分表方式进行存储,数据采集要考虑到数据分片的影响,并且数据分片间需要保证强一致性,防止出现分析数据异常。
  • 3. 数据采集必须兼容大数据平台,尽可能避免手工编码。
  • 4. 用户期望实时处理和批量处理相结合,满足不同的业务场景。
该银行的用户由自主研发的CRM系统来管理。新用户注册则新增用户表记录,用户资料变更则更新用户表相关记录,用户注销则删除用户表相关记录。

用户实时分析
实时分析截止至今日、月初的新增、净增和累计用户数,其中新增用户数为该系统新注册用户,净增用户数为新增用户数与注销用户数差值,累计用户数为系统当前所有用户数。该案例中新增用户数由INSERT行数计算,注销用户数由DELETE行数计算,净增用户数为新增用户数减注销用户数,累计用户数则由上一日累计用户数加净增用户数得出。
  • Time : 源数据库发生该事件的时间,即Commit的时间。
  • Latency : 源数据库变更到提交入Kafka的时间延迟。
  • Seqno : 系统对源数据库事务的顺序编号。
  • EventID : 系统对源数据库事务的事件起始位编号。
  • Row : 某事务内影响的行的顺序编号,如Seqno为1的事务中有一笔Insert插入1条数据,一笔Update更新到2条数据,最后一笔Delete删除到3条数据,则Row从1到6分别代表这6行的变更序号。
  • Action : INSERT、UPDATE、DELETE、CREATE_TABLE、DROP_TABLE等,其中INSERT、UPDATE和DELETE所有数据库均适用,其它类Action则与相关数据库有关,Oracle暂时没有其它类Action。
  • Before和After : 对于DELETE事件,Before块填充数据,无After块。对于INSERT事件,无Before块,After块填充数据。对于UPDATE事件,Before块填充更新前的值,After块填充更新后的值。
INSERT块


UPDATE块


实时复制
Kafka Applier配置:


流式处理
百分点“数据隧道”直接将数据库变更数据复制到Kafka,Storm或Flink基于Kafka内的变更数据实时计算新增用户、净增用户、注销用户和累计用户数。

用户离线分析
分析每日用户新增、净增和累计用户数,其中新增用户数为该系统新注册用户,净增用户数为新增用户数与注销用户数差值,累计用户数为系统当前所有用户数。该案例中新增用户数由INSERT行数计算,注销用户数由DELETE行数计算,净增用户数为新增用户数减注销用户数,累计用户数则由上一日累计用户数加净增用户数得出。

实时复制
百分点“数据隧道”可以根据事件时间按Hive分区表方式实时复制数据。HdfsApplier以多个HDFS文件流的方式将变更数据并行写入HDFS文件系统。Hive使用外部表对底层数据进行查询。

HDFS Applier配置:


离线计算
通过以下查询可以获得用户表任意时点的快照。基于此原理,百分点“数据隧道”可以支持闪回查询、数据快照、数据拉链等应用。由于“数据隧道”可精确捕获数据的操作时间和操作类型,因此新增用户、净增用户、注销用户和累计用户数的计算也变得非常简单。


三.总结
百分点“数据隧道”能够实时提取MySQL、Oracle和SQL Server的数据变更,并且可以对变更数据进行实时转换,再应用于数据库系统、大数据系统、消息系统、缓存系统和实时计算,满足银行、电信、保险、政务和电商等领域的数据交换需求。
引用

作者介绍:王高飞,百分点高级研发工程师,郑州大学管理学学士,擅长数据仓库建设、实时和批量数据复制技术及大数据技术。曾就职于亚信国际,独立完成挪威电信在丹麦和匈牙利市场的ODS和数据仓库项目架构设计,深得客户认可。
  • 大小: 186.6 KB
  • 大小: 264.3 KB
  • 大小: 53.5 KB
  • 大小: 195.1 KB
  • 大小: 41.7 KB
  • 大小: 14.5 KB
  • 大小: 20.7 KB
  • 大小: 24.5 KB
  • 大小: 29.6 KB
  • 大小: 7.7 KB
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 新库上线 | CnOpenData中国工业企业绿色专利及引用被引用数据简介

    中国工业企业绿色专利及引用被引用数据简介   改革开放以来,中国工业化迅速发展,但高增长的背后却隐藏着资源浪费、环境恶化等矛盾,在这些环境问题愈发突出的背景下,我国绿色发展新理念开始深入工业发展,近年...

  • 从智慧零售,看腾讯的数字化转型之道

    腾讯微信和QQ天然连接就是数字化的人,可以在很短的时间内转换为企业的数字化会员,而腾讯也有数据和业务中台技术可以帮助企业快速建成自己的数字化平台,但这并不是腾讯数字化转型的差异化点。 连咖啡一直在探索...

  • 这一年,这些书:2022年读书笔记

    Note: 以下 `markdown` 格式文本由 `json2md` 自动转换生成,可参考[JSON转Markdown:我把阅读数据从MongoDB中导出转换为.md了](https://blog.csdn.net/u013810234/article/details/113360229)了解具体的转换过程。...

  • [转]高负载并发网站架构分析

    一个解决办法是复制一份用户数据出来,以新的用户数据库为主,论坛里的用户数据通过同步或异步的机制实现同步。最好的解决办法就是在选型时选一个数据层封 装的比较好的,sql代码不要到处飞的软件,然后在维护的...

  • 深度学习:智能时代的核心驱动力量

    人类从婴儿时期睁开眼睛的那个时刻起,就开始从经验中学习,到后来获得语言、运动、玩电子游戏等最高程度的能力;相比之下,传统的劳动密集型人工智能方法是基于编写不同的复杂计算机程序来解决每个问题。 本书讲述...

  • 边缘计算与云计算协同

    边缘计算是在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力的分布式开放平台,就近提供边缘智能服务,满足行业数字化在敏捷联接、实时业务、数据优化、应用智能、安全与隐私保护等方面的关键...

  • IT概念不清楚,来,换个方法来瞧瞧!~~~《史上最污技术解读,我竟然秒懂了》转

    转自:https://mp.weixin.qq.com/s/Ueh1QubRUkfDDP-ujAytUg 本文经授权转载自公众号 特大号 假设你是个妹子,你有一位男朋友,于此同时你和另外一位男生暧昧不清,比朋友好,又不是恋人。你随时可以甩了现任男友,...

  • 背句子,记单词1

    7000词汇这么背我比较可以接受,连续看20天足以过八级!!(16天完整版) 16天记住7000考研词汇(第一天) 1.With my own ears I clearly heard the heart beat of the nuclear bomb. ...我亲耳清楚地听到原子弹的心脏...

  • 神经网络容易受到对抗攻击,网络攻防原理与技术

    利用智能化打击手段和作战方式毁瘫作战对手的体系结构,发现并破坏作战对手体系的网络结构和数据结构,毁瘫其网络软件系统,破坏数据链的信息传输,使作战对手体系内各种作战要素、平台既不能互联互通,又不能...

  • 2018年中国区块链产业发展白皮书(附PDF下载)

    易见区块保障了底层资产证券化后数据调用的安全问题,平台允许有权限的投资人通过 API 接口实时查看数据,并对他们的查看时间和频率进行记录,保证了信息安全。此外, 易见区块利用区块链技术保障了金融仓储的在线...

  • 游戏行业DDoS攻击解决方案

    根据全球游戏和全球移动互联网行业第三方分析机构Newzoo的数据显示:2017年上半年,中国以275亿美元的游戏市场收入超过美国和日本,成为全球榜首。 游戏行业的快速发展、高额的攻击利润、日趋激烈的行业竞争,让中国...

  • 遇见OFFER,阿里云最强技术团队现身招聘,“职”为你来

    而如果你有进入阿里工作的打算,那6月10号这场招聘的岗位中一定有你需要的,云网络技术专家、生态运营专家、C++技术专家、IoT-前端技术专家、大数据、ECS高级产品专家、架构师等近百个岗位,工作地点:杭州、上海、...

  • 云计算的可信新边界:边缘计算与协同未来

    据IDC预测,到2025年全球联接总数达到1000亿,联接的背后会是数据的爆炸,集中式处理模型下核心网无法承载这么大数据的网络传输,数据也无法在云中心存储计算,需要更快速、近距离的在网络边缘分析、处理与存储,...

  • 面试总结1

    触发器支持字符串比较 监控项可以从UI马上测试数据 原来的check now功能控件改成execut now 数据触发器对zabbix-proxy可用性敏感 web端可以添加第三方模块或自己开发模块增强zabbix前端功能 web端小组件复制粘贴 ...

  • 2020阿里招聘岗位要求

    2、根据项目需求,进行业务领域建模分析、平台架构设计、技术方案预研、核心模块技术方案设计 3、指导和培养团队和合作伙伴成员,包括评审设计文档和代码 4、与团队共同推进标杆客户,制定符合市场需求的...

  • 一个女生不主动联系你还有机会吗?

    转自:张升、古的白等链接:www.zhihu.com/question/263789393/answer/274245200本文来自知乎热门问题「一个女生不主动联系你还有机会吗?」,本来...

  • 面试题总汇

    tools 包: inotifywait: 在被监控的文件或目录上等待特定文件系统事件(open ,close,delete 等) 发生,常用于实时同步的目录监控- inotifywatch:收集被监控的文件系统使用的统计数据,指文件系统事件发生的...

  • MATLAB算法实战应用案例精讲-【人工智能】SLAM(概念篇)

    由于将三维点位置加入估计的状态变量中,则每一时刻的计算复杂度为O(n3) , 因此只能处理几百个点的小场景。 同年,Davison在Oxford的师父Murray和Klein发表了实时SLAM系统PTAM(Parallel Tracking and Mapping)[8]...

  • 安装NumPy教程-详细版

    附件是安装NumPy教程_详细版,文件绿色安全,请大家放心下载,仅供交流学习使用,无任何商业目的!

Global site tag (gtag.js) - Google Analytics