2018年5月18-19日,由公司主办的全球软件与运维技术峰会在京召开.峰会围绕人工智能、大数据、物联网、区块链等12个核心热点,汇聚了60位海内外一线专家。错过平台。 在“大数据处理技术”分环节,宜信技术研发中心高级架构师王东带来了《实时敏捷大数据在宜信的实践》的主题分享。会后,记者梳理了王东在WOT2018全球软件与运维技术峰会上的演讲内容。 实时敏捷大数据的背景与痛点 大数据发展到今天,越来越多的实时业务场景层出不穷。通过流处理技术实现数据的实时化,快速从数据中发现价值,已经成为一种趋势。然而,流处理的落地难度相当大,包括:人才紧缺、开发成本高、上线周期长等。如何低成本快速落地数据产品成为很多企业面临的问题。 作为一家互联网金融公司,宜信在数据方面主要遇到了三大问题:一是数据孤岛问题,多个部门的数据存储在不同的业务数据库中,跨部门数据共享难度很大;另一种是数据的抽取方案,因为之前有很多用户,各自抽取自己需要的数据,抽取时间不一样,相互获取的版本不一致;三是实时数据应用能力。由于对实时数据产品的需求,也存在实时技术能力不足的问题。此外,需要定制化开发,开发周期长,无法快速响应开发数据产品。而且由于业务变化快,运维成本居高不下。 王东表示,业务方希望解决方案能够满足低延迟、高实时性、低侵入式接入方案、数据产品快速发展、运维成本低、数据安全、高权限等需求要求。此外,该解决方案需要接受定制,实现数据存储的多样化,支持多种目标。 实时敏捷大数据设计理念 基于当前的痛点和客户需求,宜信提出了自己对实时敏捷大数据的理解: 1)数据是实时计算和传输的时间; 2)通过组件平台化提供平台服务,让数据从业者更多地介入和释放数据处理能力,回归数据和业务的本质; 3)通过接口标准化,数据可以在不同的组件之间传递轻松流通; 4)可视化配置,降低大数据产品开发门槛,降低运维成本; 5)实现自助服务,快速原型验证,形成反馈闭环,快速迭代,证明有效,从实践中快速沉淀大数据产品。 王东告诉记者,宜信基于实时敏捷大数据的理念,打造了DBus实时数据总线平台+Wormhole实时流处理平台。其中,DBus作为实时数据总线平台,侧重于数据的抓取和结构化;Wormhole作为一个实时流处理平台,提供基于配置SQL的各种流计算,支持存储到各种通用数据对象中。公司通过DBus和Wormhole这两款实时大数据相关工具,具备实时计算能力和快速构建实时数据产品的能力。据王东介绍,实时敏捷大数据技术栈组件DBus和Wormhole已在宜人贷、大数据创新中心、技术研发中心等宜信内部一级技术部门提供基础设施服务,并于2017年9月上线。.每月开源。目前,这两个基础服务平台正在维护和迭代中,一些社区用户和企业用户也在尝试和使用。 DBus+Wormhole流处理引擎 大数据处理技术是个大课题,涉及数据采集、数据传输、数据处理、数据存储、数据展示等诸多方面,包括batch、stream、AdHoc、budget和其他访问模式。在实时流计算方面,DBus+Wormhole考虑到各种计算引擎的特点和适用场景,采用了不同的流处理引擎。 DBus关注数据源的数据流出,希望能让后端用户以更低的延迟更快的消费最新的数据,尽可能的保证数据的顺序。因此,DBus采用storm作为处理引擎。在保证数据一致性方面,需要在整个设计过程中考虑计算引擎支持的关键点,否则会造成数据乱序。易信采用了一种方案,让DBus保证每条日志数据输出都是唯一标记的、有顺序的ums_id。为了实现这一点,DBus以物理文件号和日志偏移量为依据,保证DBusredo数据的ums_id_不会改变。另外,ums_id_的唯一性和有序性带来了很多好处。比如Wormhole掉线时,通过比较ums_id_,可以知道哪些数据被更新,哪些数据将被覆盖。 Wormhole专注于实时数据传输和实时存储。对于数据传输,Spark率先支持SQL;另外,从存储的角度来看,批量存储要比单个存储效率高很多。因此,Wormhole使用SparkStreaming作为处理引擎。针对数据的实时转换(Transform),为了改善SparkSQLJoin在流上的性能以及Join失败的问题,Wormhole在流上重新实现了Join的逻辑,极大的提升了性能加入流。另外引入了时间窗的概念,在时间窗内选择没有被查找过的数据,再次join下一批mini-batches的数据,最终提高了Join的成功率.为了更高效地加载,Wormhole首先根据主键对批处理数据进行重新分区,合并不必要的写入,减少写入量,同时避免死锁[狮子娜1]。此外,采用基于批处理和预读的逻辑,大大提高了批写入性能。 王东表示,作为流式Extract-Transform-Load工具,DBus和Wormhole做了很多额外的努力。首先,作为数据采集器(Extract),为了降低数据源的侵入性和实时性,DBus不使用触发器或时间戳来提取增量数据,而是采用读取数据库备份日志的方式来获取增量数据定量数据。为此,不同的数据源采用不同的解决方案。同时,DBus还实现了数据源端自动感知schema变化的能力,区分兼容变化和不兼容变化,自动反映UMS版本变化,并提供邮件通知和告警功能。 据了解,宜信DBus实时数据总线平台+Wormhole实时流处理平台已覆盖公司各大一级部门,支持30多个项目,部署多套环境。同时,同步数十个数据源的数百个库的数千个表单。王东表示,未来DBus+Wormhole会支持更多的声音,可以对接Flink。他希望为流式计算提供一个通用平台,为企业业务提供一站式服务。DBus详细参考:https://github.com/BriData/DBusWormhole详细参考:https://github.com/edp963/wormhole
