逻辑 SQL 和物理 SQL 有啥区别?
Posted
技术标签:
【中文标题】逻辑 SQL 和物理 SQL 有啥区别?【英文标题】:What is the difference between Logical SQL and Physical SQL?逻辑 SQL 和物理 SQL 有什么区别? 【发布时间】:2016-04-08 08:00:46 【问题描述】:在阅读 OBIEE 架构时,它提到最终用户的请求通过表示层转换为 Logical SQL
,BI 服务器组件将 Logical SQL
更改为 Physical SQL
。
逻辑 SQL 和物理 SQL 有什么区别?
【问题讨论】:
【参考方案1】:同样重要的是要注意和记住这种区别的原因,这也解释了这两个概念:
逻辑 SQL 与源代码无关,只不过是一种“逻辑结构化查询语言”(相对于“SQL”是定制语言本身)。这意味着 BI 服务器会根据原始分析获取逻辑 SQL 中的请求。
然后,该逻辑 SQL 会根据满足请求所需的模型的一个或多个源进行转换。然后,该转换会生成有效的物理 SQL 或任何必要的语言,例如用于 Essbase 多维数据集的 MDX 或用于从 XML 文件读取的其他(本机)代码等。
逻辑 SQL 不包含任何源细节。它不区分关系型 SQL 数据库、Essbase 多维数据集、Hadoop 源、XML 文件等。它是一种统一的逻辑模型/查询语言,而不是一种特定的本地源语言。
【讨论】:
【参考方案2】:表示层和业务模型是一种逻辑表示,不代表数据的物理结构。 因此,当用户拉取数据时,OBIEE首先根据逻辑表示构建请求。然后,它会根据您的映射将其转换为数据库可以理解的 SQL - 物理 SQL。
【讨论】:
以上是关于逻辑 SQL 和物理 SQL 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章