将数据库整合到一台服务器还是分散到多台服务器?

时间:2009-10-10 16:02:13

标签: sql-server

我的各种应用程序(Sharepoint,CRM,Commerce Server)的所有数据库是否应该位于一台VM /服务器上,还是应该将它们分开?

我试图模仿服务器环境,这个问题取决于数据库调优是仅涉及数据库还是处理服务器的设置?我正在开发一个自定义ASP.NET Web应用程序,我所遵循的策略之一是拥有一个读取和写入数据库,这些数据库在内容/架构中是重复的,但对于读/写操作有不同的调整(这是否涉及任何服务器调优?)

请记住,我有暂存环境,所以问题是如果我在我的工作站上展开服务器,我将安装相当多的服务器和Windows Server操作系统,占用相当大的空间(在我的2tb上) HD)。

SQL I / O也是另一个问题(部分由我认为的网卡管理)。

由于

2 个答案:

答案 0 :(得分:2)

数据库优化最大程度地受益于将数据和事务日志记录在来自操作系统的单独的RAID 5(或10)阵列(一个用于数据的阵列,另一个用于日志的阵列)上。除此之外,你可以投入最多的RAM。

在VM上使用它的唯一好处是备份&根据我使用VMWare产品的经验进行部署。

答案 1 :(得分:0)

当多个数据库在同一台计算机(或VM映像)上运行时,最好将它们合并到一个实例上。防止这种情况的唯一原因是安全性,如果某些应用程序更敏感并且需要管理员子集(sysadmin),那么它必须在不同的实例上分开。

在一台计算机上有多个SQL Server实例是不理想的,原因我在此详述:When can I host IIS and SQL Server on the same machine?

对于单个VM与多个VM,情况有所不同。虚拟机在SQL实例之间提供一些隔离,通过控制虚拟机级别的可用资源来提供资源治理,最重要的是可以通过移动虚拟机映像轻松移植到新的物理硬件。鉴于您决定无论如何都要运行VM,我认为拥有单独的VM会更灵活,尽管性能较差。

使用单独的VM,您将浪费一些资源:操作系统内核内存,磁盘空间,I / O将由每个VM内的操作系统复制,因此您的物理资源将被拉伸更薄。您还必须复制一些人力(配置,管理)。在规划部署容量时,您必须考虑这些因素。

但事实上,每个虚拟机都可以通过简单的复制操作移植到新的物理机器上,因为它变得更加使用并且资源更加密集,这是一个巨大的优势。