不同的版本指向相同的数据源(db) - 最佳实践

时间:2015-02-18 12:55:07

标签: .net database-design architecture application-design

只是想知道如果我有申请用于不同的国家,最佳做法是什么。可以通过单个Web服务访问数据源(db)。并非每个国家都会立即升级。所以我觉得问题可能是什么。当我更改添加新的cols / tables时,我将不得不更新服务,而以前的版本可能与此不兼容。什么是适应这些变化的最佳实践或最小努力。

2 个答案:

答案 0 :(得分:0)

答案实际上取决于您的要求,但如果您的数据模型位于Web服务后面,则应该难以管理此问题。

假设美国和英国使用两个不同版本的表(美国v1.0和英国1.1),Web服务返回美国和英国的其他特定数据,因此Web服务接收一个参数来查询返回正确的数据到美国或英国。

现在,如果您有此参数,则可以使用它将UK的请求指向具有新结构v1.1的表,但如果请求来自美国,则Web服务将指向视图仍然抱怨v1.1。因此,您的Web服务将向后兼容。

这只是一个想法,但我认为值得研究。您还可以隐藏视图后面的所有表格。

答案 1 :(得分:0)

我说它取决于细节。

如果更改相对较小,如果它们主要是添加新字段,那么它可能只是为新版本更新数据库。旧版本的软件可能适用于新的数据库架构。

但可能不是。您可能会创建视图,以便旧软件可以查看"模拟"架构过去看起来像什么。

你可以有一个"超数据层"在读取数据库的软件中,然后将打包在一组对象中的数据转发到旧版本,将另一组对象转发到新版本。

但坦率地说,我认为如果变化很大并且我有选择的话,那我就建两个数据库,而不是用它来玩游戏。