Teiid 基于数据联邦的集成方案

虚拟数据库(Virtual Database–VDB) 是将一个或多个物理数据源组合起来以提供更简单的数据集成解决方案,它提供了包含组件的容器,这些组件用来集成不同数据源的数据,并通过一致的 API 来访问它们。这些物理数据源包括: JDBC 数据源、CSV 文本文件、数据表,甚至可以是 Web services。这种技术被称为是“数据联邦” -Data federation。数据联邦技术提供了一种为数据提供抽象的数据接口的能力。这些多个数据源组成的虚拟视图可以使数据消费者(应用)不需要知道数据的物理位置、数据结构和保存方式。

与其它数据集成技术相比,数据联邦技术的明显优势在于获取数据的方便性和实时性。现在很多企业都在实现 SOA,SOA 的灵活性和敏捷性要求组织提供数据时应该具有更少的时延。以前的利用批量任务或者 ETL 的方式创建数据集市和数据仓库的方式的实时性都不太好,在很多应用场景中被数据联邦技术所取代。

但是数据联邦技术访问数据是通过一个“联邦”视图(federation view)来实现的,视图是实时的。随着企业数据量的增大,性能问题是所有数据集成(Data Integration tools)都面临的问题,但是由于设计上的根本缺陷,数据联邦在这方面虽有很大进展,但是仍无法和另外一些数据集成技术相比。这种缺点制约了它在数据集成领域的适用性,虽然很多领域都使用了数据联邦技术,但是在关键的核心业务系统它的应用非常少。

Teiid 基于数据联邦的集成方案

图1-1 数据联邦

目前已实施数据联邦项目的特点如下:使用简单的有限的数据源,数据结果集不大,只读性的数据访问,数据质量要求简单。比较典型数据联邦产品有:BEA 的 AquaLogic Data Services Platform、IBM 公司的 Federation Server、Software AG 公司的 Enterprise Information Integration、Sybase 的 DataFederation 以及 Red Hat 公司的 JBoss MetaMatrix,其开源实现即 Teiid。

什么是 Teiid?Teiid 是一个数据虚拟化系统,由工具、组件、和服务组成,用于创建和执行双向数据服务,它提供了针对虚拟数据库(VDB)执行查询的运行时,使应用程序能够使用来自多个异构存储的数据。通过抽象和联邦技术,实现分布式数据源的实时数据访问和集成,无需从记录系统中复制或移动数据。利用 Teiid, 用户可以用设计器或者动态 VDB 等功能来创建 VDB,然后以联邦方式来访问数据了。如图 1-2。

Teiid 基于数据联邦的集成方案

图1-2 Teiid 运行时

Teiid 中的模型在计算机科学中,模型是信息结构集合的表现形式。常见的模型有关系模式,它定位了由列和数据记录构成的表格。另一种常见的模型是 XML 模型, 它定义了层级的数据集合。在 Teiid 虚拟数据库也有模型的概念,模型被定义为实体和实体之间的关系,实体代表着被集成且暴露给应用的信息,必须被完整地定义。

在 Teiid 中使用两大类模型 — 源模型(Source Model) 和视图模型 (View Model)。所谓源模型定义了数据源所包含的信息的结构化和数据特征。Teiid 将源模型中的信息映射到不同数据源中的信息,从用户的角度上看,就如同单一的数据源一样。

在源模型之外,Teiid 还提供了定义视图模型的功能。视图是模型之间的变,通过视图模型可以在物理层之上再定义一个抽象层,因此呈现给用户的信息可以更贴近商业需要,而不是其原始的物理存储。这些商业视图可以以多种形式呈现:关系型、XML 或 Web Services 等等。

总之,源模型表示的是物理数据源的结构和特征,而视图模型则表达的是要呈现给应用的抽象数据结构的结构与特征。

Teiid 基于数据联邦的集成方案

图1-2 虚拟数据库内部

模型必须处于有效状态,这样 VDB 才能将之用于数据访问。对单个模型的验证意味着该模型必须是处于自洽(self-consistent)和完整状态,也就是该模型无任何缺失或引用不存在的实体。对多个模型的验证将会检查所有内部模型的依赖是存在且可分解的。

Teiid 的组件

Teiid 包括以下组件:

查询引擎(Teiid Query Engine):Teiid 的核心是一个高性能的查询引擎,处理来自联邦数据源的关系型、XML、XQuery 和(存储)过程型的查询,支持同构模式(homogenous schema)、异构模式(hetrogenous schema)、事务(transaction)和用户定义函数(user defined function)。

虚拟数据库

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16049.html