Dee*_*101 8 sql-server scalability
如何扩展 SQL Server 2008(或 2012)?基本上,我理解有两种选择:
放大:
如果 CPU 受限,我可以清楚地看到从 1 个 CPU 内核到 2 个到 4 个。或者如果 RAM 使用量激增,只需添加更多 RAM。假设没有应用程序级别更改,SQL Server 2008/2012 是否真的弥补了这种不足并以这种方式扩展?为了尽量减少猜测,让我们假设我没有做一些愚蠢的事情,比如燃烧 CPU 周期、进行交叉连接等。
向外扩展:
目前尚不清楚扩展将如何工作。我的意思是如果我在第一个 SQL 服务器旁边添加另一个 SQL 服务器,查询如何知道要在哪个服务器上运行?前面是否有一些负载平衡器(它是否与 SQL Server 软件一起提供?)?它是否需要更改应用程序级别以扩展工作?或者我是否必须对数据进行分片并使用自定义代码根据数据分片键调用正确的数据库服务器?
希望更多有经验的人提供意见。
就像 gbn 所说的那样,SQL 并没有像其他 RDBM 那样真正向外扩展。但是,许多人忽略了横向扩展的一个方面,那就是始终有一个单独的系统用于报告目的。
绝不允许报告针对生产运行。在另一台服务器上建立自己的报告数据库。
理想情况下,您的报告系统将仅包含报告所需的数据,并且其结构和优化方式与您的生产系统不同。
数据将根据需要输入报告系统(即来自生产、每日馈送等的每小时涓流更新)。
一种快速而肮脏(且效率极低)的方法是在另一台服务器上简单地拥有生产数据库的完整副本。该副本可以通过完整备份、事务日志传送、镜像(带快照)、复制等方式进行维护。
但是,我不推荐这种方法。完整备份和恢复需要时间,尤其是在较大的数据库上。复制是复杂且有问题的。日志传送为您提供只读数据库。使用快照进行镜像可能是一个不错的答案,但您仍然坚持使用未针对报告目的进行优化的生产模式。
一个单独的报告系统是要走的路。
| 归档时间: |
|
| 查看次数: |
9892 次 |
| 最近记录: |