数据不搬家,dbt先动手了
📋 总体概括
dbt 宣布支持 Amazon Redshift 数据共享,跨库写入、开发与 CI 环境隔离、免复制加速三大能力落地。本文从工程、成本、格局三个视角拆解这次更新的真实含金量,以及它对数据管道生态意味着什么。
📄 正文
数据不搬家,dbt先动手了
数据管道提速这件事,业内喊了多年「不要复制数据」,但真正动手改造工具链的并不多。这次 dbt 宣布支持 Amazon Redshift 的数据共享(Data Sharing)能力——跨数据库写入、开发与 CI 环境隔离、不拷贝数据就能跑得更快——三个卖点都不炫,但每一个都打在数据团队的日常痛点上。核心判断只有一句:当转换层开始原生拥抱存储层的共享能力,ELT 架构里最后一块「物理搬运」的冗余成本,开始被拆除了。
🚀 少复制一份,管道就快一截
先说这次更新到底解决什么问题。
任何一个在 Redshift 上跑过复杂数据管道的工程师,都熟悉这样的场景:为了给不同业务域做环境隔离,团队往往在同一个集群里建多个数据库,或者干脆再拉一套集群。数据要从生产库「搬」到分析库、从分析库「搬」到测试库,每一次搬运背后都是一条额外的 COPY 任务、一份额外的存储账单、一段额外的等待时间。
按这次公布的信息,dbt 现在可以直接利用 Redshift 的数据共享能力进行跨数据库写入。也就是说,dbt 的模型可以写到另一个数据库里去,而数据本身不需要被复制一份。
用一张图看清楚差异:
左边的老路,是复制再转换;右边的路,是共享后直接转换。物理上少了一次全量数据落盘,管道的整体时延和失败点同步减少。
产业逻辑:ELT 兴起这些年,行业共识一直是「转换放进仓库里做」,但很多人忽略了一个尾巴——仓库与仓库之间、库与库之间的数据流动,依然靠复制。这个尾巴不是小问题,它是管道时延、存储成本和运维复杂度的三重来源。dbt 把数据共享纳入一等公民支持,等于把这个尾巴也剪掉了。
🧪 开发和CI隔离,终于不用靠复制表演戏
数据团队的测试困境,圈外人很难理解。
软件工程里,CI 是天经地义:写代码、跑测试、过流水线、再合并。但数据工程里,「测试」长期以来是个尴尬的存在——你的测试环境需要真实数据,而真实数据要么造一份合成副本,要么直接在生产库上裸跑实验。前者费钱费时,后者危险。
据多位在一线做数据平台的朋友透露,不少团队的所谓「开发环境」,实际上就是生产库里几个加了 dev_ 前缀的 schema,跑测试靠 DBA 睁一只眼闭一只眼。这不是团队不专业,是工具没给到位。
这次更新里的第二个能力,就是环境隔离:借助数据共享,dbt 可以让开发与 CI 环境在独立数据库中运行,同时读取共享的底层数据。
| 维度 | 传统做法 | 数据共享做法 |
|---|---|---|
| 测试数据来源 | 复制生产数据 | 零拷贝共享引用 |
| 环境存储成本 | 全量副本 ×N | 基本可忽略 |
| 数据新鲜度 | 快照时点的旧数据 | 贴近实时 |
| 敏感数据治理 | 多份副本多点管控 | 单一物理实体统一管控 |
| CI 运行速度 | 受复制时长拖累 | 明显更快 |
注意最后一行之前的「敏感数据治理」那一行——这是很多人容易忽略的点。多一份副本,就多一份合规风险敞口。数据只在一个物理位置存在、通过共享逻辑分发给多个环境,治理边界天然收窄了。
产业逻辑:数据测试与数据质量这几年被反复强调,但工具链一直缺「干净的沙箱」这一环。环境隔离能力的成熟,意味着数据团队第一次可以像软件团队那样正经地搭 CI 流水线。这对数据质量的提升,可能比再加十个校验规则都管用。
💰 数据团队的隐性账单,该算一算了
再来算一笔很多团队从没认真算过的钱。
存储成本是数据平台最隐蔽的开支之一。显性的账单——集群费用、查询扫描费用——大家盯得很紧;但隐性的部分,比如为测试环境复制的副本、为跨库分析搬运的中间表、为历史管道兼容而长期保留的冗余数据,往往没人追责。
一位数据平台负责人的说法很直白:账单涨了,大家第一反应是「优化查询」,很少有人问「我们到底存了几份一样的数据」。
(注:上图比例为行业常见量级的示意性刻画,非精确统计,不同团队差异较大。)
数据共享能力的价值,恰恰是直接削减图中「跨环境副本」这一块。而且削减的不只是存储——每一次复制对应的计算资源、网络开销、任务运维成本,都随之消失。
产业逻辑:数据平台建设进入「从建到省」的阶段。过去五年,行业的主要叙事是「把数据管起来」;未来几年的叙事,会是「把管数据的成本降下来」。零拷贝架构(Zero-Copy)正从一个营销词,变成可以在账单上验证的工程实践。
⚠️ 冷静一点:跨库写入不是银弹
说了这么多好处,必须泼一盆冷水。
跨数据库写入听起来自由,但工程上从来不是免费午餐。几个现实问题摆在眼前:
- 权限与审计复杂度上升。数据可以跨库流动之后,权限模型需要重新设计,否则共享链路会变成治理盲区。
- 依赖管理要跟上。dbt 的 DAG 需要正确理解跨库模型之间的引用关系,配置不当会出现隐性的循环依赖或执行顺序错乱。
- 共享是有边界的第一环。Redshift 的数据共享是集群内、账户体系内的能力,它解决的是「同一个体系内不复制」,不等于跨组织、跨云的数据流通。后者是数据要素流通领域更难的问题。
一位接近云厂商数据产品团队的人士的判断是:数据共享类能力会先在云数仓内部消化掉大部分「重复搬运」场景,真正的跨企业共享还要靠外围的合规与技术框架补齐。
产业逻辑:工具链的每一次进步,都在缩小问题域,而不是消灭问题域。dbt 与 Redshift 的这次联动,解决的是「仓库内部的数据流动效率」;仓库之间的流动、企业之间的流通,依然需要治理、标准和法律框架的长期建设。把这两件事混为一谈,是当前行业叙事里最常见的泡沫之一。
🔭 工具链的下一步:转换层开始站队
把视野拉远一点看这次更新。
Redshift上线
云数仓规模化
dbt开源
ELT理念普及
数据共享概念兴起
零拷贝成为方向
dbt支持Redshift数据共享
转换层与存储层深度打通
这条时间线背后有一个清晰的趋势:数据仓库的「围墙」正在从物理边界变成逻辑边界。
Snowflake 凭借数据共享与数据市场能力,曾经是这个方向上最激进的教育者;AWS 用 Redshift 数据共享跟进,把零拷贝变成云数仓的标配能力。而 dbt 作为事实上的转换层标准——大量数据团队的 DAG 都构建在它之上——何时支持、如何支持某个平台的共享能力,直接决定了这项能力能否真正普及。
转换层与存储层的深度打通,还有一层更深远的意义:数据基础设施的竞争,正在从单点性能竞争,转向生态协同竞争。存储引擎再快,如果转换层要绕路复制,整体体验就是快的乘以慢的;反之,存储、转换、编排三层无缝咬合,才是下一代数据平台的入场券。据多位业内人士观察,各家云厂商与 dbt 的适配深度,正在成为企业选型时权重越来越高的隐性指标。
对数据团队来说,务实的建议是:如果你已经在 Redshift 上重度使用 dbt,数据共享值得尽快纳入评估——先从 CI 环境隔离这类低风险场景切入,再逐步迁移跨库写入的管道;同时把权限模型和依赖审计提前设计好,别让零拷贝变成零管控。
小结
dbt 支持 Redshift 数据共享,表面上是一次常规的适配更新,实质上是 ELT 架构补上最后一块拼图:从「把转换搬进仓库」到「让数据在仓库内零拷贝流动」。少一份复制,少一串任务,少一笔账单,多一条正经的 CI 流水线——数据工程的现代化,就是这样一件件枯燥但真实的改进堆出来的。下一步值得盯的,是共享能力从单仓走向跨仓、跨云的演进节奏,那里才是数据基础设施真正的大战场。
本文由本站 AI 辅助聚合生成,原始来源如下: