Google CloudSQL - 每个数据库的实例还是所有数据库的单个实例?

Sat*_*atA 5 google-cloud-sql

试图弄清楚什么会更好:

  1. 多个实例,每个数据库一个

    或者

  2. 单个大型实例,内部将容纳多个数据库

该场景类似于 Jira Cloud,其中每个客户都有自己的 Jira Cloud 服务器和自己的数据库。现在的问题是,在 1 个大型实例中管理所有用户的数据库更好,还是为每个客户拥有一个数据库实例更好?所选替代方案的缺点和优点是什么?首先想到或想到的是备份管理 - 如果特定客户的数据库与所有其他数据库驻留在同一大型实例上,我们是否能够恢复该数据库?

类似的问题,但在不同的场景和其他要求 - 1-big-google-cloud-sql-instance-2-small-google-cloud-sql-instances-or-1-medium

And*_*nir 3

此答案基于个人意见。由您决定如何构建数据库。但是,最好使用多个较小的 Cloud SQL 实例,正如Cloud SQL > 最佳实践文档中所述。

多个数据库的优点

  • 管理较小的实例比管理大型实例更容易。(在上面提供的文档中)
  • 您可以为每个数据库选择区域和区域,因此,如果您的客户位于不同的地理位置,您始终可以为 Cloud SQL 实例选择最接近他们的区域,这样您就可以减少延迟。
  • 此外,如果您计划拥有很多数据库,每个数据库中有很多表,每个表中有很多记录,这意味着实例将会很大。因此,在数据库开始扩展后,备份、创建只读副本或故障转移副本并维护它们将需要一些时间。

不过,我建议,如果您每个用户有多个数据库,请将它们放在一个 Cloud SQL 实例中,这样您就可以为每个用户管理一个 Cloud SQL 实例。例如,您有 100 个用户,用户 1 有 4 个数据库,用户 2 有 6 个数据库等。创建 100 个 Cloud SQL 实例,而不是每个数据库一个 Cloud SQL 实例,否则最终会得到很多实例,并且很难管理多个数据库每个用户的实例。