【问题标题】:Consolidate databases to one server or spread to many?将数据库整合到一台服务器还是分散到多台服务器?
【发布时间】:2010-07-23 01:44:46
【问题描述】:

我的各种应用程序(Sharepoint、CRM、Commerce Server)的所有数据库应该在一个虚拟机/服务器上,还是应该将它们分开?

我正在尝试模拟服务器环境,而这个问题的关键在于数据库调整是否只涉及数据库或处理服务器的设置?我正在开发一个自定义 ASP.NET Web 应用程序,我遵循的策略之一是拥有一个读写数据库,该数据库在内容/架构中是重复的,但针对读/写操作进行了不同的调整(这是否涉及任何服务器调整?) .

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

SQL I/O 也将是另一个问题(我相信部分受我的网卡控制)。

谢谢

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    将数据和事务日志放在与操作系统不同的 RAID 5(或 10)阵列(一个阵列用于数据,另一个阵列用于日志)中,对数据库优化的好处最大。除此之外,您可以使用最多的 RAM。

    根据我使用 VMWare 产品的经验,将它安装在 VM 上的唯一好处是备份和部署。

    【讨论】:

      【解决方案2】:

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

      在一台机器上拥有多个 SQL Server 实例不是最佳选择,原因我在此详述:When can I host IIS and SQL Server on the same machine?

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-23
        • 1970-01-01
        • 2014-04-20
        • 2014-11-04
        • 2010-12-05
        • 1970-01-01
        • 2011-08-25
        相关资源
        最近更新 更多