实时OLAP方案

3 篇文章 0 订阅


多维 OLAP (MOLAP) 存储提供最佳的查询响应,但是其不足之处是存在一些数据滞后时间。实时关系 OLAP (ROLAP)存储可使用户迅速浏览数据源中的最新更改,但是不足之处是较多维 OLAP (MOLAP) 存储的性能相差甚远,这是因为没有对数据进行预计算汇总,并且关系存储没有针对 OLAP 样式的查询进行优化。如果用户需要在您的应用程序中查看最新数据,并且您也希望这些应用程序能够利用 MOLAP 存储的性能优点,则可以使用 SQL Server 2005 Analysis Services 提供的主动缓存选项(尤其是与分区组合使用)来处理这种情况。主动缓存按分区和维度来设置。主动缓存选项使得能够在 MOLAP 存储的增强性能和 ROLAP 存储的即时性之间达成平衡,并且还在基础数据更改时提供自动的分区处理或者按照设置计划进行处理。

SQL Server 2005 Analysis Services 提供了若干个主动缓存配置选项,您可以使用它们最大化性能,最小化滞后时间以及安排处理。主动缓存功能可以简化管理数据过时的进程。主动缓存设置确定多维 OLAP 结构(也称为 MOLAP 缓存)重新生成的频率,是否在重新生成缓存时对过时的 MOLAP 存储或基础 ROLAP 数据源进行查询,以及缓存是按计划重新生成还是根据数据库中的更改重新生成。

最小化滞后时间

将主动缓存设置为最小化滞后时间之后,用户会对 ROLAP 存储或 MOLAP 存储执行 OLAP 对象查询,具体取决于数据是否发生了最新更改以及主动缓存的配置方式。查询引擎会将查询导向 MOLAP 存储中的源数据,直至数据源发生更改为止。若要最小化滞后时间,数据源发生更改后,可以删除已缓存的 MOLAP 对象,并当 MOLAP 对象在缓存中重新生成期间将查询切换到 ROLAP 存储。在 MOLAP 对象重新生成和处理完毕之后,查询会自动切换到 MOLAP 存储。对于小分区(例如当前分区)而言,缓存的刷新速度非常快,仅在当天便可进行刷新。

最大化性能

若要最大化性能同时缩短滞留时间,还可以使用缓存,而无需删除当前 MOLAP 对象。然后,在数据读入新缓存并在其中处理时,继续对 MOLAP 对象进行查询。该方法可提供更好的性能,但是会导致在生成新缓存时查询返回旧数据。

Microsoft SQL Server 2005 Analysis Services (SSAS) 为存储模式和缓存选项提供了几种标准存储配置。它们为更新通知、滞后时间和重新生成数据提供了常用的配置。可以在“存储选项”对话框中对这些标准存储配置设置进行设置。若要选择其中的一个标准设置,请单击“存储设置”对话框中的“标准设置”按钮,然后将滑块移动到下表中列出的设置之一。

存储设置说明

标准存储设置

说明

实时 ROLAP

OLAP 是实时的。详细信息数据和聚合以关系格式存储。当数据发生更改且所有查询都反映数据的当前状态时(零滞后时间),服务器侦听通知。

通常将此设置用于经常不断地发生更新且其用户总是需要最新数据的数据源。根据客户端应用程序生成的查询的类型,此方法可以保证提供最长的响应时间。

实时 HOLAP

OLAP 是实时的。详细信息数据以关系格式存储,而聚合以多维格式存储。当数据发生更改并根据需要刷新多维 OLAP (MOLAP) 聚合时,服务器侦听通知。不创建 MOLAP 缓存。只要数据源发生了更新,服务器就切换到实时关系 OLAP (ROLAP) 直到聚合被刷新。所有查询都反映数据的当前状态(零滞后时间)。

通常将此设置用于经常不断地发生更新(但没有对实时 ROLAP 要求的那么频繁 )且其用户总是需要最新数据的数据源。一般情况下,此方法提供的总体性能要高于 ROLAP 存储。如果数据源足够长时间地保持不变,则使用此设置的用户可以获得 MOLAP 般的性能。

低滞后时间MOLAP

详细信息数据和聚合均以多维格式存储。在缓存中重新处理 MOLAP 对象时,服务器侦听数据的更改通知并切换到实时 ROLAP。更新缓存之前需要至少 10 秒的静默间隔。如果未达到静默间隔,将会有 10 分钟的覆盖间隔。数据发生更改时处理自动进行,且目标滞后时间是首次更改后的 30 分钟。

当查询性能比总是能够提供最新数据稍微重要时,通常将此设置用于经常发生更新的数据源。在滞后间隔之后,此设置可随时按需要自动处理 MOLAP 对象。重新处理 MOLAP 对象时,速度较慢。

中等滞后时间MOLAP

详细信息数据和聚合均以多维格式存储。在缓存中重新处理 MOLAP 对象时,服务器侦听数据的更改通知并切换到实时 ROLAP。更新缓存之前需要至少 10 秒的静默间隔。如果未达到静默间隔,将会有 10 分钟的覆盖间隔。数据发生更改时处理自动进行,且目标滞后时间为四小时。

当查询性能比总是能够提供最新数据更重要时,通常将此设置用于经常(或不太经常)发生更新的数据源。在滞后间隔之后,此设置可随时按需要自动处理 MOLAP 对象。重新处理 MOLAP 对象时,速度较慢。

自动 MOLAP

详细信息数据和聚合均以多维格式存储。服务器侦听通知,但是在生成新的 MOLAP 缓存时保留当前的缓存。生成新的缓存时,服务器切换到实时 OLAP,查询可能是陈旧的。

创建新的 MOLAP 缓存之前,至少需要 10 秒的静默间隔。如果未达到静默间隔,将会有 10 分钟的覆盖间隔。数据发生更改时处理自动进行,且目标滞后时间为两小时。

当查询性能非常重要时,此设置通常用于数据源。在滞后间隔之后,此设置可随时按需要自动处理MOLAP 对象。生成和处理新缓存时查询不会返回最新数据。

预定的 MOLAP

详细信息数据和聚合以多维格式存储。如果数据发生更改,服务器将不会收到通知。处理每隔 24 小时自动进行一次。

通常将此设置用于只需要每天更新的数据源。查询总是针对 MOLAP 缓存中的数据进行的,在新的缓存生成及其对象被处理之前,这些数据不会被放弃。

MOLAP

不启用主动缓存。详细信息数据和聚合均以多维格式存储。如果数据发生更改,服务器将不会收到通知。必须对处理进行预定,或者手动执行它。

如果数据源中的定期更新对客户端程序来说不是必要的但高性能对其来说很关键,则通常为数据源使用此设置。

如果应用程序不需要最新的数据,则不使用主动缓存的 MOLAP 会提供最佳性能。尽管可以通过在临时服务器上更新和处理多维数据集及使用数据库同步将更新的和已处理的 MOLAP 对象复制到生产服务器上等方法来最大限度地减少停机时间,但是它的确需要停机时间来处理更新的对象。有关详细信息,请参阅同步Analysis Services 数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值