如何基于日志,同步实现数据的一致性和实时抽取?
《如何基于日志,同步实现数据的一致性和实时抽取?》要点: 作者:王东 宜信技术研发中心架构师
主题简介:
前言大家好,我是王东,来自宜信技术研发中心,这是我来社群的第一次分享,如果有什么不足,请大家多多指正、包涵. 本次分享的主题是《基于日志的DWS平台实现和应用》,主要是分享一下目前我们在宜信做的一些事情.这个主题里面包含到2个团队很多兄弟姐妹的努力的结果(我们团队和山巍团队的成果).这次就由我代为执笔,尽我努力给大家介绍一下. 其实整个实现从原理上来说是比较简单的,当然也涉及到不少技术.我会尝试用尽量简单的方式来表达,让大家了解这个事情的原理和意义.在过程中,大家有问题可以随时提出,我会尽力去解答. DWS是一个简称,是由3个子项目组成,我稍后做解释. 一、背景事情是从公司前段时间的需求说起,大家知道宜信是一个互联网金融企业,我们的很多数据与标准互联网企业不同,大致来说就是: 玩数据的人都知道数据是非常有价值的,然后这些数据是保存在各个系统的数据库中,如何让需要数据的使用方得到一致性、实时的数据呢? 过去的通用做法有几种是:
这些方案都不算完美.我们在了解和考虑了不同实现方式后,最后借鉴了?linkedin的思想,认为要想同时解决数据一致性和实时性,比较合理的方法应该是来自于log. (此图来自:https://www.confluent.io/blog/using-logs-to-build-a-solid-data-infrastructure-or-why-dual-writes-are-a-bad-idea/) 把增量的Log作为一切系统的基础.后续的数据使用方,通过订阅kafka来消费log. 比如:
为什么使用log和kafka作为基础,而不使用Sqoop进行抽取呢? 因为: 为什么不使用dual write(双写)呢?,请参考https://www.confluent.io/blog/using-logs-to-build-a-solid-data-infrastructure-or-why-dual-writes-are-a-bad-idea/ 我这里就不多做解释了. 二、总体架构于是我们提出了构建一个基于log的公司级的平台的想法. 下面解释一下DWS平台,DWS平台是有3个子项目组成:
图中:
(编辑:ASP站长网) |