服务之间数据的引用完整性



在SOA中,我一直对处理来自不同数据库甚至不同服务的数据的服务如何具有引用完整性感到困惑,以便跨数据库或服务复制最少的数据。

例如,您在某种身份验证数据库中有一个用户表,并且您希望在另一个数据库中重用此用户信息。您还希望强制该用户的记录存在于身份验证数据库中。假设您要将身份验证数据库中的用户帐户与另一个数据库中的新闻文章相关联。这是怎么做到的?您将如何使用LDAP之类的东西来做到这一点?

如果身份验证信息包含在同一个数据库中,只是不同的表,那么我可以看到如何使用外键在新闻文章和用户帐户之间创建关联。

我一直在努力寻找有关这个问题的答案,但我一定使用了错误的短语,因为我没有想出任何有用的东西。

有些平台允许数据库之间的外键约束,有些则不允许。 如果需要数据库之间的引用完整性,则需要选择一个支持它的平台。规范化 - 一个不同的问题 - 从不说"将这些列移动到其他数据库"。

在多租户数据库中,通常会选择不同的体系结构。(您通常不会将所有用户的身份验证放在一个数据库中,而将他们经过身份验证以便在另一个数据库中使用的内容放在一个数据库中。

浏览标记为"多租户"的问题;这可能是一个对您有所帮助的术语。MSDN有一个相当好的鸟瞰图。