各位,我接到了一项艰巨的任务。任务目标类似于“按手”在几台数据库服务器上,这些服务器协同工作,为各种 Web、客户端-服务器和 Tablet-Sync 分布式客户端-服务器程序提供数据。
更具体地说,我被要求提出一份“维护计划”,其中包括未来改善这些机器的性能/可靠性/安全性等的建议。
你们能给我推荐一些互联网上的好文章吗,这些文章能给我一些好的开始基础吗?描述“这些是最重要的 4 个类别,这是您在深入研究每个类别时应该采取的方法”之类的文章会很棒。
数据库都是SQL 2005,但兼容级别为80,最初是用基于SQL 6.5的ERwin创建的。操作系统都是Windows Server 2003。
谢谢大家!
蒂姆
答案1
没有明确的答案,但这是我的一点看法。在我看来,有两种方法可以解决这个问题,一种是保持应用程序不变,另一种是转向服务和定制应用程序。
如果您不想更改应用程序和数据库,但想要更可靠的系统,您应该考虑以下内容:
- 了解你的恢复点目标和恢复时间目标(这定义了您在架构、程序和硬件方面的需求)
- 存储架构(如何扩展、消除热点、提高性能);
- 存储故障转移(如磁盘镜像,以及可能的用于灾难恢复的异地镜像);
- 热故障转移服务器;
- 测试故障转移计划(这非常重要,您需要测试 DR 策略);
- 数据库服务器的可扩展性(如果在其上投入更多硬件,它们将如何增长);
- 监控和自动化至关重要。
更改您的应用程序可能会允许一些有趣的变化。数据库分片可以允许更大的数据集,有趣的是拆分读取和写入。许多数据库的读取量远大于写入量,如果是这种情况,则为每个角色配备具有多个副本的专用数据库可以实现这一点。这段视频(解开你的领域)探索了这个想法。