如何使BigQuery模式与代码保持同步

时间:2020-09-24 10:16:14

标签: database google-cloud-platform google-bigquery terraform infrastructure-as-code

我正在开发通过将行流式传输到数据库中而直接与BigQuery进行通信的各种服务。现在,我正在直接从Google云用户界面更新架构,由于健忘,这已经引起了您可以想象的问题!

我想了解如何最好地使代码和架构与仍在快速发展的服务和架构保持一致。

我目前的想法是:

  • 使用Terraform之类的东西,但是我不确定这在需要更新或迁移的实时表上如何工作
  • 向服务中添加代码以检查/设置架构,如果不使流程自动化,至少会抛出错误

谢谢!


编辑:

根据评论的要求提供更多的清晰度;我们正在使用云运行的微服务将行流式传输到bigquery中,这些服务是用python / node编写的。他们的主要目标是对数据进行一些灯光转换并将其存储在BQ中。

不确定是否要添加更多内容,我的理想情况是代码中包含一些可以定义或至少检查架构的内容,以使代码和数据库保持同步。

1 个答案:

答案 0 :(得分:0)

与任何数据库一样,您必须遵循一些规则或最佳实践,以避免某些错误和冲突。例如,您必须要手动更新架构,可以选择始终使用代码进行更新(这样做更好,因为由于git历史记录,您可以遵循架构更改)。

然后,您可以使用一个辅助过程来检查模式,并使用较新的更改对其进行更新。或在启动时执行此操作(仅当您不处于无服务器状态且应用程序启动持续时间与您无关时)。

Terraform非常适合部署基础架构,但更多地限于更新/修补现有组件。我不推荐。

相关问题