0

数据仓库设计和星型模式相当新。我们设计了一个事实表,其中存储了有关会员资格的各种度量,我们的粮食是每天的,并且该表中的一些度量是诸如新售出的数量、更新的售出数量、活跃的数量、取消的数量等。

我的问题是,企业将希望看到其他谷物的措施,如每月、每季度、每年等。所以通常这里的方法只是汇总所需时间段的日级数据,或者你会推荐为我们的业务需求(例如每月、每季度、每年)的“关键”时间段创建单独的事实表?我已经阅读了一些关于此的混合信息,这主要是我寻求其他观点的原因。

我读到的一些信息让人们在事实表中嵌入了一个层次结构来指定不同的粒度,然后通过一个“级别”类型的列来识别,这被很多人反对,对我来说似乎也不好,那些建议反对我们建议每个粒度单独的事实表,但老实说,我不明白为什么我们不只是从我们拥有的每日条目中汇总,除了一些轻微的性能之外,我们将从每个粒度的事实表中获得什么好处也许改进?

4

1 回答 1

1

每个数据集市都有自己的“视角”,这可能需要聚合的事实粒度。

星型模式建模是一个“自上而下”的过程,您从一组问题或用例开始,并构建一个使这些问题易于回答的模式。不是一个“自下而上”的过程,您从源数据开始并从那里找出架构设计。

您最终可能会得到多个共享同一个粒度事实表的数据集市,但它们需要以不同的方式聚合它,无论是为了性能,还是为了计算和存储仅在聚合粒度上才有意义的度量值。

例如

SalesFact (store,day,customer,product,quantiy,price,cost)

StoreSalesFact(store, week, revenue, payroll_expense, last_year_revenue)
于 2022-01-13T20:22:49.110 回答