【发布时间】:2021-05-18 19:28:40
【问题描述】:
我正在开始一个需要数据仓库的新项目,为此我们将使用 postgres。 (无耻插件:swarm64 使 postgres 成为 TB 级数据集的绝佳 DW 选项)
我正在使用 apache 气流来编排工作负载,但由于我是气流新手,我不确定什么是应用程序数据库需求的最佳实践。
对于更多的上下文,我使用气流的docker-compose.yml,我也是气流新手。
注意到 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 或类似的工具。
那么我的问题是:
- 这里的最佳做法是什么?
- 如果没有,不同方法之间的权衡是什么?
【问题讨论】:
标签: postgresql docker-compose airflow