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