逻辑 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 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

物理Dg和逻辑dg的区别

通俗理解逻辑删除和物理删除的区别

SQL server中的物理排序和逻辑排序是怎么回事

sql server 中如何理解逻辑顺序 物理顺序 索引顺序

存储过程写在数据库中和程序里有啥区别?

[SQL] 理解SQL SERVER中的逻辑读,预读和物理读