《数据虚拟化:商务智能系统的数据架构与管理》一 1.13 数据虚拟化的历史

简介: 本节书摘来自华章出版社《数据虚拟化:商务智能系统的数据架构与管理》一 书中的第1章,第1.13节,作者:[荷]里克 F. 范德兰斯(Rick F. van der Lans),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.13 数据虚拟化的历史

术语数据虚拟化的历史相对较短。不清楚这一术语确切的创造时间。似乎是Eric Broughton在2005年发表的一篇论文中第一次使用它(见文献[12])。然而,它的概念、一些产品和研究比这早很多。
因为数据虚拟化产品在功能性上很丰富,所以有很多技术都促进了它们的发展。因此,为了展现一幅完整的历史画面,我们需要介绍分布式数据库、数据联合、XSLT和XQuery以及插件的历史。
分布式数据库:技术上来讲,数据虚拟化服务的关键特点之一是数据联合,数据联合可以有效地连接来自异构数据存储集的数据。数据联合技术第一次实现是在分布式数据库服务器中。在分布式数据库服务器中,多个独立的数据库服务器可以以一个单独的逻辑数据库工作。这就意味着数据使用者可以输入一个由不同的数据库服务器管理的多个表的连接查询。分布式数据库服务器的任务是使这些数据库看起来像是一个大的数据库。为了连接来自不同数据库服务器的数据,它们需要实现数据联合技术。
一个重要的方面是分布式连接需要尽可能高效地处理。当这些产品第一次发布时,网络相较于现在来说速度很慢,所以大多数研究都致力于最小化网络负载。20世纪80年代,第一批支持分布式连接的商业数据库服务器被推出,如Ingres、Oracle和Sybase。
大多数数据联合方面的初始研究都是由IBM在他们著名的开始于1979年的System R项目中完成的(见文献[13]和文献[14])。另一个对分布式查询有重大贡献的项目是Ingres项目,它最终带来称为Ingres的开源SQL数据库服务,现在由Actian公司发行。System R是IBM的 System R项目的一个后续项目。后者是SQL的出生地。最终,System R促成了大多数IBM商业SQL数据库服务的开发,包括SQL/DS和DB2。System R*项目始于1979年。该项目的目标是实现一个分布式数据库服务。想了解更多关于这些项目的信息,请参见文献[15]。
一开始,大多数研究和开发的重点在于优化同类数据存储环境中的访问,例如,所有数据存储都将是DB2、Ingres或Oracle数据库。后来,产品允许异构环境中的分布式联合,它涉及其他以SQL为基础或与SQL相似的数据库服务。所以第一个分布式数据库是第一个支持数据联合技术的产品,并且现今数据虚拟化产品都很大程度上继承这项技术。
数据联合服务:第一个可以宣称为专用数据联合服务的产品是IBM的DataJoiner和Information Builders的EDA/SQL(Enterprise Data Access,企业数据访问)。前者是在20世纪90年代早期引进的,而后者是在1991年引进的。这两个产品都不是数据库服务,但主要都用来集成来自不同数据源的数据。除了可以访问大多数SQL数据库服务,这些也是可以访问非SQL数据库的第一批产品。这两个产品已经成熟化且经历过几次名称改动。在成为IBM DB2 Information Integrator的一部分之后,DataJoiner目前被叫作IBM InfoSphere Federation Server,而EDA/SQL被重命名为iWay Data Hub,并且是Information Builders的 Enterprise Information Integration Suite的一部分。
XSLT:由于XML的成功,越来越多的组织机构和网上的数据都可以以XML文件的形式使用。为了转换XML文件的结构,一门叫作XSLT的标准语言在2000年被发明出来。这种语言由W3C标准化组织管理。它是一门执行转换的强大语言。这些年,XSLT已经被许多供应商在多个产品中实现。所有这些实现使XSLT成为一门成熟的技术。
因为数据虚拟化服务需要有能力去操纵被XML组织的数据,所以需要一门语言来平滑XML文件的层次结构并且指定层次结构到关系表。XSLT对于这个要求再适合不过了。所以数据虚拟化的历史和XSLT的历史也有关联。再者,数据虚拟化受益于所有关于这个领域的研究和开发工作。
XQuery:2001年,第一个XQuery标准的工作草本被推出。XQuery是一门查询性和功能性编程语言,用于查询、插入、更新和删除XML文件集合。在许多其他事件中,它可以连接XML文件、提取文件元素、选择文件并且连接关系数据和XML数据。相比于XSLT,XQuery是一种更强大的查询语言,至于在功能性方面,更是比得上SQL。要想获取更多XQuery的描述,请参见文献[16]。
和XSLT一样,XQuery标准是由W3C组织管理的。值得注意的是,XQuery的主要设计者之一是Donald Chamberlin,他也是SQL的两位主要设计者之一。如今,大部分SQL数据库服务器自然地支持XQuery语言。例如,IBM的DB2、Oracle和微软的SQL服务器都可以处理XQuery语句。所有用于合并SQL和XQuery的研究和开发都能被数据虚拟化供应商利用。
插件:互联网是一个富有有价值数据的宝藏。不幸的是,大部分数据无法以一种结构化的形式被利用,大部分数据不能以SQL数据库中的数据访问方式来访问。大部分数据都隐藏(并且有时是深度隐藏)在HTML页面里。例如,航班的价格可以在航空公司的网站上找到,天气相关的数据可以在各种各样的天气网站上找到,但是以一种程序化的方式从这些页面中获取信息不是一件容易的事。我们必须操作这些页面才能得到正确的数据。这不是简单地向这些网站发送SQL或XQuery语句就可以的。
插件是基于网络的应用程序,它们访问来自互联网不同资源里的数据,然后将它们结合到一个应用里。例如,一个插件可能将来自一个网站的犯罪数和Google的地图相结合。为了能够开发这种类型的应用,这些工具的供应商需要一种技术能以一种高效强健的方式来操作网页。这些工具应该能够理解HTML页面里使用的所有语言,包括脚本语言。而插件工具恰好能做这些。
开发插件专用工具的供应商已经花费了大量投资,使得操作过程尽可能像岩石一样坚硬可靠。数据虚拟化服务同样应该能够从这些网站里提取数据,因而可以从这个领域里的所有开发和研究中受益。事实上,提供数据虚拟化技术的公司至少有一家应该具有插件技术的背景,这也是他们公司初始的技术。
如文所述,早在20世纪90年代第一批数据虚拟化产品由IBM和Information Builders推出,在那时也叫作数据联合产品。2000年以后,更多供应商进入市场。例如,Composite Data Virtualization Platform和Denodo Platform的第一个版本都在2002年发布。MetaMatrix,在1999年成立,被Red Hat收购,他们在2011年以开源的方式发布MetaMatrix产品。2010年左右,更多产品被推出,包括Informatica Data Services和Queplix Virtual Data Manager。
在很长一段时间内,数据虚拟化不被大多数组织机构当作战略上的技术。它早先被当作一种处理特殊技术问题的技术。它没有被当作一种使得信息系统更灵活的技术,而是纯粹被当作一种没有清晰商业利益的技术解决方案。2008年左右,这完全改变了。商务智能专家以独特的眼光开始发现数据虚拟化的潜在价值。他们寻找一种新的、更敏捷的方式进行数据集成,除了ETL,他们又发现了数据虚拟化。如今,数据虚拟化已经变成了主流技术;它被看成数据集成的一种有价值的选择方案。其产品已经达到了一定的成熟水平,这也帮助它被大众所接纳。

相关文章
|
5天前
|
虚拟化 芯片
minos 2.3 中断虚拟化——GICv2 管理
硬件肯定需要软件配合,这一节就来实战 GICv2 首先准备好 GICv2 手册:https://developer.arm.com/documentation/ihi0048/bb/?lang=en,对于硬件的管理,最底层的操作就是读写硬件的寄存器,所以这里准备好手册,随时查阅手册
13 5
minos 2.3 中断虚拟化——GICv2 管理
|
9天前
|
前端开发 安全 Linux
【虚拟化】典型虚拟化系统
【虚拟化】典型虚拟化系统
14 0
|
9天前
|
监控 安全 调度
【虚拟化】系统虚拟化的主要功能和分类
【虚拟化】系统虚拟化的主要功能和分类
20 0
|
9天前
|
Linux KVM 虚拟化
系统虚拟化基本概念与发展历史和趋势展望
系统虚拟化基本概念与发展历史和趋势展望
26 0
|
29天前
|
存储 安全 虚拟化
【专栏】虚拟化技术将物理资源转化为虚拟资源,提高资源利用率和系统灵活性。
【4月更文挑战第28天】虚拟化技术将物理资源转化为虚拟资源,提高资源利用率和系统灵活性。通过服务器、存储和网络虚拟化,实现数据中心管理优化、云计算基础构建、企业IT成本降低及科研教育领域创新。尽管面临性能、安全挑战,但技术融合与创新、行业标准制定和可持续发展将推动虚拟化技术未来发展,为各领域带来更多可能性。
|
29天前
|
Linux Shell KVM
Kali系统基于qemu虚拟化运行img镜像文件
QEMU是一个由Fabrice Bellard创建的开源虚拟化器,能在多种平台上运行,如x86、ARM、PowerPC。它支持硬件仿真和虚拟化,允许在宿主系统上运行不同架构和OS,如Windows、Linux。QEMU特点包括硬件仿真、虚拟化支持(与KVM配合)、磁盘和网络仿真、快照及回滚功能。此外,文档还展示了在Kali Linux中安装和配置QEMU的步骤,包括下载、内存设置、源更新、软件安装、创建桥接脚本以及启动和管理虚拟机。
51 1
Kali系统基于qemu虚拟化运行img镜像文件
|
10月前
|
虚拟化
虚拟化——成功解决使用ovirt安装虚拟机系统时不能正常引导安装
虚拟化——成功解决使用ovirt安装虚拟机系统时不能正常引导安装
|
11月前
|
存储 虚拟化
VMware ESXI虚拟化安装win10系统
VMware ESXI虚拟化安装win10系统
490 1
|
12月前
|
XML Shell API
【KVM虚拟化】· virsh管理命令
【KVM虚拟化】· virsh管理命令
272 0
|
存储 运维 Kubernetes
CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理
CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理
CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理