1、白皮书数据虚拟化与 ETLDenodo 架构概要常有客户问及,“何时该使用数据虚拟化,何时又该使用 ETL 工具?”类似的问题还有“数据虚拟化是否要取代 ETL?”或是“我已经有了 ETL,为何还需要实施数据虚拟化?”这些问题都将在本 Denodo 架构概要中得到解答。白皮书摘要03数据虚拟化06数据虚拟化适合何种用途?/7受益于数据虚拟化的应用程序/7规划数据虚拟化项目/9ETL(提取、转换和加载)10ETL 适合何种用途?/10受益于 ETL 的应用程序/11规划您的 ETL 项目/11借助数据虚拟化扩展 ETL/EDW12借助新数据源扩展现有数据仓库/12联合多个数据仓库/12充当虚拟数
2、据源以增强 ETL 流程/13将应用程序与底层数据源的更改隔离开来/14结语14数据虚拟化与 ETL3摘要数据虚拟化和 ETL(提取、转换和加载)提供了用于访问、集成和交付数据的不同功能。二者就某些特定场景所用的方法各有优劣,但对任何组织的数据集成工具集都是有益的补充。通常而言,数据虚拟化比 ETL 更为敏捷、灵活、通用且更具成本效益。因此取舍并不困难,要点在于,宜用数据虚拟化方法便不用 ETL。然而,界定何为“宜用”未必如预期那样简单明确,最可靠的答案是“取决于特定项目的实际情况和项目的限制因素”。尺有所短,寸有所长,ETL 在某些方面占优,而在某些方面则略逊一筹。同样地,数据虚拟化在不少领
3、域表现出色,在另外一些情境中则并非最佳解决方案。ETL 解决方案适合最终会将数据从原始数据源复制到企业数据仓库(EDW)或新数据库中的物理数据整合项目,包括:ETL 工具旨在从大型结构化数据源批量复制包含数百万行的超大数据集。创建数据历史记录,例如在特定时间的快照,以分析数据集如何随时间而变化。执行复杂的多遍数据转换和清洗操作,并将数据批量加载到目标数据存储中。不过,应用程序若使用结果型数据存储中的数据,就相当于是在处理上次 ETL 操作期间的老旧数据,可能是前一日结束时 ETL 操作中的数据。如果应用程序用于执行数据挖掘或历史分析,旨在支持战略规划或长期绩效管理,这样或许尚能接受;但若是应用
4、程序用来提供运营决策支持、管理库存水平或者需要使用数据的当日更新,这种情况未免不尽如人意。反观数据虚拟化,该解决方案可以面向不同格式的数据使用应用程序,抽象化、联合及发布各类数据源。如此就能够简化并加快访问、组合及利用这些不同数据源的过程,还可为数据使用应用程序隐去不同数据源的复杂性。数据虚拟化侧重于跨各种数据源创建统一的通用数据模型,而非将数据高效地从数据源转移至数据仓库。数据虚拟化平台会创建底层数据源的逻辑视图,这些数据源可能是结构化、半结构化数据(例如互联网、社交媒体、PDF 文件、分隔文件等中的数据),也可能是电子邮件或文档中的非结构化数据-向数据使用应用程序隐藏访问这些数据的复杂过程
5、。上述逻辑视图可以经过组合与丰富,生成“业务”视图(也称为“派生视图”),随后作为数据服务,面向多种格式的数据使用应用程序公开,比如 SQL、Web 服务(SOAP/XML 和 RESTful)、门户组件、SharePoint Web 部件、JMS 消息队列等。数据虚拟化与 ETL 的不同之处还在于,数据虚拟化仍将数据保留在原始数据源中。当应用程序通过查询数据服务来请求数据时,虚拟化平台会实时查询底层数据源,并在将结果汇总归并后再返回至应用程序。这一点是两种解决方案之间非常重要的区别-数据虚拟化将源数据保留在原处,并委托源系统执行查询;而 ETL 从源系统复制数据并将复制的数据存储在重复数据存
6、储中。从商业智能的角度来看,数据虚拟化层在现有数据仓库、数据库及其他数据源之上创建了灵活而易于修改和管理的“逻辑数据仓库”。从应用程序开发和运营的角度来看,数据虚拟化层可以视为用途非常广泛的“共享数据服务 层”,用于将保留数据的物理基础架构与使用数据的应用程序分离开来,从而大大简化 IT 部门中的数据配置作业。数据虚拟化与 ETL4针对底层数据源提供虚拟视图还可令数据虚拟化在添加新数据源和更改底层逻辑数据模型时更为灵活。数据虚拟化支持快速开发迭代,并且每一次迭代(例如每周或每两周)都能对解决方案的价值加以提升。这与典型 ETL/EDW 项目完全不同,后者需要进行数月的前期规划和数据建模,然后才