且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《数据虚拟化:商务智能系统的数据架构与管理》一 1.8 数据虚拟化的不同实现

更新时间:2022-05-20 07:24:41

1.8 数据虚拟化的不同实现

技术上来说,许多不同的方式都可以实现数据虚拟化层。以下是一些例子:
使用专用的数据虚拟化服务器,多个数据存储器看起来只是一个。应用程序只看见一个大的数据存储器,然而实际上数据存储在多个存储器中。
一个企业服务总线(ESB)可以用来开发一个允许对数据标准访问的服务层。调用这些服务的数据使用者不需要知道数据在哪里、怎样被保存、它的存储结构、它的原始资源接口或者其他技术细节。他们只会看见,例如,一个SOAP接口或一个ReST(表述性状态转移)接口。在这种情况下,ESB是数据虚拟化层。想要了解更多关于ESB的信息,见文献[11]。
把数据存储放到云中也是数据虚拟化的一种形式。访问一个数据存储时,数据使用者使用云API工作,它们并不知道数据本身存在哪里。数据的存储和管理是在本地还是远程是完全透明的。
在某种程度上,使用从多个物理数据库中加载出来的数据,在存储器中建立一个虚拟的数据库,同样可以被认为是数据虚拟化。真实数据的存储器结构、应用程序编程接口和位置对于访问内存数据库的应用程序来说都是透明的。这种解决方案有时被当作内存分析。
对象关系映射器(ORM)是工具,是用来将数据结构从数据存储转换到面向对象编程模型中使用的概念,如Java和C#。例如,ORM可以将SQL数据库的平台结构转换成Java中使用的面向对象的概念。这种影响使Java程序员不需要理解和处理SQL概念的特征,而只需要理解和处理Java概念。Hibernate、NHibernate和iBATIS都是ORM的例子。
组织机构同样也可以开发他们自己的数据虚拟化层,隐藏数据的存储位置和存储方式。
还存在很多开发数据虚拟化层的方法,但是因为这本书主要针对商务智能系统,所以重点是第一个方法:数据虚拟化服务器。数据虚拟化服务器是一个设计用来支持数据虚拟化的专用产品,这意味着它可以将多个异构数据存储成一个单独的逻辑存储展现给数据使用者。访问数据虚拟化服务器与登录数据库服务器很相似。在数据使用者不知道的情况下,来自不同数据存储器(甚至来自使用不同存储模型的数据存储器中)的数据连接在一起,数据被转换、清洗、聚集,等等。
本书主要关注数据虚拟化服务器的原因是,本质上这些产品已经被优化去处理大数据集,而不仅仅为了记录而记录加工过程,同时它们被设计来处理SQL查询。同时满足典型的商务智能报告和工具的要求。但是注意它们大部分可以部署在其他类型的环境中,例如面向服务的体系结构(见第9章)、消费者数据集成应用和网络应用。