1.10 开放式与封闭式数据虚拟化服务器
很多可用的产品能提供一些数据虚拟化方式。有些产品是独立的,有些产品包含数据虚拟化技术。例如,各种各样的分析和报告工具都自带嵌入式数据虚拟化技术,如QlikTech的QlikView所能做的不仅仅是访问和集成存储在异构数据存储集中的数据。同样适用于SAP(卫星自动控制系统)或业务对象中的Universe概念,也可以被视作数据虚拟化技术,并且适用于IBM/Cognos、SAS和许多其他供应商的工具。然而,所有嵌入这些产品中的规范只能被它们自己的工具使用(或来自同一个供应商的工具),因此这些规范不能被共享。
技术上来讲,虽然这些数据虚拟化技术支持对异构数据存储集的访问,但是它通常只提供一个访问数据的API,特定工具需要这个API。因此,我们把它们称作封闭式数据虚拟化技术(见图1-8)。
开放式数据虚拟化服务器和封闭式数据虚拟化技术相似,可以访问很多不同的数据存储。然而,这两者之间的区别是开放式方法支持多个访问数据的API(如图1-9所示)。同样的数据可以通过如SQL的JDBC、SQL的ODBC、SOAP/XML和MDX访问。数据虚拟化服务器负责把数据存储支持的API和语言转换成数据使用者需要的那种。
由于支持多种API,许多来自不同供应商的不同工具都可以使用开放式数据虚拟化服务器。这样的好处就是进入数据虚拟化服务器中的元数据规范可以被共享。例如,如果我们定义北方销售区不包括华盛顿州,那么每一个能访问数据虚拟化服务器的工具都能使用同样的规范格式,不论是Excel、JasperSoft或SAS分析。这提高了环境的可维护性,同时也降低了使用不同工具的用户看到不一样结果的机会。