我正在设计一个系统,该系统将用于为全国多个生产站点提供数据(所有信息都在一个站点中),并有可能添加更多。最初我认为我可以只使用一个数据库就可以逃脱。我现在正在重新考虑我的原始设计并倾向于一个更具可扩展性的解决方案。保持每个数据库/表的大小也很重要。
将有一个“主”数据库,其中包含跨越站点概念的信息,然后为每个站点创建一个单独的数据库,其中包含特定于站点的信息。
我的斗争是在哪里分离数据。这些数据都是相当相关的。无论我在哪里做,我都会失去一些参照完整性。我读到的所有内容都说要不惜一切代价避免这种情况,因为我认为这是非常好的理由,但我看不到解决办法。
我已经研究过触发器,但如果数据库位于不同的服务器上,我认为它们不会起作用(虽然不确定——我认为 Oracle 会这样做)。我仅限于开源解决方案,因此如果有帮助的话,它将是 MySQL 或 postgre。
有没有人有一些建议来缓解这个问题或有其他设计建议?