Airbyte 使用不同的对象来存储内部状态和元数据。数据是由各种 Airbyte 组件存储和操作,但您可以通过以下两种方式管理数据库的部署
使用默认的 postgres 数据库,它已经写到 docker-compose.yml 中,即 docker-compose.yml 中的 airbyte/db 服务。
使用单独的 postgres 实例(这种情况下 airbyte/db 就不再被使用,您可以将它从您的 docker-compose.yml 中移除。)。将数据库部署到 docker 和 k8s 中不是一种很好的实践。使用专门的数据库实例将让您的 airbyte 环境有更高的可靠性。此外,使用云托管的Postgres实例(如AWS的RDS,GCP的Cloud SQL),您将得到更细粒度的备份和实例大小调整。例如,一开始业务量不大,我们可以选择一个相对小的实例,后续我们根据数据量的增长情况,进行弹性的扩容或者缩容。
Airbyte 中的各种实体保存在两个内部数据库中:
Job database
里面存放有关 Airbyte 作业执行和各种运行时元数据的数据。
里面存放有关 Airbyte、Temp