如何将云SQL产品数据库与另一个云SQL暂存数据库同步



我目前在谷歌账户中有一个云SQL实例(PostgreSQL),但我想创建一个临时数据库,以便在对产品云SQL数据库进行架构更改之前进行一些测试。

prod数据库通过一些简单的ETL过程自动接收来自不同数据源的数据,我不想在暂存数据库上复制这些数据负载。这些自动化过程不应该在暂存中运行,因为它们在大多数情况下都是不必要的。我也不想创建一个像prod.那样大的暂存数据库

考虑到我上面所说的,以及我不使用不同的项目来设置暂存/生产环境,我有几个问题要问:

  1. 我已经意识到GCP中有一个克隆数据库的功能。我从未使用过它,但我想知道不时克隆我的prod数据库以创建我的临时数据库是否是一种好的做法,因为备份和恢复可能很痛苦。

  2. 我可以以逻辑方式使用克隆功能吗(只选择一些要克隆的表等)?还是完全依赖于物理备份?

  3. 我想克隆一个巨大的数据库可能需要几个小时,所以我想知道是否有一种方法只应用两个数据库之间的差异,这样我就不必每次都克隆整个数据库,类似于复制方法?

  4. 如果我对dev/test/prod使用单独的项目。同步不同数据库环境的可用方法有哪些?

1-克隆功能用于克隆实例。所以你克隆了整个数据库。

2-你不能只克隆一些表,但你可以使用导出这些所需的表

gcloud sql export sql [INSTANCE_NAME] gs://[BUCKET_NAME]/sqldumpfile.gz --database=[DATABASE_NAME] --table=[TABLE_NAME]

3-现在,您可以使用SQL执行此操作,然后将查询保存为表并导出此表。

4-有各种方法可以连接到SQL实例,比如psql客户端、使用标准PostgreSQL客户端-服务器协议的第三方工具、云应用程序引擎等。

相关内容

  • 没有找到相关文章

最新更新