0

我们使用基于云的系统来处理患者数据。该系统日志的供应商提供了一份他们的 SQL 数据库副本以供使用,我们在本地恢复它,以便我们进行报告。这些本地表被锁定并设置为只读。我们无法控制它。

现在是有趣的部分。我们将创建另一家隶属于我们的公司。基于云的供应商不能在同一个数据库上合并两家公司。这意味着我们将获得该新公司数据库的第二套副本。希望它们包含相同的物理布局,但根据我与供应商的经验,情况并非如此。

到目前为止,我们将 DB #1 称为“CompanyA” DB #2 称为“CompanyB”

它们的结构将是“相同的”。所以我们可以很容易地在两个数据库的对象之间进行联合。

出于报告目的,供应商建议我们使用他们的慢速定制视图。因此,无论我们用这些视图编写的任何代码,如果它们对其系统的内部表进行更改,它都不会中断。他们不索引视图,因此创建一个外部视图,在 CompanyA 和 CompanyB 下联合相同的视图效率不高。

创建一个暂存过程以仅提取我们使用的对象(表/视图)的数据是另一种选择,但我不喜欢在我们的系统中拥有重复数据的想法。

我们可以购买像 Denodo 这样的系统来进行数据虚拟化。该系统允许我们创建特殊视图(虚拟表)并将我们的报告或 ETL 指向这些虚拟表。例如,我们的 ETL 只看到一个患者表,但在其下方是来自 CompanyA.Patients 和 CompanyB.Patients 的数据的组合。

我们的最终目标是拥有一个可扩展的流程,以防我们的组织决定继续将公司添加到我们的投资组合中并将它们集成到我们的系统中,这不像我们现在所面临的挑战。

所以这是我最后的问题: 1- SQL Server 是否具有在最新版本上创建虚拟表的功能?2-还有其他推荐吗?

4

0 回答 0