繁体   English   中英

使用气流的 postgres 数据库获取应用程序数据

[英]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 或类似的。

那么我的问题是:

  1. 这里的最佳做法是什么?
  2. 如果没有,不同方法之间的权衡是什么?

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM