每天了解一点创业投资
10月20日,IT桔子邀请到DataPipeline合伙人CPO陈雷先生,面向IT桔子用户带来「企业实时数据管理问题与实践」为主题的分享。
DataPipeline是一家数据领域的独立软件提供商。已成功服务了包括但不限于星巴克、百胜中国、民生银行、中国人寿等重点领域的近百家客户。
陈雷
DataPipeline合伙人CPO,曾任IBM大中华区认知物联网实验室服务部首席数据科学家、资深顾问经理。十五年数据科学领域与金融领域经验。综合交通大数据应用技术国家工程实验室产业创新部主任,中国电子学会区块链专委会委员。
以下为本次活动的干货观点:
为什么要构建实时数据平台?
年左右甚至更早一些,我们的交易系统和分析系统是不分家的。随着业务需求的不断提升,对7*24小时联机交易的要求,交易系统服务压力越来越大。为了避免分析系统影响交易系统,逐渐从业务系统中分离出了分析系统,OLTP(联机事务处理)和OLAP(联机分析处理)两类系统概念就此产生。同时产生了两个概念,一个是ODS(把交易系统里的全部原始数据复制一份出来,然后在ODS上做各种加工、处理与分析);另外一个是DataMart(数据集市,按照业务实际需求要把要分析的部分数据从交易系统中取出来做整理)。
ODS和数据集市都是基于核心业务系统/交易系统的数据模型和数据规范的,随着业务的不断发展,交易系统也要不断进行迭代,而当交易系统升级换代的时候,ODS和数据集市都要被推翻重建。面对高昂的建设费用和剧烈的系统震荡,大家发现建立一个相对独立而全面的数据仓库是一个非常有效的解决方式。
随着存储和计算资源的成本越来越低,计算能力和计算要求都在不断的发展,是否还需要一个中心化的数据仓库的质疑甚嚣尘上。因为数据仓库通常采用T+1批量加载数据的方式处理数据,时效性不够高,很难满足业务上越来越高的时效性要求,除此之外,大量的外部数据无法整合,大数据平台随之应运而生。随着各行业数据量高速增长,逐渐形成数据湖的概念[数据湖的概念也随之形成]。数据可以先进到数据湖,按需取用。
随着技术演进,数据仓库、数据集市、ODS、大数据平台和数据湖等都归类到了非实时数据处理分析系统里面。近几年,由于业务对时效性的要求越来越高,分布式计算、流计算兴起,实时数据融合逐渐被推动起来。当前获取数据模式,要求在不影响业务系统正常运行的情况下实现实时、准确、全面的数据获取。可以在同一个平台上对数据进行加工、融合以及计算,然后推送到下游的实时应用系统。
以上内容就是为什么要构建一个实时数据平台的发展理念。
实时数据领域三大常见问题
年左右,一家大型企业所应用数据库类型比较少,从品牌角度讲,Oracle、IBMDB2、Sybase、MSSQLServer是应用比较多的,但哪怕是多个品牌,也基本上都是关系型数据库。而数据技术发展到今天,从全球范围来看,能归类到数据库的技术品牌有余种,包括传统的关系型的数据库、时序数据库、图数据库、搜索引擎、消息队列、大数据平台与对象存储等,主流的数据库就有40多种。
随着业务的不断发展,为了应对不同的应用场景,交易系统、账务系统、管理系统等会采用不同的数据库技术,无形中构建了大量的技术壁垒。而数据本身在一个企业域内都是独一无二的,是需要相互融合的。在不断发展的数据技术和每种技术的差异性逐步增大的过程中,如何能够打破技术壁垒,让数据不会因为技术栈的选择而阻碍其价值释放,是今天摆在我们面前的一个主要问题。
无论是技术人员还是互联网从业者,都能明显感觉到用户的交互时间越来越短,注意力经济越来越凸显,谁能抓住用户注意力谁就能获得相应的流量和回报。在这个过程中如何能够在较短的交互时间里抓住用户的注意力,整个实时数据链路打通至关重要。但是这又跟实际的研发管理、IT的数据管理有天然的一些矛盾。研发管理需要进行开发、测试、上线等整套流程,而业务则要求数据要有更高的敏捷性。多数的IT管理系统对敏捷的业务场景的支撑、数据融合或者底层的数据集成反而成为了阻碍。一个端到端的实时链路,一般的交付周期以月为单位。同时,十几种甚至几十种数据技术混合使用,存储于其间的数据如何能够快速的构建链路?能够把增量数据、全量数据进行有效的融合,成为了IT部门核心要解决的问题。
把不同的技术壁垒打通之后,紧接着需要构建数据融合平台。实时数据链路兼具着业务运营和后台业务分析、管理的作用,需要具备非常高的稳定性、容错性来应对外部组织结构的变化和内部对平台的要求。当数据融合本身非集中式时,一定会受到数据链路、上游系统、下游系统的影响。上游系统是重要程度更高的业务系统。上游数据结构的变化以及数据的大规模处理不会过多顾及下游数据链路的实际情况。例如上游一个简单的更新操作,对下游系统可能造成百万、千万级别的增量数据。下游系统的稳定性不仅仅源于自身的稳定性,更多是通过一些预设规则有效地应对上游系统带给它的影响。当上下游系统都稳定了,运行在底层的系统,如网络环境、存储环境、CPU内存等环境也会影响到整个系统运行的稳定性。此时,就需要考虑跨网传输/大规模的数据链路如何屏蔽以上不稳定因素。
总结,企业在实施数据管理过程中碰到的三项主要问题。第一个问题,当越来越多的数据库技术应用在企业内部,出现了大量的技术壁垒,我们如何打破这些技术壁垒,把数据做有效融合驱动业务的发展。第二个问题,业务部门对数据处理的时效性要求变得越来越高,但数据处理实时应用的构建过程依然需要一个科学严谨的构建逻辑,业务部门对数据时效性的要求和IT部门构建高质量数据链路的效率之间的平衡。最后,实时数据链路构建起来后,因为其兼具业务运营和管理支持的要求,所以稳定性和容错性的要求很高,而这个过程中又受上下游系统及系统环境的制约,如何保证高效稳定的运行,保证高容错性应对各种突发状况。
实时数据管理的主要问题、如何应对
下图展示的是一个标准的金融行业企业级实时数据平台的整体架构。它的上游是存储于不同的数据库技术或外部数据节点的数据,DataPipeline可以通过不同的技术栈把这些数据融合到平台里面来,然后再推送到下游的各类业务系统中。
近二十年来,数据源类型发生了巨大变化。早期整合的数据大部分都是业务系统数据,企业域内的数据会比较多。而现在,需要整合的数据不仅增加了大量的非结构化数据,而且大量来源于外部。
除了业务系统数据,还有客户行为数据、电子设备、APP、摄像头、传感器等的客户端数据也会进入到实时数据链路,而且这一类实时数据的分析价值非常高。
如今每家企业都会