|
|
1
4
实际上,SQLServer2005(和2008)中内置了一种技术,旨在解决此类问题。 Service Broker (我将进一步称为SSB)。问题是它的学习曲线非常陡峭。 我知道MySpace公开了如何使用SSB管理他们的SQL服务器园区: MySpace Uses SQL Server Service Broker to Protect Integrity of 1 Petabyte of Data . 我知道还有几个(主要的)网站使用类似的模式,但不幸的是,它们还没有公开,所以我无法引用它们的名字。我个人参与了一些与此技术相关的项目(我曾是SQLServer团队的成员)。 现在请记住,SSB不像复制那样是一种专用的数据传输技术。因此,您将找不到任何类似于发布向导和复制的简单部署选项的内容(检查一个表,它就会被传输)。SSB是一种可靠的消息传递技术,因此其原语停留在消息交换级别,您必须编写利用 data change capture ,将其打包为消息,并将消息解包到目的地的关系表中。 logical routes 应用程序可以动态地将APT添加到新拓扑中。SSB还能够适应长时间的断开连接和停机,能够在断开连接数小时、数天甚至数月后恢复数据流。通过引擎集成(SSB是SQL引擎本身的一部分,不是卫星应用程序和复制等过程的集合)实现的高troughput意味着积压的更改可以在合理的时间内完成(我知道有些站点正在经历半个月) 一百万 每分钟交易量)。SSB应用程序通常依赖于 internal Activation 处理输入数据。SSB还具有一些独特的功能,如内置 load balancing (通过路由)具有粘性会话语义,支持 deadlock free application specific correlated processing , priority data 交付,对数据库镜像的特定支持, certificate based authentication 对于跨域操作,内置 persisted timers 还有更多。 这不是“如何将数据从服务器a上的表T移动到服务器B”的具体答案。更像是一种关于如何“在服务器a和服务器B之间交换数据”的通用技术。 |
|
2
1
您的客户机系统将保留数据库的本地副本,并在特定日期/时间后定期请求所有数据库修改。然后在本地数据库上执行这些修改,它将再次更新。
这将如何执行取决于后端数据库上的修改数量。但是,如果您每15分钟请求一次更改,那么每次不应该有那么多数据。 但是,我从来没有机会在实际应用中解决这个问题,所以这对我来说仍然是一个理论原则。 看起来很快,但需要做很多工作。 |
|
|
3
1
:编写应用程序以使用行级事务传输数据。这可能需要更长的时间,但不会导致使用数据的站点中断,因为在读取之前和之后都有行,只有新数据。此处理将在单独的服务器上进行,以最小化负载。
在sql server 2008中,可以设置
但基本上,这个应用程序所做的就是从一个数据库读取新数据,然后再读取到另一个数据库中。 选择2 :将数据(表或整个数据库)从聚合服务器移动到前端服务器。如果可能的话,将其自动化。然后切换web应用程序以指向新的数据库或表,以备将来的请求。这是可行的,但需要对web应用程序进行控制,而您可能没有。
选择4 :您可能可以使用类似服务器的字节级复制。这听起来很可怕。这基本上是将服务器从A点复制到B点,精确到字节。它主要用于DR情况,听起来可能是某种DR情况,但不是真正的DR情况。 备选案文5 |
|
|
nickolakis · 基于R中的列名复制列 3 年前 |
|
|
imbrian21 · Cassandra中的复制时间 8 年前 |
|
|
user3198603 · Mongo是否在异步模式下提供一致性? 8 年前 |
|
|
Mustermann · mariadb:中继日志写入失败 8 年前 |
|
CycleGeek · Postgresql 9.6复制建议 8 年前 |
|
|
VladislavLysov · SolrCloud索引复制 10 年前 |