大型数据库的维护窗口和恢复

大型数据库的维护窗口和恢复

我们的一个团队正在开发一个数据库,这个数据库会比较大(约 500GB),并且会从那里开始增长(我知道 500 GB 对你们中的许多人来说可能很小,但它将成为我们商店中较大的数据库之一)。他们正在努力解决的问题之一是备份和恢复数据库。基本上,数据库将有几个“数据”表和一个用于存储图像/文档的表。我们需要完成以下任务:

  • 能够快速备份和恢复数据表(不带图像)到我们的测试服务器以进行调试和测试目的。
  • 如果发生灾难性的数据库故障,请仅恢复数据表,以便尽快恢复大部分应用程序。然后,在可能的情况下恢复图像表。
  • 在指定的夜间时间窗口内(几个小时)备份数据库。我的问题是:

是否有可能在将图像存储在同一数据库中的同时实现前两个目标?如果可以,我们会使用文件组、文件流还是其他方法?其他商店如何在合理的时间范围内备份数据库,同时保持高可用性?您是否复制到第二台服务器并从那里备份?

答案1

很简单:不要计划恢复。

如果发生灾难性的数据库故障,只需恢复数据表即可尽快使大部分应用程序启动并运行。

真的吗?你对灾难的定义和我以及其他人的定义不一样。

如果发生数据灾难,您希望尽快恢复,但由于火灾,可能需要尽快重建数据中心。这是一场灾难。

对于服务器故障等 - 不要计划使用备份。使用复制、日志文件传送来保持第二台服务器(在单独的 SAN 上)处于热状态并读取,以便在定义的短时间内接管。我知道公司每 10 分钟传送一次日志文件。

这几乎是你唯一的机会。将灾难升级为真正的灾难,而不是突袭/SAN 故障。你的问题不是“我能多快恢复”,而是“我能多快获得新硬件”。

对于开发人员等来说,恢复的时间要求不那么严格。

相关内容