目前,我有一个由后端、前端和数据库组成的应用程序。Postgres数据库有一个包含大约6000万行的表。 此表具有另一个表的外键:categories
。因此,如果要计算(我知道这是数据库中最慢的操作之一(来自特定类别的每一行,在我当前的设置中,这将导致 5 分钟的查询。目前,数据库、后端和前端只是在 VM 上运行。
我现在已经将后端和前端容器化了,我想在Google Kubernetes Engine中启动它们。
所以我的问题,如果你也使用容器数据库并让 Kubernetes 做一些负载平衡工作,或者我应该使用 Google 的 Cloud SQL,我的查询性能会提高吗?有人在这方面有一些经验吗?
如果您还使用容器数据库,我的查询性能会提高吗
仅当节点(较大节点(的容量大于当前节点时,原始性能才会上升。如果你使用与 kubernetes 节点相同的节点,它就不会上升。在这种情况下,你不会从容器中获得好处,除了如果你在 Kubernetes 中运行你的数据库软件,更新你的数据库软件可能会更容易一些。这里有许多因素在起作用,包括您用于存储的磁盘。(SSD、磁性、集群文件系统?
假设你的目标是通过利用该容量来最大化集群中的资源,比如说没有很多查询被发送到你的数据库,那么 Kubernetes/containers 可能是一个不错的选择。(但这不是最初的问题(
我应该使用谷歌的云SQL吗
我会使用Cloud SQL的唯一原因是,如果您想减轻管理SQL数据库的负担。除此之外,您将获得与在GCE上相同大小的实例中运行相似的性能数据。