PostgreSQL数据库服务器虚拟化,是或不是?

我们之前的首席技术官(现在的“顾问”)在某种程度上警告他更换虚拟化数据库服务器,特别是我们的PgSQL数据库服务器,而是将它们作为实际的物理服务器运行。 问题在于,我们的机架中的物理空间和主数据库服务器的容量正在迅速耗尽。

他在I / O速度上提供的只是模糊的思考; 尽pipe我没有任何具体的理由怀疑他对这个问题的判断,但知道:

这个build议是否有真正的理由(如果是这样,是什么?),还是仅仅是他的迷信?

虚拟化数据库服务器是一个真正的不行,这里有几个原因

  • 正如您的首席技术官所expression的最大的开放是I / O瓶颈,虚拟化系统在磁盘写入上增加了40%到60%的覆盖率,这意味着他们至less会向磁盘写入两次。 考虑到繁忙数据库的一个主要问题是能够尽可能快地写入磁盘,这会阻碍数据库硬件并使数据库在负载下不可用
  • 另外,数据库能够快速访问大量内存是关键,因此,内存中的其他虚拟机将停留在同一节点上

所以,聪明的做法是将您的数据库放在裸机上,同时虚拟化不依赖于磁盘的其他部分(例如Web服务器)

这个问题的一个更好的答案是“这取决于”。 取决于硬件,configuration等。取决于服务级别协议,负载,编写良好的代码,应用程序体系结构,名单继续。

我使用SAN存储在PostgreSQL和MS SQL中运行几个生产数据库服务器,这些服务器在组织所期望的参数范围内运行得非常愉快(远远优于它们所替代的硬件解决scheme)。 而且我可以保证有许多DBA同意。