我们有一个hr系统,用于保存员工数据并拥有许多使用此数据的远程数据库。目前,我们使用混合方法将数据定期复制到远程数据库,并在运行时使用视图提取数据。我很好奇你认为哪种选择最好。我个人的偏好是定期复制数据,因为它从主数据库中删除了依赖关系。然而,它似乎有利有弊
这是最好的做法吗?
由于
p.s我们混合使用sql2000,2005和s008服务器
答案 0 :(得分:0)
部分答案取决于使用HR数据的其他系统可接受的延迟级别。有一天落后好吗?一小时?或者它需要是最新的吗?
每个实例都可能导致不同的解决方案。
我更喜欢数据拉取而不是推送。远程决定何时需要其数据,您可以将所有逻辑封装在它所属的服务器上。在推送中,您必须使HR服务器上的进程与子系统的需求保持同步。
我对多个远程数据库直接查询源系统有所保留。如果某些延迟不是问题,请在HR系统上构建一个进程,将所需数据快照到一些本地表(或数据仓库?)中,并让所有远程数据库查询此数据。至少,针对HR源构建本地视图,并且仅允许远程服务器对这些视图的权限。
您是否在链接服务器上执行此操作?如果是这样,我建议在遥控器上创建指向链接上的HR源的同义词。这将允许您移动源数据位置,只需更改同义词定义。