[英]Using airflow's postgres database for application data
我正在开始一个需要数据仓库的新项目,为此我们将使用 postgres。 (无耻插件: swarm64使 postgres 成为数据集高达 TB 的绝佳 DW 选项)
我正在使用 apache airflow 来协调工作负载,但由于我是 airflow 的新手,所以我不确定应用程序 DB 需要什么最佳实践。
对于更多上下文,我正在使用气流的docker-compose.yml ,我也是 airflow 新手。
注意到 docker-compose 已经定义了一个 postgres 数据库:
...
postgres:
image: postgres:13
environment:
POSTGRES_USER: airflow
POSTGRES_PASSWORD: airflow
POSTGRES_DB: airflow
volumes:
- postgres-db-volume:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "airflow"]
interval: 5s
retries: 5
restart: always
...
我立即想知道添加另一个 postgres 服务是否是一个更好的主意,或者是否将现有服务配置为拥有 2 个用户、2 个数据库......
最终,我会将这个项目迁移到云端,并且可能会使用 AWS postgres RDS 或类似的。
那么我的问题是:
Airflow 不关心你的 DWH 是什么,你可以使用 Hooks 和 Operators 与之交互。 其中许多可作为 Airflow 的 Providers 提供,如果需要,您可以随时编写自定义的。 您需要将 Airflow 后端元数据数据库(可以是 PostgreSQL、MySQL)和分析存储区分开,您可以在其中存储处理过的数据,这些数据可以是您想要的任何东西(PostgreSQL、MySQL、BigQuery 和许多其他),
不要让 Airflow 后端数据库也成为您的分析数据库,即使它们都是 PostgreSQL!
至于你的问题,答案是:
为您的 Airflow 安装使用普通的常规 PostgreSQL/MySQL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.