我正在为个人目的创建一个测试DWH。我读过关于星型、雪花和星座模式的概念,为了最初的目的,我将使用星型模式。
我使用的关系数据库管理系统是postgreSQL。
通过我读到的书目,我有一些尚未解决的疑问。
当我们谈论维度时,我们谈论的是模式吗?例如,我可以创建模式时间,以及模式位置是否有两个维度?我认为我们实际上是在谈论单个表,而模式是划分DWH起源的一个很好的方法。假设我有两个从app到DWH集中的数据库。我可以有app1的模式1,app2的模式2,其中每个模式都有自己的星型模式,使用表来定义每个维度。
这是正确的吗?
我的另一个问题是: DMQL和SQL有什么区别?可能是第一个在任何RDBMS中使用的?我试着在postgre中使用它,但是它不起作用。我可以使用sql创建DWH吗?
谢谢。
发布于 2016-12-02 12:01:51
当我们谈论维度时,我们谈论的是模式吗?
来自Postgres的文档:
数据库包含一个或多个命名架构,而这些架构又包含表。
维度存储在表中(有时是视图)。架构不是表。里面有桌子。
是的,模式有利于在功能区中拆分数据库对象,但根据我的经验,将事实和维度拆分为模式是很棘手的,因为维度可以属于几个主题区域(事实表),因此不能只将它们局限于一个模式。
另一方面,将表放置到模式中是非常有意义的。如果您的暂存表数据来自app1,那么将其放入模式app1中。
您应该围绕业务流程设计您的DWH,并将不同的应用程序无缝地融入其中。一个事实可能包含来自几个不同源系统的记录(实际上,您通常有一个元数据列指示记录来自何处)
因此,总之,不要在星型架构中使用架构。在暂存数据库中使用架构
https://stackoverflow.com/questions/40931158
复制相似问题