我构建了一个需要使用源数据库中的数据的应用程序。源数据库有几个问题,包括:
我想设置一个特定于应用程序的SQL Server数据库。新数据库将填充来自源数据库(以及其他一些源系统)的数据子集。数据将始终从源数据库单向移动到特定于应用程序的数据库(即 - 数据不会同步回源)。它将具有与源数据库不同的DDL模型。 数据不需要绝对实时同步,但任何超过几分钟的延迟都可能导致问题。 如何将数据从源数据库移动到应用程序数据库中?我应该使用
每个人的利弊?
答案 0 :(得分:0)
听起来像你不需要像NServiceBus这样的消息服务 - 这将涉及修改遗留系统,以便在数据发生变化时发布事件,我希望你不想进入。因为在您的情况下您的本地数据存储稍微过时是可以接受的,所以可以接受SSIS包。
但是,如果源数据库非常大,这可能是一个问题,因为您将每隔几分钟执行一次。此外,如果旧系统的用户已经遇到性能问题,则每隔几分钟运行一次的SSIS包将无济于事。也许您可以引入源数据的时间戳,以便它只复制新的/修改过的数据?
如果源数据非常大并且性能严重问题,那么NServiceBus可能是个好主意。您还可以考虑使用Mass Transit或您自己的基于MSMQ的简单解决方案。但是,这意味着让您亲手处理遗留代码。