多数据库查询处理全解析
在多数据库系统中,查询处理是一个复杂且关键的任务,涉及到多个层面的操作和优化。下面将详细介绍多数据库查询处理的相关内容。
1. 多数据库查询处理的层次结构
多数据库查询处理主要分为几个关键层次,其中有一层负责动态查询优化。由于数据库管理系统(DBMS)在响应查询时可能会出现意外的长时间延迟,因此动态查询优化变得尤为重要。在动态优化的情况下,后续层执行后可能会对该层进行后续调用。最后,该层会整合来自不同包装器(wrapper)的结果,为用户查询提供统一的答案。这就要求该层具备对来自包装器的数据执行某些操作的能力。因为包装器的执行能力可能非常有限,例如在简单组件DBMS的情况下,中介(mediator)必须提供完整的执行能力以支持中介接口。
另一层则使用包装器执行查询翻译和执行操作。它会将结果返回给中介,中介可以对来自不同包装器的结果进行整合和后续执行。每个包装器都维护一个包装器模式,其中包括本地导出模式和映射信息,以便将用通用语言表达的输入子查询(查询执行计划QEP的子集)翻译成组件DBMS的语言。子查询翻译完成后,由组件DBMS执行,并将本地结果翻译回通用格式。
包装器信息描述了如何在参与的本地模式和全局模式之间进行映射。它能够以不同方式实现数据库组件之间的转换。例如,如果全局模式以华氏度表示温度,而参与的数据库使用摄氏度,包装器信息必须包含一个转换公式,以便为全局用户和本地数据库提供正确的表示。如果转换涉及跨类型且简单公式无法完成翻译,则可以在目录中存储的包装器信息中使用完整的映射表。
2. 使用视图进行查询重写
查询重写是将基于全局关系表达的输入查询重新表述为基于本地关系的查询。它利用全局
超级会员免费看
订阅专栏 解锁全文


被折叠的 条评论
为什么被折叠?



