分布式配置中表内的外键关系

时间:2010-09-28 04:00:09

标签: c# sql-server-2008 database-design

  • 所有服务器上的架构都相同。

  • 各个服务器的数据不应该在另一个

    但是有些关系具有不在当前服务器上的数据的外键

    目前无法跨服务器实施外键约束

    "then how is it handled in a distributed database architecture!? (there are foreign keys!!)"
    

初步了解核心问题请参考

how to make foreign key relationship on physically distributed data?

1 个答案:

答案 0 :(得分:1)

简单的答案 - 你不能。您尝试做的事情听起来像Sharding。您是否可以更改在每个服务器之间对数据进行分区的方式,以便相关数据始终位于同一服务器上,并且您永远不会将外键关系与另一个服务器问题结束。

除此之外,听起来你的设计有缺陷。试图以这种方式使用数据库是行不通的。我建议退一步看看你是否可以改变你的设计以使用复制或分片。

如果不了解更多问题域,很难提出进一步的建议。但是,根据您的问题域,您可能希望超越关系数据库 - 查看NoSQL article on Wikipedia作为起点。