
本文根据周可在【第十三届中国数据库技术大会(DTCC2022)】线上演讲内容整理而成。
本文摘要:WeDataSphere (简称“WDS”)一站式、金融级、全连通、开源开放的大数据平台套件,本次分享将为大家介绍从建设之初到开源开放的自研之路,如何依托开源社区的力量共建金融级大数据平台,实现完备的数据开发应用管理能力。同时,如何通过计算中间件Apache Linkis、数据应用开发管理门户DataSphere Studio等 9 个组件,帮助企业大数据团队释放数据生产力。
为什么要建数据平台?
从一个完整的商业的视角来看,一个商业的前中后、东西南北中,如果要形成数据的流动或者是让其中的数据产生价值,必然需要有一套完备的基础设施去支撑它的数据能力的提取和展示。我们需要用上述这样一套数据平台把数据串联起来,然后形成一个有机的数据球,产生一系列业务价值。从业务视角来看,企业需要去构建一套面向不同层级使用用户,能够为管理者和其他数据使用者提供数据仪表盘、驾驶舱等能力。通过这些能力去告诉使用者当前发生了什么,以及这些事情为何发生,并且通过数据去预测未来可能会发生什么,指导商业决策。从技术视角来看,随着业务发展,数据种类和容量会进入到一个快速膨胀的过程。在这种情况下,如何让这些数据流动起来,构建一套完整的数据资产目录?提升不同的数据使用者和开发者的效率,同时管控数据使用的成本,是平台需要解决的技术问题。以上就是企业需要建设大数据平台的原因。
数据平台应该如何建设?
数据平台主要是围绕数据这一最核心的生产要素去做吸引、促进和匹配,构建出一整套完整的工具和组件生态链,去提供给到我们的企业或者机构去挖掘数据价值。
那么数据平台的建设方案是怎样的呢?我们提供的思路是:数据平台的建设需要量体和裁衣。
在量体层面,要弄清楚自身的在数据管理能力层面,可以通过DCMM、金融业数据能力建设指引以及DAMA等标准来分析当前现状。同时结合业务的需求、预算成本,确定要搭建大数据平台的规模和架构。有了需求、预算以及现状的摸底之后,就会得到当前现状的雷达图的评分,从而确定目标,明确建设这套数据平台应该怎么走,怎么做。

在裁衣层面,以WeDataSphere这一套数据平台为例,我们认为大数据平台需要数据分析、数据治理、机器学习、运维运营、计算存储、以及数据平台中间件,六大模块的基础能力。我们还是要以用户需求和成本为出发点,摸清现状,确定缺少的能力,确定平台建设的路线图,再去通过开源、外部采购或者自研的方式去将这些空白模块和能力填补,从而按规划逐步构建出一套产品矩阵供用户部门使用。
WeDataSphere是如何建设和开源的?
WeDataSphere 建设指导思路主要是围绕平台吸引、促进、匹配能力进行建设,以两个方面的驱动力为主:其一是内部业务的需求,这也是最原始的出发点;其二是基于社区的成员共性需求和问题。在这个过程中还会参考业界先进产品和标准框架体系。总体来说,我们希望构建出一站式、全联通的数据平台,用户在这一套工具上就能得到几乎所有的数据分析应用构建的能力;实现这样的能力需要将不同的工具系统联通起来,减少使用和开发成本。考虑到数据平台范围庞大,团队规模资源有限,我们认为要想做出特色和优势,须从产品架构设计和多团队共建模式上进一步优化。1.通过合理的构建大数据平台功能工具集成开发框架和中间件层,获得更极致的连通、 解耦、易扩展、高度复用能力,简化整体架构和调用关系,大幅降低新功能工具开发和平台运维成本;2.基于“开源”吸引一切可以团结的力量,多方联合共建。
连通扩展,大数据平台需要应用集成框架
为解决这个痛点,WeDataSphere 团队开发了数据应用开发管理集成框架 DataSphere Studio。DataSphere Studio 将这些数据工具统一了起来,基于 AppConn 插拔式的集成框架设计,在统一的 UI 下,以工作流式的图形化拖拽开发体验,将满足从数据交换、脱敏清洗、分析挖掘、质量检测、可视化展现、定时调度到数据输出应用等,数据应用开发全流程场景需求。AppConn,定义了一套统一的前后台接入协议,总共分为三级规范,可让外部数据应用系统快速简单地接入,成为 DataSphere Studio数据应用开发中的一环,是 DataSphere Studio可以简单快速集成各种上层 Web 系统的核心概念。
解耦复用,大数据平台需要一个中间件层
随着大数据技术的普及和深入发展,越来越多样化的用户场景需求,催生出了非常多上层应用工具和底层计算存储引擎。在当前的大数据平台架构体系下,我们会发现从上层应用工具,到底层的各个引擎,还是各自为政,Server-Client 模式紧耦合满天飞。在大量的上层应用工具和大量的底层引擎之间,缺乏一层通用的“中间件”框架设计,导致整个大数据平台变成下图的复杂网状架构:大量的上层应用和底层引擎之间,缺乏一层通用的“中间件”设计。由于缺乏一层通用的中间件层框架设计,使得连通、扩展、管控、编排、复用等“计算治理” 问题凸显。例如:从“连接”问题来看,大数据底层计算存储引擎繁多,各个上层应用工具需要各自维护底层引擎的 Lib 依赖、运行时环境等信息,导致部署运维工作极其繁重,底层引擎任何变动都会影响上层应用的可用性和可维护性;再从“扩展”问题来看,比如某个上层应用之前使用 Hive,后面觉得 Hive 计算太慢现在想用 Spark,用了 Spark 后还是觉得太慢想用 Presto,Presto 太慢又想用 ClickHouse,这时这个上层应用工具需要分别去扩展对接这些引擎,这无疑会带来非常巨大的开发成本。再来看“复用”问题,每个上层应用都要重复集成和管理各种底层引擎的 client 的连接及其状态,特别是在并发使用用户逐渐变多、并发计算任务量逐渐变大时,每个上层应用还要重复解决多个用户间在 client 端的资源争用、权限隔离,计算任务的超时管理、失败重试等等计算治理问题,造成的开发人力浪费不可小觑。除了上述的架构层面问题,要想让复杂分布式架构环境下,各种类型的计算任务都能更简洁、灵活、有序、可控地提交执行并成功返回结果,计算治理还需关注高并发、高可用、多租户隔离、资源管控、安全增强、计算策略等细化特性问题。这里就不一一展开论述了。
Apache Linkis 计算中间件解决数据平台连通、扩展、管控、复用等问题。在这样的背景下,计算中间件 Apache Linkis(incubating)应运而生,它是WeDataSphere团队专门设计用来解决上述紧耦合、重复造轮子、扩展难、应用孤岛等计算治理问题的。当前主要解决的是复杂分布式架构的典型场景-数据平台环境下的计算治理问题。
Apache Linkis(incubating) 在上层应用和底层引擎之间构建了一层计算中间件。通过使用 Linkis 提供的 REST/WebSocket/JDBC 等标准接口,上层应用可以方便地连接访问 Spark、Presto、Flink 等底层引擎,同时实现跨引擎上下文共享、统一的计算任务和引擎治理与编排能力。
WeDataSphere 一站式大数据平台套件自研的各种组件正在逐步开源中。
WeDataSphere 团队致力于通过在整体设计上开放灵活,对扩展友好组件可插拔;形式上以开源开放的方式,吸引更多个人、组织,参与到 WDS 的开发建设和推广应用中来,在为大数据平台开源生态继续做出贡献的同时,联合社区各家实力强劲的大数据平台团队,协作共建先进的大数据平台套件。
WeDataSphere 未来展望
对于未来发展,WeDataSphere 团队将继续践行“Community Over Code”的“The Apache Way”开源文化主旨,打造一个更加协作、开放、多元的社区文化,持续降低社区用户的参与门槛,联合更多的组织和个人一起构建先进的大数据平台套件和世界级的大数据中间件开源项目。作为企业数字化转型的核心,大数据平台的构建是一个长期的战略性工作,涉及到技术选型、业务模型、团队建设、管理协作等多方面的事情,对于任何公司、任何团队来说,都是不小的挑战。WeDataSphere 的建设已经持续了7年的时间,发展过程中也经历了很多挑战,实践经验告诉我们,建设一个成功的大数据平台,必须不断地投入资源和精力,不断重复量体裁衣、完善和优化的过程,最终才能慢慢形成良性的循环,并从中取
|嘉宾介绍|

周可
微众银行大数据高级工程师
2016年进入微众银行工作,负责 WeDataSphere 任务调度系统(Schedulis)、机器学习工场(Prophecis Studio)、数据治理工场(Data Governance Studio)等系统的架构设计和开发。