Sql server 关于SQL Server复制可伸缩性的问题

Sql server 关于SQL Server复制可伸缩性的问题,sql-server,replication,database-replication,Sql Server,Replication,Database Replication,我希望有人能提供一些见解。我所处的环境中,我们有一个中央数据库服务器,数据库容量约为20GB,每个数据库服务器跨约200个设施。我们的目的是在每个设备上运行一个指向本地服务器的应用程序副本,但要尽可能经常地在两个方向上同步所有数据库,每天受影响的行数不超过10000行,单个行平均为1.5kb。由于连接性的不同,一个设施有时可能会离线一到两周,一旦恢复在线,它就需要赶上 问题:在合并策略中使用拉复制,是否存在影响环境的实际限制?在50、100、200个设施中,我们预计会看到什么负面影响(如果有的话

我希望有人能提供一些见解。我所处的环境中,我们有一个中央数据库服务器,数据库容量约为20GB,每个数据库服务器跨约200个设施。我们的目的是在每个设备上运行一个指向本地服务器的应用程序副本,但要尽可能经常地在两个方向上同步所有数据库,每天受影响的行数不超过10000行,单个行平均为1.5kb。由于连接性的不同,一个设施有时可能会离线一到两周,一旦恢复在线,它就需要赶上

问题:在合并策略中使用拉复制,是否存在影响环境的实际限制?在50、100、200个设施中,我们预计会看到什么负面影响(如果有的话)?对于中央服务器,我们应该有什么样的带宽期望?我在任何地方都找不到这个数字


我感谢您的任何想法或指导。

根据您的描述,数学如下:

每行1.5 kb*10000行=15 GB/天,在您的50到200个站点中的每一个站点至少传入一次

15 GB*50到200个站点=每天至少0.7到3 TB,从中央服务器发送

您的站点每天将相当繁忙15 GB,而您的中心每天将非常繁忙3 TB


所以带宽可能是一个问题。您肯定希望监控带宽和吞吐量。负面的副作用是每次同步时中心的周期性缓慢。

您希望复制是单向的还是双向的?你在想什么时间间隔?1.5 kb是每天或每行的总数据量?每行,平均每表占用的存储空间除以行数。我们需要双向复制,但延迟可能相当高。我们可能会在不同的设施之间进行调整,但每2-4小时一次就可以了。我们仍在努力确定什么才是最适合我们的环境,但这绝对不是实时的。非常好的信息!每个站点的行数肯定会有变化,所以希望最终的行数会更小。至于每行大小,复制是在更新时发送差异信息还是整行的完整数据?此外,是否有基于站点数量的集线器内存/cpu需求指南?我假设集线器数据库本身更大,以容纳同步元数据,或者完全由处于拉模式的站点处理?对于复制如何发送数据,有一些选项集线器的大小应基于数据的大小及其使用情况。复制只是一种用途。考虑到轮毂的数量,我预计会有相当大的轮毂,但不是辐条的200倍。更像是10-20倍。请记住,对于每个正在拉动的辐条,轮毂仍然需要对拉动做出响应并保持直线。对于每一次同步,两者所做的工作几乎相等:中心和客户端每同步=每客户端。太棒了!最后一个问题。。。如果站点停机时间过长,是否有办法通过使用数据库副本物理访问站点来执行手动双向同步来代理中心?我担心的是,唯一的方法是从设备中获取备份,将其装载到在线的某个位置并运行同步,然后将其驱动回设备。有没有其他方法可以使用中间人在中心进行初始化,在设施进行更新,然后在中心进行最终更新/合并,这意味着只需要到设施进行一次访问?如果您将DB服务器作为VM运行,那么这些服务器在某种程度上是可移植的。那将是一种方式。否则,我很确定您可以选择中断复制,并尽可能多地连接到另一台服务器。初始连接可能会相当繁忙一段时间,因为它的计算取决于行数和增量。我建议您尝试一些非生产性的实验,以了解这将花费您多少工作和时间。