5

我目前正在穿越 SQL Server 横向扩展技术的丛林,如复制、日志传送、镜像……我的选择有以下限制:

  • 我希望将只读负载分布在主要和辅助(镜像、订阅者)服务器上
    • 写入负载可以直接发送到主服务器
    • 该解决方案应该几乎无需维护。架构更改应该只复制到辅助服务器(注意:复制似乎有一些严重的限制)
    • 在辅助服务器上应该可以非常快速地访问书面数据(在 1 秒内,但最好是即时访问)
    • 在服务器故障时,我可以轻松承受长达一小时的数据丢失。我更关心简单的可扩展性

以下是我可以选择的一些选项:http: //msdn.microsoft.com/en-us/library/bb510414.aspx。有什么经验可以分享吗?

4

1 回答 1

5

这些都是高可用性解决方案,而不是横向扩展。SQL Server 没有简单的横向扩展解决方案,任何其他(关系)数据库也没有。使用主从复制可以在主写入扩展可能性允许的范围内进行扩展。使用主-主复制会多路复用写入并带来一致性问题。几乎所有尝试过基于复制的解决方案的大规模部署都不得不放弃它。

一种替代方法是根据独立的数据域重新考虑您的应用程序,即通过消息传递的方式,MySpace 向外扩展的方式。

另一种选择是放弃一些约束(写入一致性、读取一致性、可恢复性、类型化模式、引用完整性)并选择一个可以在释放这些约束(CassandraHBaseMongoDB)后自由扩展的 nosql 引擎。

最终,横向扩展是一项基本要求,您必须围绕解决方案设计应用程序并接受横向扩展施加的所有(严格)限制。请注意,尽管所有关系引擎都可以纵向扩展并且全球范围内需要横向扩展的部署数量超出了数据库可以扩展的范围,您可以指望。

于 2010-06-03T15:39:27.100 回答