来做这个,我不熟悉OLAP在所有,所以如果该术语是关闭的,随时提供的更正。

我在读关于OLAP,这似乎是所有关于空间交易的速度,其中你precalculate(或计算上的需求)和存储聚合有关数据,关键的某些方面。我知道这是怎么运作的,用于维那有一个独立的价值观,如{男性,女性}或者{Jan,Feb,...Dec}或者{@US_STATES}.但是什么尺寸的,具有完全是任意的价值观像(0, 1.25, 3.14156, 70000.23, ...)?

不使用OLAP釆用的聚合在查询袭击的事实表,还是仅仅是用来绕过的事情,可以预先计算好的?像、任意的聚合在任意的价值观仍然需要完成的飞行?

任何其他帮助有关的学习更多关于OLAP将不胜感激。乍一看,谷歌和使似乎有点干燥(比其他更受欢迎的主题).

编辑:被要求对一个层面上有任意的价值观。

  • 速度实验:1.256m/s,-2.234m/s,33.78m/s
  • 值的交易:$120.56,$22.47,$9.47
有帮助吗?

解决方案

你的速度和价值列实例是通常不排列,你会查询在OLAP的方式-他们都是值你想检索,并可能在结果设置,或者作为单独的排或汇总。

然而,我所说的 通常.在我们OLAP架构,我们有一个很好的例子的一个柱你在想:event_time(一日期时间的领域,与granualarity到二)。在我们的数据,它会几乎是独一无二的-没有两个事件会发生在同样的第二次,但是由于我们有多年的数据,在我们的桌子,这仍然意味着有数百万潜在的离散数值,并且当我们执行我们的OLAP的查询,我们几乎总是要约束,根据时间范围。

该方案是做什么,大卫Raznick有说-你创建一个"分段"版本的价值。因此,在我们表,除event_time柱,我们有一个event_time_bucketed列-这仅仅是事件的日期,随着时间的一部分正在00:00:00.这减少了计数的不同的价值从几百万到数千个。然后,在所有查询限制于日期,我们限制在两个分组和列实(由于该分段列将不能够准确,得到我们的实际价值),例如:

   WHERE event_time BETWEEN '2009.02.03 18:32:41' AND '2009.03.01 18:32:41'
     AND event_time_bucketed BETWEEN '2009.02.03' AND '2009.03.01'

在这些情况下,最终用户从来没有看到event_time_bucketed列-它只是存在于查询最优化。

浮点值喜欢你提的,存入桶战略可能需要一点更多的思考,因为你想选择一个方法,该方法将导致一个比较均匀分布的价值观和保持连续性。例如,如果有一个经典的铃分配(用的尾巴可能会非常长)你想要的定义的范围,其中大部分人口的生活(例如1或2标准偏差的意思),将其分为统一桶,再创建两个桶"一切较小的"和"一切大".

其他提示

我发现这个的链接,可以方便 http://www.ssas-info.com/

检查了网络广播部分,在那里,在他们步行通过不同方面从开始的,什么是双仓储设计一个立方体,尺寸、计算、聚合、指标、观点等等。

在OLAP聚合,有助于减少查询响应时间通过有预算值会使用的查询。然而,另一面是增加储存空间作为更多的空间将需要存储聚合,除了基本数据。

SQL服务器分析的服务具有基于使用的最优化的向导,它有助于聚集的设计是通过分析的查询已经提交的客户(报告的客户喜欢SQL服务器上报服务,Excel或任何其他)和精炼的聚合设计。

我希望这有所帮助。

欢呼

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top