维度和DMQL的主要概念?

Main concept of dimension and DMQL?

我正在为个人目的创建一个测试 DWH。我已经阅读了有关星型、雪花型和星座模式的概念,出于初始目的,我将使用星型模式。

我使用的 RDBMS 是 postgreSQL.

翻阅参考书目,有一些疑惑还不能解决

当我们谈论维度时,我们是在谈论模式吗? 例如,我可以创建具有两个维度的架构时间和架构位置吗?我认为我们实际上是在谈论单表,模式是拆分 DWH 起源的好方法。 想象一下,我有两个应用程序的数据库集中在 DWH 中。我可以为 app1 使用模式 1,为 app2 使用模式 2,其中每个模式都有自己的星型模式,使用表来定义每个维度。

正确吗?

我的另一个问题是:DMQL 和 SQL 有什么区别?可以在任何 RDBMS 中首先使用吗?我尝试在 postgre 中使用它,但它不起作用。我可以使用 sql 创建 DWH 吗?

谢谢。

When we speak about dimensions are we talking about schemas?

来自 Postgres 文档:

A database contains one or more named schemas, which in turn contain tables.

维度存储在 table 中(有时是视图)。模式不是 table。它们包含 tables.

是的,模式很适合在功能区域中拆分数据库对象,但根据我的经验,将事实和维度拆分到模式中会变得棘手,因为维度可以属于几个主题领域(事实 tables)所以你不能只将它们限制在一个模式中。

另一方面,

暂存 table 非常适合放入模式中。如果您的暂存 table 数据来自 app1,则将其放入架构 app1.

您应该围绕业务流程设计 DWH,并将不同的应用程序无缝地融入其中。一个事实可能包含来自几个不同源系统的记录(事实上,您通常有一个元数据列指示记录的来源)

所以总而言之,不要在星型模式中使用模式。在临时数据库中使用模式