【问题标题】:Referential Integrity of Data Between Services服务间数据的参照完整性
【发布时间】:2023-12-04 15:34:02
【问题描述】:

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

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

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

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

【问题讨论】:

  • 参照完整性和数据库规范化不是一回事。但是您似乎可以互换使用这些术语。

标签: database database-design service soa


【解决方案1】:

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

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

浏览标记为“多租户”的问题;这可能是一个对您有帮助的术语。 MSDN的鸟瞰图还不错。

【讨论】:

    最近更新 更多