作者丨王晓青
嘉宾丨路孚特 RDP研发总监董玉栋,路孚特高级研发经理赵仪,路孚特企业架构总监陈强
2018年,汤森路透金融与风险业务部门独立成为 Refinitiv(路孚特)。路孚特在汤森路透金融数据和市场知识积累之上,利用领先的技术、信息和分析方法继续为行业者提供着服务。如今路孚特推出金融数据平台。(Refinitiv Elektron Data Platform,简称 RDP),进一步发挥其在行业积累的优势。InfoQ记者专访路孚特 RDP研发总监董玉栋、路孚特高级研发经理赵仪、路孚特企业架构总监陈强,揭秘 RDP的设计理念及技术亮点。
从传统的金融数据管理到现代金融数据治理,金融行业迎来巨大的转变。由于数据量增长形成的倒逼,以及要顺应监管机构和用户的需求,越来越多的金融从业机构开始意识到“数据驱动”的重要性,但全面释放数据价值的过程并非一帆风顺。
金融行业在数据治理中面临哪些痛点?
路孚特企业架构总监陈强表示,在金融行业里,数据来源非常复杂。面对不同的数据提供厂商、数据类型以及数据提供方式,企业要获取所需的金融数据并作处理分析,成本并不低。而一些小型金融机构即便获取到数据,也没有足够的技术能力去处理。
从另一个角度来看,路孚特高级研发经理赵仪解释,数据通常受到两类人的关注:一类是数据提供商,另一类是数据消费者。对于数据提供商而言,数据的权限管理、再分发权限的机制、数据合规等始终是痛点;对于数据消费者而言,如何解决数据来源不同、格式不统一、不一致等问题迫在眉睫。
总体来看,金融从业机构面临的主要痛点如下:
数据来源复杂,且在不同部门、不同业务系统以及不同领域的机构间,数据缺乏流动性和共享性。
数据标准化程度低。来自不同业务、不同时期的数据,在用途、结构、价值和质量水平等方面差异较大,导致数据的提取、整理、分析和使用的难度加大。
成本问题。随着用户量和数据量的增加,访问和使用数据的成本也在大幅提升。
目前金融机构大部分可利用的数据依然是传统业务产生的数据,而外部数据源拓展不足,缺乏更高层面的统筹协调来支持全面的数据分析和使用。
基于以上原因,路孚特推出了自主研发的金融数据平台 RDP。该平台应用统一的存储层能力汇集来自全球的海量金融数据,通过完整的清洗、分析和增值处理流程后,集中分发给用户。
RDP研发总监董玉栋提到,路孚特已经与全球的证券交易所、期货交易所等机构建立了合作关系,从数据生产端获取到一手数据,面向全球发布到数据消费的一端。简单来讲,就是“收之全球,发之全球”。
可以说,RDP相当于一个全球金融行业数据的统筹协调中心,其目的是方便金融从业者获取更全面的行业数据,同时尽可能减少用户成本,增加数据价值。
RDP如何帮助金融从业者以较低的成本访问和使用数据?
据了解,企业在数据传输过程中,除了从上游不同业务数据库中实时、定时传输到下游系统之外,还需要从外部合作商、供应商中获取业务数据。RDP具有大数据级别的行业数据,那么,它是如何帮助金融从业者以较低的成本便捷地访问和使用这些数据?
RDP的解决思路是:将其核心数据存储在 AWS上,为用户提供基于元数据驱动的统一的 API接口。RDP的数据和 API接口可以通过所有主流的公有云产品、私有云设施,以及企业自有数据中心访问。
从用户角度来看,基于元数据的访问大大简化了客户对数据的使用。但是,数据访问越便捷意味着开发难度越高。董玉栋也提到,统一的 API背后,需要理解客户不同类型的请求,并能够高效执行,但云原生的 API网关并不能完全实现这种特性。
API网关处于客户端与各个微服务之间,担任着反向代理的角色,负责将不同的请求路由到相对应的微服务中去。API网关可以解决客户端需求和每个微服务暴露的细粒度 API不匹配、部分服务使用的协议非 Web友好协议等问题。
为了提升 API性能,满足用户不同类型的访问请求,路孚特自主研发了 API网关以及用户数据权限管理系统。AWS中的 API网关会注册其所有的 RDP API,包括内部消费的 API和面向客户的 API。用户请求到达以后,API网关会自动验证用户的权限,并保证后续的合法数据请求快速递交给相应的服务,而超出服务范围的请求会自动拒绝。董玉栋表示,所有在 RDP上的产品设计都是从 API定义开始,这有助于实现把客户需求放到第一位的目标,并最大化各种 API及服务的重用性,避免重复实现相同的功能。
在数据分发上,RDP统一了流式处理、批量处理和基于请求的数据提供方式。对于流式数据的访问,董玉栋提到,这类数据即时性很重要,RDP通过在中间做多层缓存将数据持续且高速地推送给客户。
批量数据请求分为“定制批量请求”和“随机批量请求”两种情况。对于定制批量请求,RDP按照约定时间定时打包推送给用户;对于随机批量请求,则采用异步打包,然后将数据提取位置发送给用户的方式处理。
对于面向搜索的数据,董玉栋介绍:“这类访问基本都是同步请求,实时访问我们的数据库返回给客户。有时候用户基于搜索的数据量特别大,RDP系统会进行职能预测,自动将这一类请求转变成随机批量数据请求来处理。”
那么,如何应对诸如跨洋实时交易这类对时效性要求非常高的超低时延数据访问?
赵仪解释:“跨洋实时交易本身存在地理位置上的时延,再加上系统带来的时延,通过云服务访问无法满足超低时延的需求。即便是快到 70ms的时延,对于实时交易来讲,也是一种延迟。”路孚特的做法是在全球部署数据中心,以此提高时效性。此外,目前公有云还无法提供具有超高时效性的数据,因此,比较合适的做法是将数据通过专线直接部署到用户所在地。
元数据驱动的价值与挑战
从简单的库表到整个数据平台,再到服务管理,元数据管理的范围正在扩大,不断突破传统管理的范畴,并在大数据治理中发挥着关键作用。而 RDP的整个系统便是由元数据驱动的。
简单来讲,元数据是对数据本身进行描述的数据,如描述数据的格式、映射关系、语义、权限等。元数据管理具有以下三方面的价值:
可以为数据管理提供统一的视图,方便数据交互共享;
实现数据自动关联分析,为数据分析、问题定位等提供支撑;
便于建立数据标准,统一交换、存储、应用口径,减少共享壁垒,降低应用出错几率,提升质量。
在大数据时代,数据的容量、多样性等在持续扩充,元数据管理也面临着挑战。目前,元数据仍然没有统一的标准,如何用一套统一的语义去描述种类繁多的金融数据间的特征,并且真正和数据管理系统 /微服务之间紧密集成而不是割裂的存在,是行业中普遍存在的问题。
企业首先需要集中化管理元数据,由一个专门且人数较少的架构师团队定义元数据,并进行统一管理。其次,研发团队要让软件能够支持元数据体系,并与之融为一体,而非割裂存在。最后,不仅内部的系统要实现元数据驱动,系统间的相互访问以及对外开放也需要遵循同一套体系。
随着元数据驱动的数据管理、API访问和增值业务能力的增加,元数据实质上已经成为了更高级别抽象的代码,这就带来了一个难题:如何进行数据的生命周期管理。确切地说,这类复杂的问题没有单一的解决方案,必须从系统级架构、可重用的代码和服务、DevOps和自动化测试、代码安全扫描等多个方面来解决问题。
对此,陈强分享了以下几点经验:
(1)如何在权限管理系统中定义“谁”可以“管理”哪些“元数据”?可以把整个系统中的“谁”、“管理(行为)”、“元数据”这些业务概念也都元数据化,由统一的身份及权限系统通过共享服务进行统一管理。
(2)对于可以在线修改并实时生效的元数据,尤其是决定数据存储和表现形式的元数据,如何保证由其驱动的数据系统的健壮性、稳定性和可控性?首先,在线元数据的修改和发布是独立的异步流程,可由相应的权限进行控制;其次,对元数据的前后变化进行快照,并以版本号作为快照的唯一标识符,在发布和回滚元数据版本时可以明确地识别具体的快照内容;最后,发布和回滚的过程中,可以根据业务特点,根据需要辅以各种在线的自动化功能测试和发布策略。
(3)某些业务及技术实现的复杂度导致一些元数据的修改无法真正进行热加载和实时生效,或者实现热加载 /部署的代价过高,但仍然需要业务管理专家而非研发人员控制和实施元数据修改的部署。RDP在应用中会尽量利用公有云的弹性,对版本化后的元数据进行修改,并进行 CI/CD持续集成和自动化测试,同时辅助以蓝 /绿部署策略。这样,元数据的版本控制与代码的版本控制流程及部署策略就可以非常接近。不同的是,元数据的修改是通过易于使用的控制界面,主要由业务专家进行管理。在这背后,路孚特所有由业务专家使用的功能都会经过充分的测试,确保界面上可以操作的功能是健壮有效的。
随着数据量的增长,RDP如何平衡性能与成本?
随着大数据的发展,数据平台难免要面对数据或作业爆发式增长所带来的挑战。RDP的用户量和数据量每年都会大幅增长,相应的成本投资增长不容小觑。在这种数据量和计算量不断增长的情况下,如何去平衡性能和成本?赵仪表示,这一问题的核心在于每个用户计算成本的控制,即如何保证每个用户计算成本不随用户数量和数据量的增加而显着增加。RDP在控制成本方面可借鉴的方法有:
(1)尽可能地在用户间共享可以共享的计算,只需支付对用户的分发成本;
(2)控制热点数据的规模,在 API级区分热点访问和冷数据访问;
(3)基于微服务的管理,方便用户管理自己的数据需求;
(4)用户输入不同的数据源不盲目整合,避免在一个对象模型下产生巨量的数据集,从而降低用户增加对单个用户计算复杂度的影响;
(5)数据压缩 /访问本地化 /算法优化等传统方法。
对于大数据平台而言,区分冷热数据并安排不同的存储方式是非常重要的一项工作,对存储成本和计算性能至关重要。对于冷数据,由于调用频率相对较低,可以通过冷压缩,将数据压缩到最小,再存储起来的方式节省存储成本;对于热数据,则需要增加 Cache或者采用一些优化策略,让用户能快速调用,从而提升计算性能。
数据本身并不产生价值,基于数据的计算才能带来价值。为了保证上层计算的有效性,通常将数据放在距离计算最近的地方,否则会带来传输的延迟。数据的统一存储并非是将数据都放在同一个地方,这里的统一存储其实是一个逻辑概念。不同的数据应该放在不同的存储中,才能使数据上层的计算最有效,并将数据延迟降到最低。RDP会针对不同的访问请求提供不同的数据访问缓存,并辅以共享计算的方式对数据传输进行优化。
路孚特金融数据平台的未来发展趋势
科技带给金融行业的影响显而易见,在金融机构进行各种互联网创新的同时,也将金融科技的重要性提升到了战略高度,通过 AI、大数据、云计算、区块链等新兴技术不断提升金融效率和竞争力,建立新的金融生态。
而大数据技术从最初的“新奇”发展到如今的“普惠”阶段,用户的关注点也发生了很大的改变。早期用户比较关注“灵活”、“快”,现在更关心的是企业级能力,同时降低成本也变得越来越重要。目前,企业级数据平台普遍存在的困难是高速增长的数据和计算量与成本之间的矛盾。如何用更低的成本获取更多的信息,不仅是金融从业机构的迫切需求,也是数据平台的核心竞争点。
谈及 RDP未来的发展重点,赵仪表示:“RDP的目标主要集中在加强数据的统一存储和分发能力,降低客户获取数据的复杂度和成本。未来将用更低的成本扩大数据覆盖范围。”与此同时,RDP会继续获取更多的用户需求,并把这些需求统一到 RDP数据分发机制里,更好地为客户提供存储和分发的能力。
用科技普惠金融,这是路孚特技术团队研发 RDP的初心。未来,随着 5G、AI等新兴技术的发展,路孚特也将打造更加智能高效的平台,给用户提供更好的体验。
除了在技术上不断精益求精,路孚特也在积极推动金融科技的生态发展。11月 29日,由路孚特主办,以“引领科技变革,洞见金融未来”为主题的 ReFinTech金融科技峰会将在北京举行。本次大会邀请了金融界知名专家和金融科技企业技术专家,深度探讨行业发展思路和技术演进趋势,分享最前沿创新实践,共同打造“创新、聚力、发展、共赢”的金融科技生态平台。