对于数据挖掘来说,雪花模式比星型模式更好吗?



我知道星型模式和雪花型模式之间的基本区别——雪花型模式将维度表分解为多个表,以便对它们进行规范化,而星型模式只有一个"级别"的维度表。但是维基百科关于雪花图式的文章说

"一些用户可能希望向数据库提交查询,使用传统的多维报告工具,这些查询不能在简单的星型模式中表示。这在客户数据库的数据挖掘中尤其常见,其中的一个常见需求是在购买了符合复杂标准的产品的客户之间找到共同因素。为了允许简单的查询工具形成这样的查询,通常需要一些"雪花",特别是在首次设计数据仓库时没有预期提供这些查询形式的情况下。"

对于相同的底层数据,什么时候不可能在星型模式中编写可以在雪花模式中编写的查询?似乎星型模式总是允许相同的查询。

对于数据挖掘,您几乎总是需要准备您的数据-主要是作为一个"平面表"。

它可能是一个查询,准备视图或CSV导出—取决于工具和您的偏好。

现在,要正确理解这篇文章,一个人可能必须在作者写这篇文章时抽烟喝酒。

正如您所提到的,为从关系数据库开始的数据挖掘准备一个平面表不是一项简单的任务,雪花模式或星型模式只能在一定程度上起作用。

但是,有一种叫做Dataconda的软件可以自动从DB创建一个平面表。

基本上,您在关系数据库中选择一个目标表,然后dataconda通过添加数千个新属性来"扩展"它;这些属性是通过执行涉及多个表的复杂查询获得的。

最新更新