来自 Dagster CEO 的评价
“Prefect 是目前市面上最好的工作流引擎”
— Pete Hunt,Dagster CEO
为何团队选择从 Dagster 迁移
简洁性、可预测性和灵活性
原样编写 Python 代码
只需在现有 Python 函数上添加装饰器。无需资产重构,无需 IO 管理器。您的代码可立即在您的基础设施中运行。
以天为单位实现价值,而非数月
团队可在数天内部署生产工作流。无需范式转换——只需在您的环境中进行 Python 编排。
可预测的定价
透明的基于用户的定价。没有随数据量扩展的按资产收费。您的计算资源运行在您自己的基础设施中。
基于“软件定义资产”(Software-Defined Assets)构建,要求团队将工作流重构为以资产为中心的范式。基于信用的定价导致随着资产数量增加,预算存在不确定性。团队报告称,适应资产优先模型需要数月的学习曲线。
开发者体验
无需资产包装
Dagster 通过 @asset 装饰器、IO 管理器和存储库重构,强制将每个工作流纳入其软件定义资产模型。Prefect 则让您的 Python 函数在您的基础设施中原样运行——添加一个 @flow 装饰器即可完成。
无需重构代码
以天为单位投入生产,而非数月
适用于您现有的基础设施
“Prefect 比 Dagster 易用得多。”
— Braun Reyes,Clearcover 高级数据工程师
Prefect
Dagster
定价透明度
无按资产收费
Dagster 基于信用的模型意味着每增加一个资产,您的账单就会增加。随着数据平台的增长,预算变得不可预测。Prefect 按照用户和工作区收费——您的工作流在您的基础设施中执行,且零边际成本。
通常可节省 60-70% 的成本
免费层级:2 个用户,5 个工作流
扩展基础设施而无需担心预算超支
安全与控制
您的工作流运行在您的基础设施中
Prefect 和 Dagster 都提供云编排,但 Prefect 的混合架构将编排与执行分离。Worker 通过仅限出站的连接进行轮询——您的代码、数据和计算资源均保留在您的环境中。
部署在 Kubernetes, ECS, Docker 上
零代码或数据流出
符合 SOC 2 Type II, GDPR, HIPAA 标准
Prefect Cloud托管控制平面和元数据。您托管执行和数据。
工作流类型多样
编排任何类型的工作流
Dagster 以资产为中心的模型在批量数据转换方面表现良好,但会强迫其他类型的工作流使用不自然的模式。Prefect 在编排 ETL、ML、流处理和自动化方面同样出色——且全部运行在您的基础设施中。
探索工作流模式数据资产
数据资产,抛弃繁琐
两个平台都支持数据资产和血缘追踪。Dagster 要求将“软件定义资产”作为基础——每个工作流必须是带有 IO 管理器和存储库的资产。Prefect 采用任务优先的方法,资产是您在需要时通过 @materialize 装饰器进行追踪的结果。无论哪种方式,您的工作流都在您的基础设施中运行。
编写任务,在需要时添加物化
从任务图中自动推断依赖关系
无需重构即可追踪外部资产
Prefect:任务优先,可选物化
灵活Dagster:以资产为中心的基础
强制性为什么 Prefect 胜出
在不牺牲能力的前提下保持简洁
任务共享内存
任务间原生数据传递,运行在您的基础设施中。Dagster 像 Airflow 一样将步骤隔离,需要 IO 管理器。
测试您的逻辑,而非框架
直接测试函数。Dagster 需要 50 多行样板代码来模拟框架概念。
适配您工作流的基础设施
无需控制平面。轻量级 Worker 或在您的环境中托管执行——任您选择。
默认支持动态
基于数据在运行时构建图。Dagster 在导入时冻结图,导致动态工作流中断。
无需资产包装
可选的资产追踪。Dagster 强制每个工作流采用软件定义资产模型。
Python 输入,Python 输出
编写标准 Python 代码,运行在您的基础设施中。无需 DSL 副本或特定于框架的模式。
功能对比
查看 Prefect 在关键功能上的表现
开发体验
| 功能 | Prefect | Dagster |
|---|---|---|
| 无需重写 | ||
| 极简学习曲线 | 数月 | |
| 无需框架模拟即可测试 | ||
| 处理大型内存数据 | 隔离 |
工作流能力
| 功能 | Prefect | Dagster |
|---|---|---|
| 运行时动态 DAG | 导入时冻结 | |
| 支持所有工作流类型 | 仅限以资产为中心 |
数据资产与血缘
| 功能 | Prefect | Dagster |
|---|---|---|
| 数据资产与血缘 | ||
| 资产追踪方式 | 任务优先,可选 | 以资产为中心,强制 |
团队信赖 Prefect 用于生产工作负载
从快速成长的初创公司到财富 500 强企业
Prefect 比 Dagster 易用得多。
73.78% 的基础设施成本降低
在大幅降低支出的同时,通过基础设施控制使生产力翻了三倍
Prefect 社区势头
Prefect 是目前市面上最好的工作流引擎。
Prefect 为我们提供了精细的灵活性,使我们能够构建一个适合整个组织的定制平台,而无需臃肿的基础设施架构。
我们的职责是为数据分析师和科学家提供所需的数据,以创建能够驱动商业价值的数据产品。此外,我们专注于通过消除障碍并提供功能强大的工具来赋能我们的数据科学家,使他们的工作更轻松。Prefect 正在帮助我们实现这些目标。
我们使用 Prefect 来编排 dbt Cloud 作业以及其他数据工具。它为我们的整个流水线带来了可见性并简化了部署。
我该如何选择?
选择 Prefect 的理由:
- Python 优先开发,无需重构代码,运行在您的基础设施中
- 以天为单位的价值实现,而非数月的学习曲线
- 透明的按用户定价,计算资源在您的环境中
- 支持所有工作流类型:ETL、ML、流处理、自动化
- 免费层级(2 个用户,5 个工作流),运行在您的基础设施中
选择 Dagster 的理由:
- 您的团队致力于软件定义资产范式
- 您主要构建批量数据转换流水线
- 您可以投入数月时间来适应范式并跨越学习曲线
- 基于信用的定价模型符合您的预算规划