我们的应用程序使用每天更新一次的大型产品数据库。更新需要大量时间和资源。这就是为什么我们更新产品数据库的备份并在更新完成后切换到它。
现在在数据库之间切换的唯一方法是滥用我们的负载均衡器。 应用程序始终使用相同的ip来访问数据库服务器。负载均衡器决定如何解析此IP:更新后,它使用更新服务器的IP。
这是一个可怕的黑客。有没有什么好方法可以在数据库之间切换?
答案 0 :(得分:2)
听起来你只是从数据库中读取。如果是这种情况,请查看SQL Server 2005的快照功能。您可以拥有数据库的只读快照,并像查询常规数据库一样进行查询。
指向固定的快照名称,而不是指向您的实时数据库,如ReadOnlyCopy。在实时数据库中执行正常加载,并在加载完成后,删除快照并再次执行。快照过程非常快。
这也有一些其他优点:
以下是Simple Talk的一篇很好的文章,解释了2005年快照的概念:
http://www.simple-talk.com/sql/database-administration/sql-server-2005-snapshots/
答案 1 :(得分:0)
一些不同的选择:
1)修改应用程序连接的数据库。在两者之间来回切换。
2)处理并更新到暂存数据库,然后将更改复制到您的实时数据库。