0

如果您有另一个应用程序使用现有数据库的数据并且需要更多数据,并且您不想更改现有数据库的架构,您该怎么做?

我的问题背景:我们使用 IBM 产品(连接)来存储用户配置文件。但是我们有很多自定义需求(很多自定义字段和逻辑),所以目前我们在 Connections 的后端数据库中创建了更多的表、视图和函数来存储自定义数据。但是,由于它是 IBM 的内部数据库,我们不应该接触它,所以当我们升级 Connections 时,我们所有的自定义表、视图和函数都消失了。

所以我们决定搬出我们定制的东西。但问题是我们仍然需要加入来自 Connections 的数据。(或者不是数据库连接,只是在呈现给用户之前与数据集成的其他方式。)

如果我们在自己的数据库中创建联邦表,我们可以像以前一样创建表和视图。但它会有性能问题吗?而且我们仍将严重依赖 IBM 的架构,并且必须假设他们不会更改它。这是一个好方法吗?

我们可以考虑的其他选择是什么?

4

1 回答 1

0

如果我们在自己的数据库中创建联邦表,我们可以像以前一样创建表和视图。但它会有性能问题吗?

大概。您的应用程序代码必须在 IBM 数据库表和您的数据库表之间进行连接。

我假设 Connections 使用 DB2。如果您启动自己的 DB2 数据库,我认为您可以在两个单独的 DB2 数据库之间进行 SQL 连接。

无论哪种方式,此代码都应驻留在由数据访问对象组成的单独数据访问包中。您的其余应用程序将使用数据访问包。

而且我们仍将严重依赖 IBM 的架构,并且必须假设他们不会更改它。

IBM 将更改他们的架构,您必须计划对您的数据库和/或应用程序进行相应的更改。

我们可以考虑的其他选择是什么?

您可以将 IBM 数据从他们的数据库复制到您的数据库。当 IBM 模式表定义更改时,您仍然必须更改复制过程。

于 2013-07-18T13:22:03.513 回答