《大数据集成(1)》一2.1 传统模式对齐:快速导览

简介:

本节书摘来自华章出版社《大数据集成(1)》一书中的第2章,第2.1节,作者 [美] 董欣(Xin Luna Dong)戴夫士·斯里瓦斯塔瓦(Divesh Srivastava),更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.1 传统模式对齐:快速导览

  模式对齐的传统方法包含三个步骤:创建一个中间模式、属性匹配和模式映射,如图2-1所示。

image

2.1.1 中间模式

  首先,创建一个中间模式为不同的数据源提供一个统一的虚拟视图并捕捉到领域的突出方面。大多数情况下,中间模式是人工创建的。对于给出的航班的例子,一种可能的中间模式如下所示:
  
image
image
 
  中间模式Mediate包含三张表:Flight表是航班信息;Fare表是机票信息;Airport表是机场信息。作为统一的视图,中间模式通常比每个模式包含更多的信息。例如,它包含机票和机场的信息,而这些在数据源Airline1、Airline2和Airport3中都不包括;另一方面,它又包含不存在于Airfare4数据源中的信息,如航班的实际出发和到达时间等信息。另外值得注意的是,中间模式并不包含每个数据源中的每项信息。例如,Airport3数据源提供了关于跑道的信息,而这并没被包括在中间模式中,因为这一信息很少被用户查询。

2.1.2 属性匹配

  接下来,每个数据源模式中的属性和中间模式中的相应属性进行匹配。很多情况下,属性匹配是一对一的,但有时中间模式中的一个属性可能对应数据源模式中的几个属性的组合,或反之。例如,Mediate.Airport表中的ACI、AST和ACO属性组合起来对应于AirInfo5.AirportCodes表中的AN属性。图2-2给出了从Airline1.Flight表到Mediate.Flight表的属性匹配的一个例子。

image

  研究者们已经提出了许多属性匹配的技术,利用属性名字、类型和值之间的相似度,以及属性间的近邻关系等。这方面的综述详见[Rahm and Bernstein 2001]和[Bellahsene et al. 2011]。

2.1.3 模式映射

  根据属性间相应的匹配可以建立每个数据源模式和中间模式之间的模式映射。这些映射说明了不同数据源内容之间的语义关系,被用来将中间模式上的一个用户查询转述成底层数据源上的一组查询。
  有三种类型的模式映射:全局视图global-as-view(GAV)、局部视图local-as-view(LAV)和全局局部视图global-local-as-view(GLAV)。GAV说明如何通过查询数据源模式来获得中间模式的数据,换句话说,中间模式的数据被视为源模式数据上的一个视图。LAV将源数据说明为中间模式数据的一个视图,该方法易于增加一个具有新模式的新数据源。最后,GLAV将中间模式数据和各数据源的数据都说明为一个虚拟模式的视图。
  例如,下表给出了中间模式和数据源Airline1之间的GAV映射和LAV映射。这些映射被表示为Datalog形式。GAV映射指出可以通过连接Airline1.Schedule表和Airline1.Flight表的Flight ID (FI)列来得到Mediate.Flight表中的属性值。LAV映射则指出可以通过在Mediate.Flight表中先选择Airline (AL)的值等于“Airline1”的所有元组,再投影得到Airline1.Schedule和Airline1.Flight中的属性值。
  
image
  
  根据属性匹配的结果半自动地建立模式映射的工具已经被研制出来了[Fagin et al. 2009]。在中间模式上提出的一个用户查询会根据模式映射被重新表述为在数据源模式上的查询[Halevy 2001]。

2.1.4 查询问答

  图2-3描绘了一个传统数据集成系统中的查询问答。
  用户通过表达中间模式上的查询来查找一个数据集成系统中底层的数据。例如,一个用户可以如下查询所有从EWR出发,到达SFO,并且票价低于$1?000的航班。
image

  然后系统根据中间模式和每个数据源模式之间的模式映射将查询重新表达为底层数据源之上的查询。例如上面的查询无法被数据源Airline1、Airline2和Airport3所回答,因为它们缺少关于票价的信息;但是它可以被重新表达为数据源Airfare4和Airinfo5之上的如下查询来回答。
  SELECT DISTINCT Fl.FI, Fl.FN, Fl.DD, A1.AC, . . .
  FROM Airfare4.Flight AS Fl, Airfare4.Fares AS Fa,
   Airinfo5.AirportCodes AS A1, Airinfo5.AirportCodes AS A2
  WHERE A1.AC=‘EWR’ AND A2.AC=‘SFO’
   AND A1.AN CONTAINS Fl.DA AND A2.AN CONTAINS Fl.AA
   AND Fl.FI = Fa.FI AND Fa.F < 1000
  
  最后,查询处理器在源数据上回答查询,并返回一组合并后的结果给用户。

相关文章
|
11月前
|
人工智能 安全 数据库
构建可扩展的 AI 应用:LangChain 与 MCP 服务的集成模式
本文以LangChain和文件系统服务器为例,详细介绍了MCP的配置、工具创建及调用流程,展现了其“即插即用”的模块化优势,为构建复杂AI应用提供了强大支持。
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
1236 6
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
580 2
|
消息中间件 监控 数据可视化
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
616 2
|
11月前
|
监控 Cloud Native Java
Spring Integration 企业集成模式技术详解与实践指南
本文档全面介绍 Spring Integration 框架的核心概念、架构设计和实际应用。作为 Spring 生态系统中的企业集成解决方案,Spring Integration 基于著名的 Enterprise Integration Patterns(EIP)提供了轻量级的消息驱动架构。本文将深入探讨其消息通道、端点、过滤器、转换器等核心组件,以及如何构建可靠的企业集成解决方案。
914 0
|
分布式计算 资源调度 大数据
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(一)
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(一)
524 0
|
分布式计算 资源调度 大数据
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(二)
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(二)
407 0
Java 大视界 -- Java 大数据在智能家居能源消耗模式分析与节能策略制定中的应用(198)
简介:本文探讨Java大数据技术在智能家居能源消耗分析与节能策略中的应用。通过数据采集、存储与智能分析,构建能耗模型,挖掘用电模式,制定设备调度策略,实现节能目标。结合实际案例,展示Java大数据在智能家居节能中的关键作用。
|
测试技术 API C++
Playwright 自动化测试系列(7)| 第三阶段:测试框架集成​​Page Object 模式
本课程详解Playwright测试框架中的Page Object模式,通过电商登录-下单实战演示PO架构设计与高级技巧,结合Pytest实现多用户测试。重点解析PO模式提升代码复用性、降低维护成本的核心价值,并提供常见问题解决方案,助力构建高可维护性的自动化测试体系。
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
429 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)