SQL Server 的最佳实践磁盘使用

SQL Server 的最佳实践磁盘使用

我一直在阅读,为了提高性能和安全性,最佳做法是将以下内容放在单独的磁盘上:

  • 临时数据库
  • 数据库文件
  • 日志档案
  • 备份文件

当您考虑使用多个磁盘的 RAID 时,这将需要使用大量的物理磁盘。

我了解日志文件由于其顺序写入模式而受益于放在自己的物理磁盘上,但其他文件可以分离到“逻辑”磁盘而不是物理磁盘上吗?

答案1

首先,在选择解决方案时,您应该知道数据库应承受的最大工作负载。

如果您正在安装产品,该产品将针对不同工作负载的设置提供建议。

如果产品是内部设计的,则对其进行基准测试,创建性能限制和成本。逐步部署您的应用程序。还记得 GMail 邀请吗?它们是为了在野外测试其应用程序而创建的,但用户数量受到控制。

将数据分到分区几乎没用。唯一的好处是碎片会稍微集中一点,但数据库请求大多是随机访问。

不要使用 RADI5。使用 RAID1 或 RAID10。如果数据完整性至关重要,可以使用 RAIDZ(iSCSI SAN 上的 ZFS)。

答案2

...其他文件可以分离到“逻辑”磁盘而不是物理磁盘上吗?

您可以将它们放在同一物理磁盘上的不同逻辑磁盘上。这不会给您带来使用单独物理磁盘的所有优势,但如果您稍后决定需要更多物理磁盘,您可以更轻松地将逻辑磁盘移动到新物理磁盘。

答案3

你正在考虑三方权衡。

  • 速度
  • 风险
  • 成本

获得最快的速度和最低的风险通常需要付出最大的代价。根据我的经验,大多数 CEO 和 CFO 都希望最大限度地提高速度并尽量降低成本。让他们意识到接受最大化速度和最小化成本所带来的风险需要一段时间。

另一方面,DBA 倾向于希望尽量减少风险。

如果你将数据库及其备份存储在同一台服务器上,那么任何可能破坏服务器的东西也可能破坏你的备份。这就是通常这不是可接受的风险,但它依赖于应用程序。只有相当大的事件才能摧毁一台服务器;我想我从未见过一台服务器被摧毁。

如果你将数据库及其备份存储在同一物理磁盘上,那么任何可能破坏磁盘的东西都可能同时破坏数据库和备份。我见过磁盘被毁坏的案例很多次。这几乎总是不可接受的风险。

一些速度问题可以通过固态硬盘来缓解,但这会带来不同的成本和一些新的风险。

就我个人而言,我不愿意保持备份与数据库在同一台服务器上,但我可能愿意备份到同一台服务器(预期速度快、成本低),稍后再将其复制或移动到其他地方。

答案4

即使您只是使用单独的逻辑驱动器,您获得的一个小好处是,如果任何一个单独组件的空间耗尽,并不一定意味着所有其他组件的空间也同时耗尽 - 这是一个稍微更优雅的故障。

相关内容