运行在你自己的 AWS 账号已在生产环境运行一年以上

你的生产数据库
不必知道分析的存在。

Data Pump 从 AWS 每天已经生成的快照开始。导出、整理、编目 — 结果就是可以在 Athena 中查询的数据。全程不连接运行中的数据库。

快照是时间上凝固的副本。一切都从那里取出 — 没有任何查询触及生产环境,连查看有哪些表也不会。

一张表的完整路径
AWS 生成快照按计划,或按需触发
RDS 导出为 Parquetexported/{cluster}/{export}/pagila/public.payment/
Data Pump 整理并重命名catalog/{cluster}/pagila.pagamentos/
按查询维度重新分区catalog/{cluster}/pagila.pagamentos/ano=2024/mes=03/Athena 只读取查询涉及的月份
Glue 完成编目可以直接 SELECT
工作方式

五个步骤,没有一个发生在你的数据库里

快照就绪后,流程自动触发。从通知到编目,无需人工介入。

来源

从快照开始

无需安装代理,无需复制,无需 CDC。AWS 已经生成的快照就是数据源 — 跨账号的数据库同样适用。

传输

在数据所在处导出

跨账号场景下,导出在源账号执行,直接写入你的存储桶。原始数据不会传输两次。

整形

由你决定纳入什么

选择数据库、过滤表,并重命名那些技术性的名字。`tb_pgto` 在数据湖中变成 `payments`。

查询

按你提问的方式分区

按年月重新分区后,Athena 只读取查询需要的那一部分 — 而不是整张表。

历史

保留数据库丢弃的部分

长期历史不会在每次运行时被清除。从 Postgres 中清理旧数据后,它们在这里依然可查。

运维

呈现发生过的事

每次运行都记录各个步骤、被更新的表,以及各组件的版本。失败时,错误清晰可见。

为何如此

另一条路,是去动那个不能停的数据库

从运行中的 Postgres 取数据,每种方式都有代价。从快照开始,代价最小。

直接查询,或做复制
  • 分析查询与应用争抢资源
  • 只读副本需要数据库配置,也需要有人维护
  • CDC 需要独立的代理、连接器和监控
  • 数据库的网络访问成为安全上的例外
  • 被清理的数据也随之消失
从快照开始
  • 数据库不会收到任何新连接
  • AWS 本就在生成快照 — 这份成本已经存在
  • 源端无需安装任何东西,跨账号也一样
  • 无需网络通路:流程读取的是文件,不是数据库
  • 历史数据在清理后依然留存
控制台

管理界面在你的基础设施里,不在我们这里

Data Pump 全部运行在客户的 AWS 账号中 — 控制台也不例外。你的数据任何时候都不会经过我们。

数据源与数据库

指定哪些集群供给数据湖、哪些数据库被纳入。表清单直接来自导出内容本身。

分区

配置每张表如何重新分区,以及已纳入的数据行在数据库中被修改后如何处理。

运行记录

按步骤跟踪每次运行,查看哪些表被更新、哪一步失败,并附带该步骤的日志。

想在你的环境里看它跑起来吗?

每次部署都从一次沟通开始:确定账号、区域、VPC 和数据来源后,我们为该场景构建对应的软件包。没有通用安装程序 — 告诉我们你的情况,我们会给出合适的方案。