Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何使BigQuery架构与代码保持同步_Database_Google Cloud Platform_Google Bigquery_Terraform_Infrastructure As Code - Fatal编程技术网

Database 如何使BigQuery架构与代码保持同步

Database 如何使BigQuery架构与代码保持同步,database,google-cloud-platform,google-bigquery,terraform,infrastructure-as-code,Database,Google Cloud Platform,Google Bigquery,Terraform,Infrastructure As Code,我正在开发各种直接与BigQuery对话的服务,通过将行流式传输到数据库中。现在我正在直接从谷歌云用户界面更新模式,这已经造成了一些问题,正如你可以想象的那样,由于健忘 我想了解如何最好地保持代码和模式与仍在快速发展的服务和模式保持一致 我目前的想法是: 使用类似Terraform的东西,但我不确定这在需要更新或迁移的活动表上是如何工作的 向服务中添加代码以检查/设置模式,如果不自动执行该过程,至少会引发错误 提前谢谢 编辑: 根据评论中的要求提供更清晰的信息;我们使用云运行的微服务将行流

我正在开发各种直接与BigQuery对话的服务,通过将行流式传输到数据库中。现在我正在直接从谷歌云用户界面更新模式,这已经造成了一些问题,正如你可以想象的那样,由于健忘

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

我目前的想法是:

  • 使用类似Terraform的东西,但我不确定这在需要更新或迁移的活动表上是如何工作的
  • 向服务中添加代码以检查/设置模式,如果不自动执行该过程,至少会引发错误
提前谢谢


编辑:

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


我不确定还要添加什么,我的理想情况是,我们的代码中有一些东西也定义或至少检查模式,以保持代码和数据库同步。

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

然后,您可以有一个副进程来检查模式并用更新的更改对其进行更新。或者在启动时执行此操作(仅当您不在无服务器环境下且应用程序启动持续时间对您来说不重要时)


Terraform非常适合部署基础设施,但更局限于更新/修补现有组件。我不推荐。

这个答案太高了,没有任何帮助。这取决于你在寻找什么。你能更精确地知道你想知道什么吗?事实上我想要的是一个“精确”的答案:)我已经概述了选项,你又重复了一遍,但我真的想要一个有清晰示例的正确解决方案。这太难了。取决于您的工作量、您的环境、需求、您的语言。。。准确地说,我也可以:):)我不是谷歌,我不是支持,我是一名有15年以上经验的IT工程师。你想怪我就怪我,我是想帮你。我看到了不同的情况,约束可以以不同的方式驱动你。通用解决方案是无用的,上下文很重要!您已经有很多库/框架试图帮助您进行模式管理(使用MySQL或PostgreSQL);这些图书馆都是固执己见的,你可以从中获得灵感,找到最适合你的方法。或添加详细信息!这可能会有所帮助:@dendog,实际上Bigquery正在利用各种可能需要付出大量努力的工具,即使是简化的
bq
工具也可以作为完成几乎所有Bigquery管理操作的良好起点。您能否对最初的任务进行详细说明,以获得有关功能预期的更多详细信息?