当您在您最喜欢的网站上搜索机票时,您的查询通常会被发送到数十个数据库以生成答案。当你搜索产品时Amazon.com,您将看到来自数千个供应商数据库的结果,这些数据库是在亚马逊存在之前开发的。你有没有想过这是怎么发生的?这一切背后的理论是什么?这些系统的核心是由模式映射提供了将所有这些数据库连接在一起的粘合剂。以下由ten Cate和Kolaitis撰写的论文将让您了解模式映射的理论基础,甚至可能激发您在该领域的工作。
我在这里提到的场景是需要访问多个异构数据集的数据管理应用程序的示例。数据集成是开发体系结构、系统、形式和算法的领域,用于组合来自多个数据源的数据,这些数据源可以是关系数据库、XML存储库或来自Web的数据。数据集成系统的目标是提供对源集合的统一访问,使用户不必查找单个源、了解它们的特定交互细节和手动组合数据。数据集成的工作跨越了计算机科学的多个领域,包括数据管理、人工智能系统和人机交互。由于协调由人类创建的多个数据模型所带来的挑战,以及我们从未期望完全自动地解决数据集成问题,该领域被戏称为“AI-complete”数据管理问题。
数据集成的挑战在实践中普遍存在。大型企业通常必须合并来自数百个存储库的数据,而科学家经常面临在他们的领域中创建的数据源数量的爆炸。Web提供了与数千万个独立开发的数据源进行数据集成的极端情况。幸运的是,数据集成在政府组织中也是一个普遍存在的问题,这使得有关该主题的研究源源不断。简单地说,数据集成是困难的,因为数据集是独立开发的,而且是为不同的目的而开发的。因此,不同的开发人员对数据的不同方面建模,使用不一致的术语,并对数据做出不同的假设。
数据集成系统有几种体系结构,根据应用程序的需要选择合适的体系结构。在某些情况下,可以在一个物理存储库中收集所有数据;在其他情况下,数据必须从源数据库交换到目标数据库。在其他情况下,组织边界或其他因素要求数据必须留在原始来源,相关数据的组合只能在响应查询时进行。无论使用何种体系结构,数据集成的核心都依赖于模式映射,模式映射指定如何在不同源之间转换术语(例如,表名和属性名)并关联不同的数据库组织。构建数据集成应用程序的大部分工作是构造模式映射并长期维护它们。构建映射困难的主要原因是,它需要理解源数据库和目标数据库的语义(这可能需要不止一个人),以及正式表达语义关系的能力(除了领域专家之外,可能还需要一个数据库专家)。关于在创建和调试模式映射方面提供帮助的研究有很多。
模式映射必须以某种逻辑形式编写。在最早的数据集成系统中,模式映射像普通视图定义一样编写(现在称为GAV映射),其中集成视图是在多个源的表上定义的。随着时间的推移,这种方法显然不能扩展到大量的源,因此开发了LAV映射。在LAV中,重点是描述单个源的内容,而不考虑其他源。LAV映射由一个通用推理引擎补充,该引擎在给定特定查询的情况下推断如何组合来自多个来源的数据。随着映射研究的进展,研究人员发现映射形式主义和约束语言(如元生成依赖关系)之间的密切关系。
虽然这些独立的语言的一些特性已经被很好地理解,但这篇论文第一次揭示了这些语言之间的关系。作者确定了映射的一般属性(这些属性与编写映射的形式无关),并展示了如何使用这些属性来描述可以表达映射的语言。除了提供了一些深刻的结果之外,我认为他们的论文值得仔细研究,因为它开辟了一个涉及数据集成系统表达能力的新的和令人兴奋的研究领域。
©2010 acm 0001-0782/10/0100 $10.00
允许为个人或课堂使用本作品的全部或部分制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或付费。
数字图书馆是由计算机协会出版的。版权所有©2010 ACM, Inc。
没有发现记录