构建高效数据流转的 ETL 系统:数据库 + Serverless 函数计算的最佳实践

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 为了实现完整的 ETL 架构,并完成高效、实时的数据集成、处理和同步,阿里云 Serverless 函数计算(FC)与数据库 CDC 技术深度融合。助力企业构建完整的 ETL 架构,实现数据的提取、转换和加载。通过将 CDC 作为事件驱动的数据源,将数据变化作为事件触发 Serverless 函数的执行,可以实现实时的数据处理和同步,有助于提升业务决策和分析的准确性和效率。

概述

随着企业规模和数据量的增长,数据的价值越来越受到重视。数据的变化和更新变得更加频繁和复杂,因此及时捕获和处理这些变化变得至关重要。为了满足这一需求,数据库 CDC(Change Data Capture)技术应运而生。然而,从 ETL 架构的角度来看,CDC 仅满足了数据的提取(Extract)能力。
为了实现完整的 ETL 架构,并完成高效、实时的数据集成、处理和同步,阿里云 Serverless 函数计算(FC)与数据库 CDC 技术深度融合。助力企业构建完整的 ETL 架构,实现数据的提取、转换和加载。通过将 CDC 作为事件驱动的数据源,将数据变化作为事件触发 Serverless 函数的执行,可以实现实时的数据处理和同步,有助于提升业务决策和分析的准确性和效率。


架构介绍

下面将从 ETL 模型入手,逐步讲述 FC + CDC 如何适配符合 ETL 模型的业务。

ETL 模型

在大数据领域,承载数据流转、加工业务的系统架构都可抽象为 ETL 模型,它由三个主要步骤组成:提取(Extract)、转换(Transfomr)和加载(Load)。

  1. 提取:从数据源中提取数据。数据源可以是各种数据存储系统。如:数据库、文件系统、消息队列、API接口等。
  2. 转换:数据经过一系列的转换操作转换为目标系统可以接受的格式和结构。如:数据清洗、数据合并、数据富化等。
  3. 加载:将转换后的数据加载到目标服务中。目标服务可以是数据仓库、数据湖、BI 系统等。

此架构应用广泛,帮助企业管理和利用数据,实现数据驱动的决策和业务转型。

image.png


CDC + ETL

CDC 和 Extract(E) 是数据处理的两个概念,前者目的是捕获数据库中的变化数据,后者目的是从数据源中提取特定的数据集合。但回归业务本身,两者均是从数据源获取业务所需的数据,因此 CDC 和 ETL 的结合也是必然结果。两者的结合可构建更完整高效的数据处理流程,实现实时增量数据抽取和处理。相比传统的定期批量抽取方式,CDC 可更及时地捕获数据变化,使目标系统中的数据更加实时和准确。


image.png


阿里云 DTS + FC

在阿里云数据库产品体系中,数据传输服务 DTS(Data Transmission Service)扮演了 CDC 的角色,作为实时数据流传输服务,它能够捕获上游数据库的变更信息,并将这些变更推送给下游服务。当下游服务是函数计算时,可以利用函数计算的自定义代码能力,对数据进行自定义加工(T)和投递(L)。如下图所示,FC 和 DTS 的深度集成构建了完整的 ETL 体系,为业务系统的快速搭建提供了帮助。


image.png

功能详解

针对上文提到的 DTS + FC 架构,下面将剖析内部细节,深入理解系统的运行方式。

DTS 架构

DTS 在数据采集和数据传输上提供了完备的能力,DTS 系统可抽象为如下三大模块:

  1. Poller:从上游丰富的数据库服务获取数据,具体如下:
  • 传输数据类型:可传输存量数据或增量数据;
  • 数据获取方式:针对存量数据,DTS Poller 以并发查询方式扫描全表,将扫描结果投递至下游;针对增量数据,DTS Poller 监听并读取上游数据库的增量日志文件,解析文件中的日志信息并投递至下游;
  • 增量数据源:针对不同的上游数据库,DTS 会读取不同的增量日志文件。例如:当数据库为 MySQL 时读取 Binlog 文件,当数据库为 MongoDB 时读取 Oplog 文件;
  1. Format Plugin:将获取的数据统一格式化为 Canal Json 格式,格式的统一标准化便于数据解析逻辑复用于不同的数据源;
  2. Sinker:将格式化后的数据推送给下游 FC;


image.png


FC 架构

FC 和 DTS 的深度集成保证了 FC 可以接收 DTS 采集的数据库数据,并根据用户自定义代码实现数据加工和数据投递功能,具体如下:

  1. 请求路由:FC 网关将 DTS 发送的事件路由到 FC 后端;
  2. 调度处理:FC 调度层自动扩容计算节点运行用户代码,处理上游传递的 DTS 事件;
  3. 代码执行:用户的代码按预期运行,通常逻辑为加工处理 event 事件,并将处理后的结果以 SDK/API 等方式发送给外部服务;


image.png

从上图可以看到,您仅需关注数据加工和投递的业务逻辑,并通过简单代码片段完成实现,FC 后端会自动伸缩计算节点执行代码,您无需关注系统的基础设施建设、资源运维、伸缩、监控、报警等一系列繁琐工作,极大提升开发效率。同时 FC 作为 Serverless 应用,支持按量付费,避免长期预留机器资源带来的资源低效问题。

应用场景

OLTP 到 OLAP 的数据传输

什么是 OLTP 和 OLAP?

  • OLTP:指在线事务处理。通过以事务单位进行操作,并需要支持高并发写入和数据一致性。常见的服务如:关系型数据库( MySQL、PostgreSQL 等)、订单处理系统、客户关系管理系统等。
  • OLAP:指在线分析处理。通常用于从大量的数据中提取、聚合和分析信息,满足数据分析和决策支持。OLAP 系统通常以查询为基础,可以进行复杂的数据查询和分析操作。常见的服务如:AnalyticDB、ClickHouse、Power BI 等。

从上面描述看,OLTP 和 OLAP 是两种不同的数据处理服务,用于满足不同的业务需求。OLTP 系统适用于处理实时的交易和业务操作,而 OLAP 系统适用于从大量数据中进行分析和决策支持。在实际应用中,OLAP 的数据来源就是不同的 OLTP 数据库,所以 OLAP 本身不产生数据,通过 ETL 从 OLTP 抽取数据到 OLAP 数据库即数据仓库中做整合清洗达到可分析的数据标准。而 DTS + FC 恰好可以连接两类服务,打通数据通路。


image.png


CDC 事件驱动模型

什么是事件和事件驱动?

  • 事件:在业务系统中,事件是指系统或业务中发生的重要、有意义的事情或状态变化。事件可以是内部触发的,也可以是外部输入的,通常与业务流程、数据更改、用户操作等相关。
  • 事件驱动:事件驱动架构是一种系统设计范式,其中事件是系统中的核心组成部分。在这种架构中,系统的各个组件通过订阅和响应事件来进行通信协作,实现松耦合、可扩展的系统架构。

CDC 因用于捕获数据库中的数据变化,常被当做事件驱动后续流程的执行,常见的场景如下:

  • 订阅和发布系统:CDC 可作为订阅和发布系统的一部分,将数据库中的数据变化作为事件发布给相关的订阅者。这可以用于实现发布-订阅模式的事件驱动系统架构。
  • 数据校验:CDC 可将数据库中变化的数据推送给 FC。做定制化数据校验,校验数据的合理合规,这在金融、财务订单等系统非常重要。
  • 数据审计:CDC 可将数据库中变化的数据推送给 FC,经由 FC 持久化至任意三方服务,用于数据审计和数据可追溯需求。
  • 变更通知:当特定关键数据变动后,以任意方式发送特定通知,如:邮箱、钉钉、短信、电话等。


image.png


总结&展望

CDC 和 Serverless 函数计算的结合,可以实现实时的数据处理和响应,同时减少对基础设施的依赖和管理。在实际应用中,可将 CDC 作为事件驱动的数据源,将数据变化作为事件触发 Serverless 函数的执行。这样可以实现实时的数据处理和分发,同时利用 Serverless 函数计算的弹性扩展能力,根据实际负载动态分配计算资源。总而言之,DTS 和 Serverless 函数计算的集成为企业提供了更高效、灵活和可靠的数据处理解决方案。未来函数计算将探索更多的数据源(Oracle、PolarDB PostgreSQL、PolarDB MySQL 等),满足更多的业务需求。更多信息或需求请钉钉与我们联系,官方钉钉群号:11721331。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
数据采集 Web App开发 人工智能
187 0
|
3月前
|
数据采集 Web App开发 人工智能
基于函数计算FC构建 Browser Tool Sandbox 详解与实操
本文介绍了如何基于阿里云函数计算(FC)构建一个安全、可控的 Browser Tool Sandbox,支持多种浏览器自动化操作方式,包括 Playwright、Puppeteer、Browser Use 和 REST API 等,为 AI Agent 安全高效地操作浏览器提供了完整的技术方案。
|
5月前
|
分布式计算 Serverless OLAP
实时数仓Hologres V3.1版本发布,Serverless型实例从零开始构建OLAP系统
Hologres推出Serverless型实例,支持按需计费、无需独享资源,适合新业务探索分析。高性能查询内表及MaxCompute/OSS外表,弹性扩展至512CU,性能媲美主流开源产品。新增Dynamic Table升级、直读架构优化及ChatBI解决方案,助力高效数据分析。
实时数仓Hologres V3.1版本发布,Serverless型实例从零开始构建OLAP系统
|
6月前
|
存储 编解码 Serverless
Serverless架构下的OSS应用:函数计算FC自动处理图片/视频转码(演示水印添加+缩略图生成流水线)
本文介绍基于阿里云函数计算(FC)和对象存储(OSS)构建Serverless媒体处理流水线,解决传统方案资源利用率低、运维复杂、成本高等问题。通过事件驱动机制实现图片水印添加、多规格缩略图生成及视频转码优化,支持毫秒级弹性伸缩与精确计费,提升处理效率并降低成本,适用于高并发媒体处理场景。
332 0
|
7月前
|
JSON 安全 Serverless
MCP Server 之旅第 2 站: 从 0 到 1 - MCP Server 市场构建与存量 OpenAPI 转 MCP Server
本文聚焦MCP协议在企业应用中的两大核心痛点:如何将社区主流STDIO MCP Server一键转为可插拔Remote MCP Server,以及如何实现存量OpenAPI向MCP Server的智能化转型。文章通过具体示例,展示了基于函数计算和协议转译Adapter的解决方案,支持npm/pip生态,实现零改造一键迁移,大幅降低成本。
|
7月前
|
JSON 安全 Serverless
MCP Server On FC之旅2: 从0到1-MCP Server市场构建与存量OpenAPI转MCP Server
本文介绍了将社区主流STDIO MCP Server一键转为企业内可插拔Remote MCP Server的方法,以及存量API智能化重生的解决方案。通过FunctionAI平台模板实现STDIO MCP Server到SSE MCP Server的快速部署,并可通过“npx”或“uvx”命令调试。同时,文章还探讨了如何将OpenAPI规范数据转化为MCP Server实例,支持API Key、HTTP Basic和OAuth 2.0三种鉴权配置。该方案联合阿里云百练、魔搭社区等平台,提供低成本、高效率的企业级MCP Server服务化路径,助力AI应用生态繁荣。
1095 40
|
7月前
|
人工智能 运维 安全
阿里云 Serverless 助力海牙湾构建弹性、高效、智能的 AI 数字化平台
海牙湾(G-Town)是一家以“供应链+场景+技术+AI”为核心驱动力的科技公司,致力于为各行业提供数字化转型解决方案。通过采用阿里云Serverless架构,解决了弹性能力不足、资源浪费与运维低效的问题。SAE全托管特性降低了技术复杂度,并计划进一步探索Serverless与AI结合,推动智能数字化发展。海牙湾业务覆盖金融、美妆、能源等领域,与多家知名企业建立战略合作,持续优化用户体验和供应链决策能力,保障信息安全并创造可量化的商业价值。未来,公司将深化云原生技术应用,助力更多行业实现高效数字化转型。
549 19
|
8月前
|
自然语言处理 安全 数据挖掘
Hologres+函数计算+Qwen3,对接MCP构建企业级数据分析 Agent
本文介绍了通过阿里云Hologres、函数计算FC和通义千问Qwen3构建企业级数据分析Agent的解决方案。大模型在数据分析中潜力巨大,但面临实时数据接入与跨系统整合等挑战。MCP(模型上下文协议)提供标准化接口,实现AI模型与外部资源解耦。方案利用SSE模式连接,具备高实时性、良好解耦性和轻量级特性。Hologres作为高性能实时数仓,支持多源数据毫秒级接入与分析;函数计算FC以Serverless模式部署,弹性扩缩降低成本;Qwen3则具备强大的推理与多语言能力。用户可通过ModelScope的MCP Playground快速体验,结合TPC-H样例数据完成复杂查询任务。
|
8月前
|
分布式计算 运维 搜索推荐
立马耀:通过阿里云 Serverless Spark 和 Milvus 构建高效向量检索系统,驱动个性化推荐业务
蝉妈妈旗下蝉选通过迁移到阿里云 Serverless Spark 及 Milvus,解决传统架构性能瓶颈与运维复杂性问题。新方案实现离线任务耗时减少40%、失败率降80%,Milvus 向量检索成本降低75%,支持更大规模数据处理,查询响应提速。
440 57
|
8月前
|
存储 运维 Serverless
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
744 69

热门文章

最新文章

相关产品

  • 函数计算