我正在为监控应用程序开发一个数据库,并且整理了所有业务逻辑。这一切都很好,但其中一个要求是监控数据完全是独立的。
我在我的网络服务器上使用本地数据库来做一些事件处理和缓存通知。由于我的监视器数据库上每个系统都有一个事件行,因此只需获取id并查询监视数据(如果需要),并且由于这只是我的Web服务器使用的,因此可以在外部强制执行完整性。查询也不是问题,因为所有关系都是一对一的,所以它非常直接。
我的问题来自用户管理。我最初的计划是将它放在另一个数据库上(为了满足单独放置监控数据库的要求),但是当我想到这一点时,我认为我没有想到。我可以很容易地获得用户可以访问的系统的所有ID,但是如何才能有效地将其传递给其他数据库上的查询?这有解决方案吗?制作一系列ors似乎是一个丑陋且错误的解决方案。
我认为这种问题并不常见?大多数开发人员在必须集成不同数据库服务器时会做些什么?在任何情况下,我倾向于只是与我的雇主谈论将用户管理数据放在同一个数据库中,但我想知道是否可以这样做。
答案 0 :(得分:3)
有几种方法可以实现您的目标:
使用链接服务器(SQL Server - http://msdn.microsoft.com/en-us/library/ms188279.aspx)
驱动数据库层的前端中的各个连接字符串
使用复制之类的东西复制数据
此外,单个数据库服务器实例上的多个数据库的概念似乎不会违反您的业务要求,我将此作为起点进行调查,并提供您提供的详细信息。