CN1551014A - 利用联机分析处理变型的预设高速缓存的系统和方法 - Google Patents

利用联机分析处理变型的预设高速缓存的系统和方法 Download PDF

Info

Publication number
CN1551014A
CN1551014A CNA2004100322660A CN200410032266A CN1551014A CN 1551014 A CN1551014 A CN 1551014A CN A2004100322660 A CNA2004100322660 A CN A2004100322660A CN 200410032266 A CN200410032266 A CN 200410032266A CN 1551014 A CN1551014 A CN 1551014A
Authority
CN
China
Prior art keywords
speed cache
dimensional object
multi dimensional
data
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004100322660A
Other languages
English (en)
Other versions
CN100440205C (zh
Inventor
C
C·培特库莱斯库
A·耐茨
T·P·克恩龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1551014A publication Critical patent/CN1551014A/zh
Application granted granted Critical
Publication of CN100440205C publication Critical patent/CN100440205C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/954Relational
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/957Multidimensional
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

通过在后台构造ROLAP对象的MOLAP等价物,本发明对该对象的MOLAP性能(维数、分段以及集合)起杠杆作用。当后台处理完成时,把查询从ROLAP查询切换到MOLAP查询。当相关关系对象(诸如定义OLAP对象的内容的表)发生改变时,把OLAP对象切换回ROLAP模式,并且丢掉所有相关的高速缓存,同时作为后台过程而创建新的MOLAP等价物。

Description

利用联机分析处理变型的预设高速缓存的系统和方法
技术领域
本发明一般涉及高速缓存数据,尤其涉及用于利用OLAP(联机分析处理)变型预设地(proactively)高速缓存数据的系统和方法。
发明背景
计算和网络技术已经改变了现代生活的许多重要方面。计算机已经不再是豪华的教育工具或娱乐中心而成为为家常用品,并向用户提供管理和预报财务、控制象供暖气、供冷气、照明和安全等家常操作,并且把记录和映像存储在永久和可靠的媒体中。象因特网之类的网络技术把对于远程系统、信息和相关联的应用程序实际上无限制的访问提供给用户。
在计算和网络技术成为鲁棒、安全和可靠的情况下,更多的消费者、批发商、零售商人、企业家、教育机构等等正在改换范例和使用诸如因特网之类的网络代替传统的手段来执行业务。例如,许多业务和消费者正在提供Web网站或联机服务。例如,今日的消费者可以经由因特网访问他的/她的帐户以及执行数量增长的有效事务,诸如结算询问、资金汇兑以及帐单支付。
一般,网络会话包括与客户应用程序对接的用户与服务器进行交互作用,所述服务器把信息存储在对于客户应用程序是可访问的数据库中。例如,股市Web网站可以把检索股票报价和购买股票的工具提供给用户。用户可以打入股票代号,并通过执行鼠标的点击来激励一个询问而请求股票报价。客户应用程序查询股票的数据库表以及返回股票报价。
计算和网络技术的缺点是有限的带宽。一个用户消耗一部分带宽,从而其它用户就不可使用所消耗的部分。因此,在越来越多的用户使用网络的情况下,可用的带宽减少,这可能降低响应时间和性能。计算和网络技术的另一个缺点是相对于可用数据量的有限的可用数据传送速率。例如,检索大量数据(例如,分配在各个服务器上的数据)的请求可能是时间强度大的,还可能使性能降低。
因此,发展了业务智能(BI)解决方案来辅助对于与大数据库信息有关的访问。近代的大多数业务已经迁移到关系类型的数据库。发展了数据仓库来存储战术信息,以答复与所存储的、涉及以前事件的数据有关“谁”和“什么”的问题。然而,由于数据仓库只具有检索历史数据的能力这样的事实,这证明了限制。因此,开发了联机分析处理(OLAP)系统,不但可以答复“谁”和“什么”,而且可以答复数据的“如果...会怎样”和“为什么”。OLAP系统是集合数据的多维视图,它允许分析员、业务管理员以及执行者通过快速的、可靠的、交互作用的过程来得到对于信息的内涵。
包括OLAP工具的分析工具帮助减小对于极大量数据的访问时间。通过利用这些工具,用户可以询问或“查询”关于数据的一般的问题而不是检索所有数据的字面。因此,“关系数据的数据”或元数据帮助促进查询过程和减少所需要的网络带宽。然而,如同业务环境中的一般情况,昨天是快的事物按今天的标准是慢的。虽然按指数方式来扩展数据存储器的大小,还是始终存在对于更快信息传送的增涨的要求。
发明概要
下面提供本发明的简单的概要,以便提供对于本发明某些方面的基本理解。本概要不是本发明的多方面的概括。不是打算以此来确定本发明的关键的/决定性的单元或描绘本发明的范围。主要的目的是以简化的形式提供本发明的某些概念作为以后提供的更详细说明的序言。
本发明一般涉及高速缓存数据,尤其,涉及用于利用OLAP变型预设地高速缓存数据的系统和方法。使OLAP变型起杠杆作用以创建关系数据源的多个查询源。通过根据数据源把多维对象转换成OLAP变型高速缓存(诸如MOLAP(多维OLAP)高速缓存),用户得到快速分析查询的能力,并且还保持实时访问据源的能力。按照何时利用变型,本发明还允许通过用户的交互作用的参与而提供比使用非-预设高速缓存方案更快的和更多的面向用户的查询响应。
本发明还通过部分地基于多维分析数据的高速缓存的应用,使直接访问大数据库的必要性减少而促进数据分析,扩展了现有数据结构的有用性,并且对极大数据库提供快速和有效的分析。因为所有OLAP变型都有强点和弱点,所以利用单个变型的一个系统一般不完全满足用户,返回陈旧的数据和/或响应较慢。本发明彻底地减少查询响应时间,同时,使提取实时信息成为可能,允许用户关于响应查询所利用的变型快速和适当透明地接收数据,使用户友好性最大化,增加信息检索速度以及提供可靠的信息而不管所使用的变型。
为了实现上述和相关的对象,这里联系下面的说明和附图来描述本发明的某些说明性方面。然而,这些方面表示不同的方法,但是是少数几个不同的方法,本发明的原理可以应用在这些方法中,并且打算使本发明包括所有如此的方面和它们的等价物。当连同附图一起考虑时,本发明的其它优点和新颖特征可以从从下面本发明的详细说明得以明白。
附图简述
图1说明根据本发明的一个方面的一个示例预设高速缓存过程。
图2是根据本发明的一个方面的数据库服务系统的方框图。
图3是根据本发明的一个方面的另一个数据库服务系统的方框图。
图4是根据本发明的一个方面的又一个数据库服务系统的方框图。
图5是根据本发明的一个方面的高速缓存开发结构的方框图。
图6是根据本发明的一个方面的另一个高速缓存开发结构的方框图。
图7是根据本发明的一个方面的预设高速缓存系统的方框图。
图8是根据本发明的一个方面的另一个预设高速缓存系统的方框图。
图9是根据本发明的一个方面的预设高速缓存系统输入的方框图。
图10是根据本发明的一个方面的预设高速缓存系统参数的方框图。
图11是根据本发明的一个方面的又一个预设高速缓存系统的方框图。
图12是根据本发明的一个方面的流程图,说明预设高速缓存的一种方法。
图13是根据本发明的一个方面的另一个流程图,说明预设高速缓存的一种方法。
图14是根据本发明的一个方面的又一个流程图,说明预设高速缓存的一种方法。
图15是根据本发明的一个方面再一个流程图,说明预设高速缓存的一种方法。
图16是根据本发明的一个方面再一个流程图,说明预设高速缓存的一种方法。
图17是根据本发明的一个方面再一个流程图,说明预设高速缓存的一种方法。
图18说明本发明可以在其中起作用的一个示例操作环境。
图19说明本发明可以在其中起作用的另一个示例操作环境。
图20说明本发明可以在其中起作用的又一个示例操作环境。
本发明的详细说明
现在参考附图来描述本发明,在所有附图中,使用相同的标号来表示相同的元件。在下面的说明中,为了说明的目的,规定许多特定的细节以便提供对于本发明的透彻的理解。然而,明显地,可以实现本发明而无需这些特定的细节。在其它实例中,为了便于描述本发明,以方框图的形式示出众知的结构和装置。
如在本申请中所使用,指定术语“组件”是指与计算机有关的实体,在执行中,可以是硬件、硬件和软件的组合、或软件。例如,组件可以是,但是不限于,运行在处理器上的进程、处理器、对象、可执行的、执行的线程、程序和/或计算机。作为说明,运行在服务器上的应用程序和服务器两者都可以是计算机组件。一个或多个组件可以驻留在过程中和/或执行的线程中,并且组件可以是一个计算机上的本地组件和/或分布在两个或多个计算机之间的组件。“线程”是用于执行的操作系统内核调度的进程中的实体。如本技术领域中所众知,每个线程具有相关联的“上下文”,它是与线程的执行相关联的易失性数据。线程的上下文包括系统寄存器的内容和属于线程的进程的虚拟地址。因此,包括线程的上下文的实际数据在它执行时改变。
由于无单个OLAP变型可以提供低等待时间和实时数据两者,本发明通过作为后台过程来构造对象的MOLAP等价物而用杠杆作用影响ROLAP对象的MOLAP性能(维数、分段和集合)。当完成后台处理时,把对象使用切换到MOLAP查询,使更快的查询响应时间成为可能。当相关的关系对象(诸如定义OLAP对象的内容的表)发生变化时,把OLAP对象切换回ROLAP模式,并且丢掉所有相关的高速缓存,同时,在后台中,创建新的MOLAP等价物。因此,根据正被利用来处理查询的模式,使用MOLAP等价物提供预设地受控制的高速缓存。这允许用户得到立即浏览数据的好处(和/或始终反映关系数据库的最新的映像)而无需支付查询ROLAP对象的一般的性能价格。这允许用户感知作为围绕数据库(诸如关系数据库等)的元数据的补偿层(shim layer)的本发明始终尽可能快地提供最新数据。用户有各种选项以便得到最高全球性能,他们可以通过这些选项对预设高速缓存进行细调谐,以及相对于在关系数据库中的改变而影响它的性能(这些选项在下文详述)。
如果用户对观看最新数据(实时OLAP)感兴趣,但是不希望在浏览ROLAP数据中的固有延迟,则用户可以命令系统在后台事务中构造等价MOLAP对象,并且“切换”查询以使用MOLAP“映像”来代替。当下层的关系对象发生改变时,一发生改变系统就自动地响应于它们,并且打开使对象恢复到ROLAP模式的一个短事务。然后,系统将再打开后台事务和重构MOLAP映像。如果当后台事务正在进行时发生更新,则取消MOLAP处理,并且再开始后台事务。在由于后台事务而用户启动的事务需要把对象锁定在与对象的当前锁定模式不兼容的模式中的情况而可以取消这些后台事务的意义上来说,这些后台事务有些象“第二类公民”。
在图1中,说明根据本发明的一个方面的示例预设高速缓存过程100。预设高速缓存过程100起动102,并且处理到MOLAP高速缓存104的ROLAP对象。除非接收到取消,否则完成106过程100,实行数据库是否已经改变108的一个检查。如果数据库没有改变108,则完成106过程100。然而,如果数据库已经改变108,则再调度过程100,并且再起动102。在本发明的一般实例中,通过用户110产生动作。这些动作110可以包括提交启动过程100的ROLAP对象112的处理。用户110产生的另一个动作可以包括起动ROLAP对象114上的另一个事务,取消到MOLAP高速缓存进程104的现有的ROLAP对象。系统还可以自动地检测条件116,例如,诸如数据库改变118等。一旦数据库改变118已经发生,就取消到MOLAP高速缓存过程104的现有ROLAP对象。
用户还可以在起动构造新MOLAP映像的后台事务之前经由“安静时间延迟”指定“安静时间”的最小持续期。这允许到OLTP(联机事务处理)的多个交叉-事务的插入/更新(许多OLTP应用通过在时间上的某个时刻个别地插入而如此地更新事务数据)。这减少了OLAP服务器通过重复查询而加在OLAP系统上的查询应力。通过对任何涉及的表的“最新更新”时间保持跟踪的一个组件来实现安静时间延迟。
相似于安静时间延迟特征,任选的“延迟”触发特征指定在后台线程中跟踪所有改变,所述线程处理每个指定时间周期(可配置的时间间隔)的经累加的改变。在逻辑方案中,通过两个线程之间的队列实施来执行这个特征,所有的调用都是通过这个队列处理的。这个特征允许通过某些提供者提供的一种通知机构,用是否更新了表的询问来防止OLTP过载。一般,这是在每服务器(不是每对象)的基础上实现的,因为它描述整个预设高速缓存子系统的通知性能。
另一个特征允许经由供用户标出某些表/视图/ROLAP对象作为“脏的”的一种装置来作出“人工”改变,人工地触发上述过程。这一般通过可以通过正规的机构(例如,XML/A(可扩展的标记语言/分析)等)发送到一个服务器的DDL(数据定义语言)语句来完成。在本发明的一个方面,可以存在两类标记:关系对象标记(可能潜在地影响多ROLAP对象)和/或ROLAP对象标记(就关系到相关性而言,基本上引导关系层)。
又一个特征允许用于创建跟踪表的列表的一种装置。用户可以标出影响某个ROLAP对象的表。进行这点的优点包括如下。这个特征的一个优点是如果对象所根据的某个表不是一个真实的表而是一幅视图或DSV(数据组观察器)视图(命名的查询),则对于跟踪视图是否改变这样的事件是较困难的(一般通知机构-SQL(结构化查询语言)通知和触发对表和具体化的视图上,而不是正规视图和命名的查询)。进行操作在缺少这个特征时,跟踪视图的改变的仅有的适当方法是分析它的SQL定义(但是,再次,可能基于通过它本身的其它视图,并且分析SQL不是一个适当的方法)。另一个优点涉及“人工”改变特征。通常,希望标出作为脏的对象,甚至它对于某个表没有制约除了该表被改变。
在本发明的一个方面,装置具有在两个地方中的至少一个地方列出表的能力:1)在DSV中,提供用于预设高速缓存跟踪的替代表的列表。因此,为了预设高速缓存的目的,当ROLAP对象取决于这个表时,在实际上取决于替代表的情况下,它登记它自己。希望替代表是可跟踪的关系对象(表和/或具体化视图,不是一些视图)。2)在ROLAP对象中,提供替代/附加表的列表,通过列表来跟踪对象。对于一些对象这通常是必需的,这些对象对于在DSV中的关系对象(分段)没有必需的制约。还希望这些表也是可跟踪的对象(表和/或具体化的视图)。
再又一个特征提供用于“有限的等待时间”的一种装置。这个特征规定了在新MOLAP映像创建和老MOLAP映像的取消和转换成ROLAP(如果有的话)之间的持续期。在本发明的一个方面,该持续期的缺省值是零(基本上,两个事务-一个使对象退回到ROLAP,而一个开始构造MOLAP引擎-并行地开始)。这个特征的优点包括具有一个持续期,在该期持续期中,到ROLAP存储器的查询降低到最少,并且在构造ROLAP预设高速缓存维数的MOLAP映像的结束处提供分析(在期满时间间隔尚未过去的情况下)。如果改变确实是递增的,则不影响预设高速缓存分段。如果改变影响了非-粒度(granularity)属性,则它可以丢掉(恢复到ROLAP和再调度)可变通的集合并且不碰其它任何项目。否则,装置把相关的分段/集合恢复到ROLAP。
“安静时间复盖(override)”特征提供一种装置来规定是否在初始通知之后到达这个时间量,无条件地提供(kick in)MOLAP映像。然而,应该注意,在本发明的一个方面,如果由于复盖而已经起动MOLAP成像以及如果另一个通知在正在进行构造时输入,则通知不取消正在进行的MOLAP成像。进行记录供正常处理(如果已经使用“正常”路径开始处理,则如果当前存储模式是ROLAP,则通知导致MOLAP映像的取消)。
“强迫再构造”特征规定在已经构造刷新映像之后的这个时刻MOLAP成像无条件地起动。在本发明的一个方面,如果在这进行的同时通知输入,则使它们排队进行正常处理。
转到图2,示出根据本发明的一个方面的数据库服务系统200的方框图。数据库服务系统200包括预设高速缓存系统202、具有多维对象子集232的多维对象208(诸如“OLAP”对象等)、以及具有接收更新218的能力的数据库210。预设高速缓存系统202包括分析组件204和具有高速缓存子集230的至少一个高速缓存206。系统200经由预设高速缓存系统202把查询分析和响应提供给用户。预设高速缓存系统202根据数据库210对多维对象208起杠杆作用,以提供一种系统,所述系统用于提供低等待时间响应和/或实时响应,同时对用户保持适宜的透明。
在本发明的这个方面,分析组件204具有用于更新通知等的输入,包括:查询输入220、用户输入212、系统输入214和数据库输入216。在本发明的其它实例中,数据库输入216是系统输入214的一部分。分析组件204具有高速缓存接口222以及多维对象接口224。这些接口222、224根据所要求的查询响应(即,预设地寻找用于适当的响应的适当的高速缓存)提供从分析组件204到高速缓存206和/或多维对象208的访问。在本发明的其它方面,分析组件具有到高速缓存子集230的高速缓存子集接口226以及到多维对象子集232的多维对象子集接口228。在正在更新高速缓存206和/或多维对象208的其它部分的同时,子集接口226、228提供到高速缓存206和多维对象208的子集的访问。高速缓存206包括从多维对象208得到的信息。多维对象208是基于数据库210的。
在本发明的一个实例中,用于高速缓存信息的系统包括提供从数据库210得到的动态多维分析数据的至少一个多维对象208、从至少一个多维对象208提供动态多维分析数据的至少一个高速缓存206以及耦合到多维对象208和高速缓存206用于预设地控制到多维对象208和高速缓存206的访问的至少一个分析组件204。在本发明的其它实例中,多维对象208包括诸如ROLAP对象以及等等的OLAP对象。在本发明的又一个实例中,分析组件204包括UDM(统一维数模型)。在本发明的再又一个实例中,高速缓存206包括MOLAP高速缓存等。本发明的其它实例包括,但是不限于,包括实时访问分析数据的多维对象208以及包括快速访问分析数据的高速缓存206。甚至本发明的其它实例包括数据库210,该数据库210包含关系数据库。
本发明的另外的实例还包括预设高速缓存系统202,该系统包括分析组件204、高速缓存206以及允许访问至少一个多维对象208的多维对象接口224。分析组件有能力控制到多维对象208和高速缓存206的访问。因此,多维对象208不必须是预设高速缓存系统202的一部分。多维对象208可以是数据库管理系统的一部分。因此,本发明通过具有利用现有数据库管理系统的能力而允许它的使用方面的灵活性。这增强了现有系统,在提高它们的性能的同时,使它们的实用性最大。
本发明的进一步的实例附加地包括预设高速缓存系统202,该预设高速缓存系统202包括分析组件204、允许访问和控制高速缓存206的高速缓存接口222以及允许访问至少一个多维对象208的多维对象接口224。因此,高速缓存206可以驻留在预设高速缓存系统202的外面。这甚至允许在具有已经可供利用的高速缓存资源的现有平台上实施本发明的灵活性更大。
参考图3,描绘根据本发明的一个方面的数据库服务系统300的另一个方框图。数据库服务系统300包括预设高速缓存系统302、诸如OLAP对象等的多维对象308以及具有接收更新318的能力的数据库310。预设高速缓存系统302包括分析组件304和高速缓存306。在本发明的这个方面,分析组件304具有用于更新通知等的输入,包括:查询输入330、用户输入312、系统输入314以及数据库输入316。在本发明的其它实例中,数据库316是系统输入314的一部分。分析组件304具有多维对象接口322。在本发明的这个方面,正在后台操作中根据多维对象308构造高速缓存306。因此,在这个特定的时刻,分析组件304没有与高速缓存306活动地对接以响应于查询。因此,分析组件304只通过访问多维对象308而响应查询输入320。
转到图4,说明根据本发明的一个方面的数据库服务系统400的又一个方框图。数据库服务系统400包括预设高速缓存系统402、诸如OLAP对象等的多维对象408以及具有把更新418接收到数据库表426中的能力的数据库410。预设高速缓存系统402包括分析组件404和新高速缓存406。在本发明的这个方面,分析组件404具有用于更新通知等的输入,包括:查询输入420、用户输入412、系统输入414以及数据库输入416。在本发明的其它实例中,数据库416是系统输入414的一部分。分析组件404具有多维对象接口422。在本发明的这个方面,正在后台操作中从多维对象408构造新高速缓存406。因此,在这个特定的时刻,分析组件404没有与新高速缓存406活动地对接以响应于查询。因此,分析组件404只通过访问多维对象408而响应查询输入420。此外,接收到影响数据库表426的更新418。在本发明的一个方面的这个例子中,在数据库表426中的改变还影响查询输入420作为响应来依赖的多维对象408。因此,除去根据更新418以前的数据库的老的高速缓存424,并且在预设高速缓存系统402的后台过程中构造新高速缓存406,以便反映最新的数据库数据更新。在本发明的其它实例中,可以通过用户输入412和/或系统输入414来除去老高速缓存424。
转到图5,示出根据本发明的一个方面的高速缓存开发结构500的一个方框图。结构500包括包含数据库表510的数据库502、元数据集504、维数模型(诸如“OLAP对象”等的维数对象)506以及高速缓存508。一般,把与从数据库502来的数据有关的信息编译到元数据集504中。从元数据集504构造元数据对象以形成维数模型506。维数模型506通常包括维数、立方体和量度等。这允许OLAP管理树访问维数模型506中的元数据对象。如此,可以从维数模型506构成高速缓存508,该高速缓存508具有从根据关系数据库的多维对象得到的动态维数分析数据。
继续参考图6,示出根据本发明的一个方面的高速缓存开发结构600的另一个方框图。在本发明的这个实例中,结构600包括包含关系数据库表610的关系数据库602、元数据集604、ROLAP对象606以及MOLAP高速缓存608。在这个例子中,一般,由从元数据集604和关系数据库610得到的ROLAP对象构造MOLAP高速缓存608。可得到两个不同的OLAP数据集变型(例如,ROLAP和MOLAP变型等),允许预设地访问适当的数据集以按用户和/或系统要求的方式透明地传送查询响应。
在图7中,说明根据本发明的一个方面的预设高速缓存系统700的方框图。预设高速缓存系统700包括分析组件702、具有高速缓存子集720的高速缓存704以及诸如OLAP对象等具有多维对象子集722的多维对象706。在本发明的一个方面,分析组件702包括查询解释器710、短等待时间终端714以及实时终端712。分析组件702可以接收输入(诸如用户输入716、系统输入718、以及查询输入708等)。在本发明的一个方面,查询解释器710可以分析或分解复杂的查询使之成为“部分”,以及根据查询输入708的内容预设地判定终端712、714中哪个是适当的。例如,可以标出部分#1为“时间敏感数据”,并引导到短等待时间终端714,以便访问高速缓存704,尤其是,高速缓存子集720。同样,可以标出部分#2为“最新数据”,并引导到实时终端712,以便访问多维对象706,尤其是,多维对象子集722。按相似的方式,可以标出部分#n(其中“n”表示从1到无穷大的整数)为上述类别中的每一个,并引导到高速缓存706或多维对象708。在本发明的又一个方面,可以根据用户输入716和/或系统输入718(包括数据库状态等)来分析查询输入708。虽然把“短等待时间”和“实时”描述成“终端”,但是事实上它们可以是分析组件的一部分,并且不需要成为如图7中描绘的独立的实体。因此,可以包括这些作为查询解释器710的一部分,作为如同控制进入数据的嵌入式滤波器这样的高速缓存706和/或多维对象704的一部分和/或作为外部滤波器的一部分。
参考图8,示出根据本发明的一个方面的预设高速缓存系统800的另一个方框图。预设高速缓存系统800包括分析组件802、高速缓存804以及诸如OLAP对象等的多维对象806。在本发明的一个方面,分析组件802包括查询解释器816、短等待时间终端818以及实时终端820。查询解释器816处理多个查询输入808。这可以包括任何数量的输入,但是为了简单说明起见,示出三个输入。这些输入包括用户#1输入810、用户#2输入812以及用户#3输入814。每个用户输入构成查询解释器816分析的至少一个查询。例如,如果第一用户#1输入包含查询#1,它具有“产品信息”的维数和相对于该“数据库稳定”的信息的数据库状态,则查询解释器816可以把该访问引导到短等待时间终端818进行对高速缓存804的访问。高速缓存804可以是具有快响应时间等的多维OLAP高速缓存。如果第二用户#2输入包含查询#2,它具有“演示图形”的维数和相对于该“数据库更新”的信息的数据库状态,则查询解释器816可以把该访问引导到实时终端820进行多维对象806的访问。多维对象的特征可以包括实时数据访问等。同样,如果第三用户#3输入具有“财务数据”的维数和相对于该“数据库更新”的信息的状态,则查询解释器816可以把该访问引导到实时终端820进行多维对象806的访问。按这种方式,预设高速缓存系统向用户提供所需要的响应而无需关于要使用哪个高速缓存的活动用户输入。然而,本发明不预先排除利用用户和/或系统输入来判定如何和/或何时进行预设高速缓存。
转到图9,说明根据本发明的一个方面的预设高速缓存系统输入900的方框图。如前所述,分析组件902可以具有多个输入。这些包括,但是不限于,查询输入904、用户输入906以及系统输入908。用户输入906包括,但是不限于,安静时间延迟910、安静时间延迟复盖912、强制刷新时间914、用户启动部分高速缓存再构造916以及用户输入“n”918(其中“n”表示任何无限数和/或输入类型)等。系统输入908包括,但是不限于,最新数据库更新跟踪器920、影响OLAP对象表922、相关OLAP对象数据源跟踪器924以及系统输入“n”926(其中“n”表示任何无限数和/或输入类型)等。
安静时间延迟910包括一种装置,该装置对于一数据库相对于某个相关的信息更新以来已经过去了多少时间保持跟踪。该相关信息可以是实际数据表输入项和/或OLAP对象。安静时间复盖912包括系统和/或用户确定的一种装置,以使高速缓存复盖以及再构造,即使尚未符合安静时间延迟910。这防止高速缓存由于偶尔发生而从来不更新,而是对于一个数据库频繁地更新,始终发生在正好达到安静时间延迟910之前。强制刷新时间914包括一种装置,以在给定时间间隔强制刷新高速缓存。这防止高速缓存包含陈旧数据,尽管事实上数据库未曾报告强制刷新时间914中的任何更新。这还保证即使在数据库不能够发送状态数据的情况下,也可以更新高速缓存。用户启动部分高速缓存再构造916包括一种装置,以允许用户控制什么部分和/或何时再构造该部分高速缓存。例如,这允许用户选择地判定是否应该再构造特定的子集而同时保持其它数据的快速可访问性。用户输入“n”918包括用于通过分析组件902辅助预设高速缓存的任何装置。熟悉本技术领域的人员会理解,用户可以输入许多不同的定时参数和/或数据参数来帮助更有效地利用预设高速缓存。例如,一种如此的装置包括在要求更新的情况下允许用户输入人工改变来对某些表/视图/0LAP对象作出标记。
最新数据库更新跟踪器920包括一种装置,以跟踪最近更新数据库是在何时。可以与其它输入一起利用这个输入来确定高速缓存数据等的陈旧性。影响OLAP对象的表922包括一种装置,以跟踪/列出涉及高速缓存所根据的OLAP对象的数据库表数据。这允许滤除高速缓存更新来防止当数据库具有不相关的表更新时对高速缓存进行更新。相关OLAP对象数据源跟踪器924包括一种装置,以跟踪高速缓存数据对特定OLAP对象的相关性。这还允许滤除高速缓存更新以防止当不相关的OLAP对象改变时对高速缓存进行更新。系统输入“n”926包括用于通过分析组件902辅助预设高速缓存的任何装置。熟悉本技术领域的人员会理解,用户可以输入许多不同的定时参数和/或数据参数来帮助更有效地利用预设高速缓存。这包括,但是不限于,数据库更新通知等。
重要的是要注意,虽然是作为进入到分析组件902来说明上述输入参数,但是分析组件902本身可以包括子组件,该子组件提供功能,以执行利用上述输入所需要的功能。还可能由分析组件920的外部组件来提供所需要的某些和/或全部功能。
在图10中,示出根据本发明的一个方面的预设高速缓存系统参数1000的方框图。在本发明的一个实例中,预设高速缓存系统参数1000包括操作模式1002和触发1010等。操作模式包括ROLAP模式1004、MOLAP模式1006、以及MOLAP/ROLAP模式1008等。ROLAP模式1004的触发1010包括安静时间延迟符合1012、安静时间延迟复盖符合1014、强制刷新时间符合1016、以及数据库更新1018等。MOLAP模式1006的触发1010包括等效的MOLAP和ROLAP数据集1020以及对于实时数据等需求的快速查询响应1022的用户要求。MOLAP/ROLAP模式的触发1010包括何时需要1024短等待时间和实时查询两者以及何时需要1026部分重构MOLAP高速缓存。
ROLAP模式1004只允许为查询而访问ROLAP数据。这一般是具有实时数据访问的较慢的模式。MOLAP模式1006只允许为查询而访问MOLAP数据,由于它的快速性能,所以一般是缺省模式。为了保证数据的完整性和提高性能,在MOLAP数据等于ROLAP数据的任何时间都可以使用MOLAP模式。这通过利用较快的装置而保证没有损失数据准确度。这也可以由对于实时数据等(其它用户输入)要求快速访问的用户使用。MOLAP/ROLAP模式1008是一种混合模式,它允许访问MOLAP和ROLAP两种数据。这允许用户和/或系统检索所要求的任何等待时间类型需要的任何数据类型。它还允许用ROLAP对象(为在构造的该部分MOLAP高速缓存提供信息)部分重构MOLAP高速缓存。
熟悉本技术领域的人员会理解,上述触发和操作模式无论如何也不是无遗漏的列表。图10表示一例子,该例子仅为本发明的一个方面。还可以使用附加的模式和触发,并且也在本发明的范围内。
参看图11,说明根据本发明的一个方面的预设高速缓存系统1100的又一个方框图。预设高速缓存系统包括分析组件1102、MOLAP高速缓存1104以及OLAP对象1106。分析组件1102包括自适应调谐组件1110、第一会话1114以及第二会话1116。自适应调谐组件1110包括查询解释器1112、性能最优化器1118以及结果比较器1120。把一般的查询1108输入到查询解释器1112。在本发明的这个方面,查询解释器1112是自适应调谐组件1110的一部分。因此,对于性能调谐,查询解释器1112用相同的查询1108建立双会话。因此,经由会话#11114把查询1108发送到MOLAP高速缓存1104以及经由会话#21116到OLAP对象1106。每个会话1114、1116产生一个响应,把所述响应发送到结果比较器1120。结果比较器1120依次判定两个会话1114、1116之间的任何差异。如果有差异的话,向性能最优化器1118报告这些差异。性能最优化器1118跟踪差异,并且自适应地改变查询解释器1112如何对将来的查询起作用。熟悉本技术领域的人员会理解,不是所有查询都需要经由会话1114、1116连续地处理。一旦已经使特定的查询最优化,偶然的取样就是全部所需要的。“偶然的”可以是每秒、小时、天、月和/或年等,取决于查询该数据的频率。例如,不管经由会话#11114还是经由会话#21116,一年前的以前的销售记录可以导致相同的结果。因此,当查询有关相同时间周期的销售记录时,性能最优化器1118命令查询解释器1112只利用快速响应的MOLAP高速缓存1104。性能最优化器1118可以跟踪数据、用法和相关联的参数来提供自适应调谐,甚至对于用户设置,可能向用户提供性能建议。
由于所示的示例系统和上面的描述,将参考图12-17的流程图来较好地理解可以根据本发明实施的方法。同时,为了简化说明的目的,用一系列方框示出和描述方法,要理解和意识到本发明不受到方框的次序的限制,根据本发明,某些方框可以按不同次序存在和/或与这里示出和描述的其它方框同时存在。此外,实施根据本发明的方法可能不需要所说明的所有方框。
在一般情况中可以以诸如通过一个或多个组件执行的程序模块的计算机可执行指令来描述本发明。一般,程序模块包括执行特定任务或实施特定抽象数据类型的例行程序、程序、对象、数据结构等。一般,在各个实施例中可以按要求组合或分配程序模块功能。
转到图12,描绘说明根据本发明的一个方面的预设高速缓存的方法1200的流程图。方法1200通过在后台过程1204中开始构造ROLAP对象的MOLAP高速缓存等价物而开始1202。然后作出确定以检测何时完成1206 MOLAP高速缓存。当完成时,切换操作模式而利用MOLAP模式1208。然后使用MOLAP高速缓存来处理查询1210。然后作出ROLAP对象是否存在任何相关的改变的确定1212。这也可以包括任何基础数据的任何相关的改变。如果没有发生相关的改变,则继续查询,以利用MOLAP高速缓存进行处理1210。然而,如果存在改变,则把操作模式切换到ROLAP模式1214。然后丢掉所有相关的高速缓存1216,结束流程1218。可以无限地重复这个循环,以便在尽管任何相关数据库改变的情况下仍保持MOLAP高速缓存的刷新。
转到图13,示出说明根据本发明的一个方面的预设高速缓存的方法1300的另一个流程图。通过提供用户输入1304而开始1302方法1300。作出关于是否提出MOLAP模式请求的确定1306。如果没有,则继续查询,以利用ROLAP模式进行处理1322,结束流程1316。然而,如果提出了MOLAP模式请求,则作为后台过程1308来构造ROLAP对象的MOLAP等价物。然后作出关于是否已经发生相关于ROLAP对象的改变的确定1310。如果已经发生改变,则取消MOLAP等价物构造1318,把操作模式切换到ROLAP模式1320,并且再次构造ROLAP对象的MOLAP等价物1308。然而,如果在完成MOLAP高速缓存的构造之后没有发生相关的改变,则把操作模式切换到MOLAP模式1312,并且利用MOLAP高速缓存处理查询1314,结束流程1316。
参考图14,说明根据本发明的一个方面的预设高速缓存的方法1400的又一个流程图。用所提供的安静时间延迟用户输入1404开始1402方法1400。在后台过程1406中构造ROLAP对象的MOLAP等价物。然后作出关于ROLAP对象1410是否已经发生任何相关改变的确定。如果未曾发生改变,则利用MOLAP高速缓存1410处理查询,结束流程1412。然而,如果已经发生ROLAP对象的改变,则作出关于是否已经符合安静时间延迟的确定1414。如果没有,则作出是否已经符合安静时间延迟复盖的确定1418。如果未曾符合安静时间延迟复盖,则使用MOLAP高速缓存1410处理查询,结束流程1412。然而,如果已经符合安静时间延迟复盖,则把操作模式切换到ROLAP模式,并且再次构造MOLAP高速缓存1406。然而,如果在检测对ROLAP对象的相关改变之后已经符合安静时间延迟,则把操作模式切换到ROLAP模式1416,并且在后台过程1406中构造MOLAP高速缓存,继续该周期。
转到图15,示出说明根据本发明的一个方面的预设高速缓存的方法1500的再又一个流程图。通过提供人工用户输入1504而开始1502方法1500。人工用户输入包括一些参数,这些参数允许用户指定某些表/视图/对象等作为“脏的”(即,如果需要访问它们的话,则必须更新)。作出关于ROLAP对象是否已经发生相关改变的确定1506。这考虑了脏的输入可能改变与高速缓存数据相关的数据。如果未曾发生相关的改变,则使用MOLAP高速缓存处理查询1514,结束流程1516。一般,由于较高的性能增益,使用MOLAP高速缓存是预设高速缓存系统的一个缺省条件,除非用户和/或系统另行指定,否则就按缺省条件执行。然而,如果已经发生ROLAP对象的相关的改变1506(由于脏的输入和/或数据库更新等),则把操作模式切换到ROLAP模式1508。然后在后台过程中重构MOLAP高速缓存1510,并当完成高速缓存时再次把操作模式切换到MOLAP模式1512。然后继续使用MOLAP高速缓存处理查询1514,结束流程1516。
在图16中,示出说明根据本发明的一个方面的预设高速缓存的方法1600的流程图。通过用户提供有关的ROLAP对象数据输入1604而开始1602方法1600。然后把输入数据链接到相关的、合适的ROLAP对象1606。如此,甚至在没有从这个数据特定地得到的情况下,用户也可以相对于高速缓存数据对数据作出标记。然后作出关于ROLAP对象是否已经发生任何相关的改变的确定。这检查是否已经建立从ROLAP对象到已经改变的数据的新数据链路。如果没有发现改变,则使用MOLAP高速缓存处理查询1616,结束流程1618。由于性能增益,考虑MOLAP模式为缺省模式。然而,如果已经作出相对于ROLAP对象的改变1608,则把操作模式切换到ROLAP模式1610。然后在后台过程中从ROLAP对象重构MOLAP高速缓存。一旦完成,就把MOLAP模式切换到MOLAP模式1614,并再次使用MOLAP高速缓存处理查询1616,结束流程1618。
参看图17,描绘根据本发明的一个方面的预设高速缓存的方法1700的再又一个流程图。从用户提供强制刷新率输入1704开始1702方法1700。然后作出关于是否已经符合这个输入的确定1706。如果没有符合,则利用MOLAP高速缓存处理查询1714,结束流程1716。由于性能增益,考虑MOLAP模式为缺省模式。然而,如果已经符合强制刷新率输入1706,则把操作模式切换到ROLAP模式1708。然后作为后台过程重构MOLAP高速缓存1710。一旦完成,就把操作模式切换回MOLAP模式1712,并使用MOLAP高速缓存1714处理查询,结束流程1716。
上述流程意味着代表本发明的各种方法的流程。它们无论如何都不包括本发明范围内的每种重复和变型。熟悉本技术领域的人员可以理解,方法可以结合修改,并且仍保持在本发明的范围内。
为了提供实施本发明的各种方面的附加情况,打算以图18和下面的讨论来提供对于可以实施本发明的各个方面的合适的计算环境1800的简单的、一般的说明。当已经在上面按运行在本地计算机和/或远程计算机上的计算机程序的计算机可执行指令的一般情况描述本发明时,熟悉本技术领域的人员会理解,还可以与其它程序模块组合而实施本发明。一般,程序模块包括执行特定任务和/或实施特定抽象数据类型的例行程序、程序、组件、数据结构等。此外,熟悉本技术领域的人员会理解,可以用其它计算机系统来实施本发明的方法,这些计算机系统配置包括单个处理器与多处理器计算机系统、小型计算机、主计算机以及个人计算机、手持计算设备、基于微处理器的和/或可编程的消费电子产品等,它们中的每一个都可以与一个或多个相关联的装置可操作地进行通信。还可以在分布式计算环境(其中由通过通信网络链接的远程处理设备执行某些任务)中实施本发明所说明的方面。然而,如果不是在独立的计算机上实施本发明的全部方面,则可以在独立的计算机上实施本发明的某些方面。
如在本申请中所使用,指定术语“元件”是指与计算机有关的实体,在执行中,可以是硬件、硬件和软件的组合、或软件。例如,组件可以是,但是不限于,运行在处理器上的过程、处理器、对象、可执行的、执行的线程、程序和/或计算机。作为说明,运行在一个服务器上的应用程序和/或该服务器可以是组件。此外,组件可以包括一个或多个子组件。
参考图18,实施本发明的各个方面的示例系统环境1800包括传统计算机1802,该计算机包括处理单元1804、系统存储器1806、以及把包括系统存储器的各种系统组件耦合到处理单元1804的系统总线1808。处理单元1804可以是任何可商业上可购得的或专用(proprietary)的处理器。此外,可以实施处理单元作为不止一个处理器(诸如可以并行连接的处理器)形成的多处理器。
系统总线1808可以是数种类型的总线结构中的任何一种,包括存储器总线或存储器控制器,外围总线以及使用多种传统总线结构(举几个例子,诸如PCI、VESA、Microchannel、ISA以及EISA)中任何总线结构的局部总线。系统存储器1806包括只读存储器(ROM)1810和随机存取存储器(RAM)1812。把基本输入/输出系统(BIOS)1814(它包含诸如在启动期间帮助在计算机1802中的单元之间传送信息的基本例行程序)存储在ROM 1810中。
例如,计算机1802还可以包括硬盘驱动器1816、磁盘驱动器1818(例如,从可换磁盘1820读出或写入可换磁盘1820)以及光盘驱动器1822(例如,从CD-ROM盘1824或其它光学媒体读出或写入CD-ROM盘1824或其它光学媒体)。分别通过硬盘驱动器接口1826、磁盘驱动器接口1828以及光盘驱动器接口1830把硬盘驱动器1816、磁盘驱动器1818以及光盘驱动器1822链接到系统总线1808。驱动器1816-1822以及它们相关联的计算机可读出媒体提供用于计算机1802的数据、数据结构、计算机可执行指令等的非易失性存储。虽然上面的计算机可读出媒体的说明涉及硬盘、可移动磁盘和CD,但是熟悉本技术领域的人员应理解,还可以在示例操作环境1800中使用计算机可读出的其它类型的媒体,诸如盒式磁带、快闪存储卡、数字视频盘、Bernoulli磁带盒等,此外,任何如此的媒体可以包括用于执行本发明的方法的计算机可执行指令。
可以把许多程序模块存储在驱动器1816-1822和RAM 1812中,包括操作系统1832、一个或多个应用程序1834、其它程序模块1836以及程序数据1838。操作系统1832可以是任何合适的操作系统或操作系统的组合。作为例子,应用程序1834和程序模块1836可以包括利用根据本发明的一个方面的数据的数据库服务系统和/或预设高速缓存系统。此外,程序数据1838可以包括用于控制和/或偏置根据本发明的一个方面的预设高速缓存系统的输入数据。
用户可以通过一个或多个用户输入设备(诸如键盘1840和指针设备(例如,鼠标1842))把命令和信息输入到计算机1802。其它输入设备(未示出)可以包括话筒、摇杆、游戏小键盘、卫星盘、无线远程、扫描器等。通常通过耦合到系统总线1808的串行端口接口1844把这些和其它输入设备链接到处理单元1804,但是也可以通过其它接口连接,诸如并行端口、游戏端口或通用串行总线(USB)。还经由诸如视频适配器1848之类的接口把监视器1846或其它类型显示设备链接到系统总线1808。除了监视器1846之外,计算机1802还可以包括其它外围输出设备(未示出),诸如扬声器、打印机等。
可以理解,计算机1802可以使用到一个或多个远程计算机1860的逻辑连接在网络化环境中操作。远程计算机1860可以是工作站、服务器计算机、路由器、对等设备或其它公共网络节点,以及一般包括相对于计算机1802描述的许多或所有单元,虽然为了简短的目的,在图18中只说明一个存储器存储装置1862。在图18中描绘的逻辑连接可以包括局域网(LAN)1864和广域网(WAN)1866。这种网络环境是办公室、全企业的计算机网络、企业内部网以及因特网中的公用地方。
例如,当在LAN网络环境中使用时,通过网络接口或适配器1868把计算机1802链接到局域网1864。当在WAN网络环境中使用时,计算机1802一般包括调制解调器(例如,电话、DSL、电缆等)1870,或连接到LAN上的通信服务器,或具有在WAN 1866上建立通信的其它装置,诸如因特网。经由串行端口接口1844把相对于计算机1802可以是内部或外部的调制解调器1870连接到系统总线1808。在网络化的环境中,可以把程序模块(包括应用程序1834)和/或程序数据1838存储在远程存储器存储装置1862中。应该理解,所示出的网络连接是作为例子的,当执行本发明的一个方面时,可以使用建立计算机1802和1860之间的通信链路的其它装置(例如,有线的或无线的)。
根据熟悉计算机编程技术领域的人员的实践,已经参考通过计算机(诸如计算机1802或远程计算机1860,除非另行表示)执行的动作和操作的符号表示来描述本发明。有时把这种动作和操作称为是计算机-执行的。可以理解,动作和由符号表示的操作包括通过表示数据位的电信号的处理单元1804的操作,所述数据位引起所产生的电信号表示的变换或减少,在存储器系统(包括系统存储器1806、硬盘驱动器1816、软盘驱动器1820、CD-ROM 1824以及远程存储器1862)中的存储器存储单元处保存数据位,从而再配置或否则改变计算机系统的操作,以及信号的其它处理。保存这种数据位的存储器存储单元是物理位置,它具有相对于数据位的特定的电、磁或光学特性。
图19是示例计算环境1900的另一个方框图,本发明可以与该计算环境交互作用。系统1900进一步说明包括一个或多个客户1902的系统。客户1902可以是硬件和/或软件(例如,线程、进程、计算设备)。系统1900还包括一个或多个服务器1904。服务器1904也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,服务器1904可以容纳线程,以通过使用本发明执行变换。客户1902和服务器1904之间一种可能的通信可以按适合于在两个或多个计算机过程之间发送的数据分组的形式。系统1900包括通信框架1908,可以使用它来促进客户1902和服务器1904之间的通信。把客户1902可操作地连接到一个或多个客户数据存储器1910,可以用该存储器来存储客户1902的本地信息。相似地,把服务器1904可操作地连接到一个或多个服务器数据存储器1906,可以用该存储器来存储服务器1904的本地信息。
转到图20,示出本发明可以在其中起作用的操作环境2000的一个例子。这个一般的环境2000包括链接到数据源2010和用户接口2012的分析服务组件2002。用户接口2012包括OLAP浏览器、报告工具以及其它BI(商务智能)应用程序等。分析服务组件2002一般具有经由接口2008(象XML/A(扩展标记语言/分析)和MDX(多维交换语言)等)的带有用户接口2012的接口2014。分析服务组件2002包括UDM(统一维数模型)组件2004和高速缓存2006。在这个例子中,经由UDM组件2004和高速缓存2006在分析服务组件2002中使用本发明。UDM组件可以预设地访问高速缓存2006和/或直接访问数据。
上面所描述的包括本发明的例子。当然,为了描述本发明,不可能描述组件或方法的每个想得到的组合,但是熟悉本技术领域的人员会理解,本发明的许多进一步的组合和更动都是可能的。因此,打算使本发明包括落在所附的权利要求书的精神和范围内的所有如此的改变、修改和变型。此外,就在详细说明和权利要求书中都使用了术语“包括(includes)”来说,打算按与术语包括(comprising)在权利要求书中作为过渡词时解释“comprising”的相似的方式来包括如此的术语。

Claims (64)

1.用于高速缓存信息的一种系统,包括:
多维对象接口,它允许访问提供从数据库得到的动态多维分析数据的至少一个多维对象;
高速缓存接口,它允许访问和控制提供从多维对象导出的动态多维分析数据的至少一个高速缓存;以及
耦合到多维对象和高速缓存的至少一个分析组件,用于预设地控制对多维对象和高速缓存的访问。
2.如权利要求1所述的系统,其特征在于,所述数据库包括关系数据库。
3.如权利要求1所述的系统,其特征在于,所述多维对象包括ROLAP对象。
4.如权利要求1所述的系统,其特征在于,所述高速缓存包括MOLAP高速缓存。
5.如权利要求1所述的系统,其特征在于,所述多维对象包括实时访问分析数据以及所述高速缓存包括快速访问分析数据。
6.如权利要求1所述的系统,其特征在于,所述分析组件包括统一维数模型(UDM)。
7.如权利要求1所述的系统,其特征在于,所述分析组件包括:
至少一个输入,用于确定何时预设地控制高速缓存;以及
查询解释器,用于根据输入接收和审定查询。
8.如权利要求7所述的系统,其特征在于,所述输入包括从由用户输入和系统输入组成的组中选择的至少一个输入,用于预设地控制高速缓存。
9.如权利要求8所述的系统,其特征在于,所述系统输入包括数据库更新通知。
10.如权利要求8所述的系统,其特征在于,所述用户输入包括从由安静时间延迟、安静时间延迟复盖、强制刷新时间的组中选择的至少一个输入,以及用户启动部分高速缓存的重构。
11.如权利要求8所述的系统,其特征在于,所述系统输入包括从由最新数据库更新跟踪器、影响OLAP对象的表以及相关OLAP对象数据源跟踪器组成的组中选择的至少一个输入。
12.如权利要求1所述的系统,其特征在于,具有预设高速缓存操作模式的所述分析组件包括从由ROLAP模式、MOLAP模式以及MOLAP/ROLAP模式组成的组中选择的至少一种模式。
13.如权利要求12所述的系统,其特征在于,通过从由安静时间延迟符合、安静时间延迟复盖符合、强制刷新时间符合组成的组中选择的至少一个来可操作地触发ROLAP模式,以及更新数据库。
14.如权利要求12所述的系统,其特征在于,从所述组中所选择的至少一个可操作地触发的MOLAP模式的组成包括:
MOLAP高速缓存和ROLAP对象两者可得到的等价物查询数据;以及用户要求。
15.如权利要求12所述的系统,其特征在于,从由所要求的实时和短等待时间查询两者以及所要求的MOLAP高速缓存的部分的构造组成的组中选择的至少一个来可操作地触发所述MOLAP/ROLAP模式。
16.如权利要求1所述的系统,其特征在于,所述分析组件具有处理多个查询的能力,所述多个查询的每一个要求不同的预设高速缓存处理。
17.如权利要求1所述的系统,其特征在于,所述分析组件具有处理经分析的查询的能力,所述经分析的查询的每个部分要求不同的预设高速缓存处理。
18.如权利要求1所述的系统,其特征在于,所述分析组件包括用于使分析组件最优化的自适应调谐组件。
19.如权利要求18所述的系统,其特征在于,所述自适应调谐组件包括:
查询解释器,用于处理查询和启动(instigating)与多维对象和高速缓存的查询会话;
可操作地连接到所述查询解释器的结果比较器,用于确定多维对象和高速缓存的各查询会话之间的差异;以及
可操作地连接到所述结果比较器的性能最优化器,用于根据由所述结果比较器确定的差异而使所述查询解释器最优化。
20.数据库服务的一种方法包括:
可操作地耦合到从至少一个数据库得到的至少一个所述多维对象以及耦合到包括从所述多维对象得到的动态多维分析数据的至少一个所述高速缓存;以及
响应于查询预设地控制对所述多维对象和所述高速缓存的访问。
21.如权利要求20所述的方法,其特征在于,所述多维对象包括ROLAP对象。
22.如权利要求20所述的方法,其特征在于,所述数据库包括关系数据库。
23.如权利要求20所述的方法,其特征在于,所述高速缓存包括MOLAP高速缓存。
24.如权利要求24所述的方法,进一步包括:
处理所述多维对象以产生所述高速缓存。
25.如权利要求24所述的方法,其特征在于,所述处理包括后台事务。
26.如权利要求24所述的方法,进一步包括:
监测所述数据库的相关改变;以及
当发生相关的改变时,再处理所述多维对象以产生经更新的高速缓存。
27.如权利要求24所述的方法,进一步包括:
当从所检测的自动条件和所检测的用户启动动作组成的组中选择的至少一个发生时,取消所述多维对象的处理。
28.如权利要求27所述的设备,其特征在于,所述所检测的自动条件包括数据库改变。
29.如权利要求27所述的方法,其特征在于,所述所检测的用户启动动作包括从所述多维对象的提交处理和起动所述多维对象的另一个事务组成的组中选择的至少一个动作。
30.用于高速缓存信息的一种系统包括:
第一装置,用于提供从数据库导出的动态多维分析数据;
第二装置,用于提供从所述第一装置导出的动态多维分析数据;以及
用于耦合第一装置和第二装置的第三装置,用于预设地控制对第一和第二装置的访问,以提供关于所述数据库的所要求的查询响应。
31.高速缓存数据的一种方法包括:
提供至少一个多维对象,所述多维对象提供从数据库导出的动态多维分析数据;
构造提供从至少一个多维对象导出的动态多维分析数据的至少一个高速缓存;
切换分析组件的操作模式,只为查询分析而访问高速缓存;以及
利用高速缓存分析查询。
32.如权利要求31所述的方法,进一步包括:
确定是否已经发生相关多维对象的任何改变;以及
当已经发生相关改变时切换分析组件操作模式以访问所述多维对象。
33.如权利要求32所述的方法,进一步包括:
除去与相关改变有关的所有高速缓存;以及
根据所述改变的多维对象再构造高速缓存。
34.如权利要求31所述的方法,进一步包括:
确定查询是否需要从短等待时间数据和实时数据的组中选择的至少一个数据。
35.如权利要求34所述的方法,进一步包括:
当需要短等待时间和实时数据两者时把分析组件切换到MOLAP/ROLAP操作模式。
36.如权利要求31所述的方法,其特征在于,所述多维对象包括ROLAP对象。
37.如权利要求31所述的方法,其特征在于,所述数据库包括关系数据库。
38.如权利要求31所述的方法,其特征在于,所述高速缓存包括MOLAP高速缓存。
39.如权利要求31所述的方法,其特征在于,所述分析组件包括DUM。
40.如权利要求31所述的方法,其特征在于,所述分析组件具有多个操作模式,所述操作模式包括从MOLAP模式、ROLAP模式和MOLAP/ROLAP模式组成的组中选择的至少一个模式。
41.预设高速缓存的一种方法包括;
提供与判定操作模式有关的一个输入;
至少部分地根据所述输入判定操作模式;
提供至少一个多维对象,所述多维对象提供从数据库导出的动态多维分析数据;
构造至少一个高速缓存,所述高速缓存提供从至少一个多维对象导出的动态多维分析数据;
把具有操作模式的分析组件切换到所确定的操作模式;以及
利用所确定的操作模式经由分析组件处理查询。
42.如权利要求41所述的方法,进一步包括:
确定是否已经发生相关多维对象的任何改变;以及
当已经发生相关改变时切换所述分析组件以访问所述多维对象。
43.如权利要求42所述的方法,进一步包括:
移去与相关改变有关的所有高速缓存;以及
根据所述改变的多维对象重构高速缓存。
44.如权利要求41所述的方法,进一步包括:
在构造所述高速缓存期间确定相关改变;以及
当发生相关改变时取消所述高速缓存的构造。
45.如权利要求41所述的方法,其特征在于,所述输入包括从至少一个用户输入和至少一个系统输入组成的组中选择的至少一个输入。
46.如权利要求45所述的方法,其特征在于,所述用户输入包括从短等待时间查询请求和实时查询请求组成的组中选择的至少一个输入。
47.预设高速缓存的一种方法包括:
提供至少一个多维对象,所述多维对象提供从数据库导出的动态多维分析数据;
构造至少一个高速缓存,所述高速缓存提供从至少一个多维对象导出的动态多维分析数据;
提供指定数据的一个输入;
确定是否已经发生相关多维对象的任何改变;
当已经发生相关改变时切换分析组件操作模式以访问多维对象;以及
根据改变的相关多维对象重构高速缓存。
48.如权利要求47所述的方法,其特征在于,所述输入包括要求被更新的数据。
49.如权利要求48所述的方法,其特征在于,相关多维对象的所述改变包括要求被更新的数据。
50.如权利要求47所述的方法,其特征在于,所述输入包括把数据链接到所述相关多维对象的信息。
51.如权利要求50所述的方法,进一步包括:
把所述分析组件切换到一个操作模式,以只在重构高速缓存之后才访问高速缓存;以及
利用所述高速缓存经由所述分析组件处理查询。
52.预设高速缓存的一种方法包括:
提供至少一个多维对象,所述多维对象提供从数据库导出的动态多维分析数据;
构造至少一个高速缓存,所述高速缓存提供从至少一个多维对象导出的动态多维分析数据;
提供一个输入,用于确定高速缓存重构参数;
确定是否已经满足高速缓存重构参数;
当已经满足高速缓存重构参数时切换分析组件操作模式以访问多维对象;以及
根据相关多维对象重构高速缓存。
53.如权利要求52所述的方法,其特征在于,所述高速缓存重构参数包括从强制刷新率、安静时间延迟和安静时间延迟复盖组成的组中选择的至少一个参数。
54.使预设高速缓存最优化的一种方法包括:
把查询输入到查询解释器;
把查询装载到至少两个会话中,每个会话访问从不同的数据库导出的数据源。
比较来自会话的结果数据,以经由结果比较器确定差异;以及
分析会话的差异,以通过查询解释器使预设高速缓存自适应地最优化。
55.在便于数据分析的两个或多个计算机组件之间发送的数据分组,所述数据分组包括部分地基于预设高速缓存结构的动态多维分析数据。
56.如权利要求55所述的数据分组,其特征在于,所述动态多维分析数据包括从从数据库导出的多维对象数据和从至少一个多维对象导出的动态多维分析数据组成的组中选择的至少一个数据。
57.如权利要求56所述的数据分组,其特征在于,从所述至少一个多维对象导出的所述动态多维分析数据包括来自MOLAP高速缓存的数据。
58.如权利要求56所述的数据分组,其特征在于,所述多维对象数据包括来自OLAP对象的数据。
59.如权利要求58所述的数据分组,其特征在于,所述OLAP对象包括ROLAP对象。
60.如权利要求56所述的数据分组,其特征在于,所述数据库包括关系数据库。
61.一种计算机可读出媒体,它存储用于便于数据分析的一个系统的计算机可执行组件,所述计算机可读出媒体包括预设高速缓存系统,所述预设高速缓存系统至少部分地根据至少一个OLAP对象变型高速缓存提供与数据集相关联的信息。
62.如权利要求61所述的媒体,其特征在于,所述OLAP对象变型高速缓存包括MOLAP高速缓存。
63.如权利要求61所述的媒体,其特征在于,所述预设高速缓存系统包括:
至少一个分析组件,它能够预设地耦合到多维对象和包括从多维对象导出的动态多维分析数据的高速缓存,预设地控制对于多维对象和高速缓存的访问。
64.使用权利要求1的系统的一种装置包括从计算机、服务器以及手持电子装置组成的组中选择的至少一个装置。
CNB2004100322660A 2003-03-28 2004-03-26 利用联机分析处理变型先发地高速缓存的系统和方法 Expired - Fee Related CN100440205C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/402,000 2003-03-28
US10/402,000 US7269581B2 (en) 2003-03-28 2003-03-28 Systems and methods for proactive caching utilizing OLAP variants

Publications (2)

Publication Number Publication Date
CN1551014A true CN1551014A (zh) 2004-12-01
CN100440205C CN100440205C (zh) 2008-12-03

Family

ID=32989579

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100322660A Expired - Fee Related CN100440205C (zh) 2003-03-28 2004-03-26 利用联机分析处理变型先发地高速缓存的系统和方法

Country Status (5)

Country Link
US (4) US7269581B2 (zh)
EP (1) EP1477912A3 (zh)
JP (1) JP4578120B2 (zh)
KR (1) KR100996771B1 (zh)
CN (1) CN100440205C (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100437589C (zh) * 2007-01-30 2008-11-26 金蝶软件(中国)有限公司 联机分析处理系统中多维表达式数据缓存的方法和装置
CN103176459A (zh) * 2006-09-13 2013-06-26 费舍-柔斯芒特系统股份有限公司 用于批处理过程的精简批处理显示技术
CN103870571A (zh) * 2014-03-14 2014-06-18 华为技术有限公司 多维联机分析处理系统中的立方体重构方法和装置
CN104598508A (zh) * 2013-09-18 2015-05-06 Ims保健公司 用于快速查询响应的系统和方法
CN105573838A (zh) * 2014-10-14 2016-05-11 阿里巴巴集团控股有限公司 缓存健康度检测方法及装置
CN105830061A (zh) * 2014-01-02 2016-08-03 华为技术有限公司 维护数据库系统中用于联机分析处理的数据的方法和装置
CN106909691A (zh) * 2017-03-09 2017-06-30 山东浪潮商用系统有限公司 一种基于缓存的高效税收数据分析方法
CN108664560A (zh) * 2018-04-09 2018-10-16 宁波诺信睿聚投资有限责任公司 数据查询方法、装置、计算机设备及计算机可读存储介质

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269581B2 (en) * 2003-03-28 2007-09-11 Microsoft Corporation Systems and methods for proactive caching utilizing OLAP variants
US6946648B2 (en) * 2003-03-31 2005-09-20 Council Of Scientific And Industrial Research Opto-electronic device for angle generation of ultrasonic probe
ATE350715T1 (de) 2003-05-15 2007-01-15 Targit As Methode und benutzerschnittstelle für das bilden einer darstellung von daten mit meta-morphing
US7779018B2 (en) * 2003-05-15 2010-08-17 Targit A/S Presentation of data using meta-morphing
US7523462B1 (en) * 2003-05-27 2009-04-21 International Business Machines Corporation Method for providing a real time view of heterogeneous enterprise data
US7657516B2 (en) * 2003-12-01 2010-02-02 Siebel Systems, Inc. Conversion of a relational database query to a query of a multidimensional data source by modeling the multidimensional data source
US8468444B2 (en) * 2004-03-17 2013-06-18 Targit A/S Hyper related OLAP
US7558784B2 (en) * 2004-04-26 2009-07-07 Right90, Inc. Operating plan data aggregation system with real-time updates
US20050278458A1 (en) * 2004-06-09 2005-12-15 Microsoft Corporation Analysis services database synchronization
US7774298B2 (en) * 2004-06-30 2010-08-10 Sap Ag Method and system for data extraction from a transaction system to an analytics system
US20060064429A1 (en) * 2004-09-18 2006-03-23 Chi Yao Method and apparatus for providing assets reports categorized by attribute
US7475093B2 (en) * 2004-10-15 2009-01-06 Microsoft Corporation Memory cache management in XML/relational data mapping
US7774295B2 (en) * 2004-11-17 2010-08-10 Targit A/S Database track history
US20070022120A1 (en) * 2005-07-25 2007-01-25 Microsoft Corporation Caching and modifying portions of a multi-dimensional database on a user device
US20070156631A1 (en) * 2005-12-29 2007-07-05 Sap Ag Synchronization of transactional applications and analytical applications
US7730024B2 (en) * 2006-03-20 2010-06-01 Microsoft Corporation Distributed data mining using analysis services servers
WO2007131510A2 (en) * 2006-05-16 2007-11-22 Targit A/S A method of preparing an intelligent dashboard for data monitoring
DK176532B1 (da) 2006-07-17 2008-07-14 Targit As Fremgangsmåde til integration af dokumenter med OLAP ved brug af sögning, computerlæsbart medium og computer
DK176516B1 (da) * 2007-04-30 2008-06-30 Targit As Computerimplementeret fremgangsmåde samt computersystem og et computerlæsbart medium til at lave videoer, podcasts eller slidepræsentationer fra en Business-Intelligence-application
US7765216B2 (en) * 2007-06-15 2010-07-27 Microsoft Corporation Multidimensional analysis tool for high dimensional data
US7870114B2 (en) 2007-06-15 2011-01-11 Microsoft Corporation Efficient data infrastructure for high dimensional data analysis
US9626421B2 (en) 2007-09-21 2017-04-18 Hasso-Plattner-Institut Fur Softwaresystemtechnik Gmbh ETL-less zero-redundancy system and method for reporting OLTP data
US8725713B2 (en) * 2008-01-11 2014-05-13 International Business Machines Corporation String searches in a computer database
US8082239B2 (en) 2008-02-04 2011-12-20 Microsoft Corporation Defining sub-cube scope based upon a query
US8533280B1 (en) * 2008-05-02 2013-09-10 BitGravity, Inc. Distributed origin content delivery network
US20120102453A1 (en) * 2010-10-21 2012-04-26 Microsoft Corporation Multi-dimensional objects
KR101226476B1 (ko) 2010-11-05 2013-01-25 (주)윌비솔루션 P2p olap 시스템
US8170981B1 (en) * 2010-12-08 2012-05-01 Dassault Systemes Enovia Corporation Computer method and system for combining OLTP database and OLAP database environments
CN102411598B (zh) * 2011-07-29 2013-07-31 株洲南车时代电气股份有限公司 一种实现数据一致性的方法及其系统
US9330091B1 (en) 2011-10-08 2016-05-03 Bay Dynamics, Inc. System for managing data storages
US8799207B1 (en) * 2011-10-08 2014-08-05 Bay Dynamics Unified data source management
US10353922B1 (en) 2011-10-08 2019-07-16 Bay Dynamics, Inc. Rendering multidimensional cube data
US9081830B1 (en) 2011-10-08 2015-07-14 Bay Dynamics Updating a view of a multidimensional cube
US9390082B1 (en) 2011-10-08 2016-07-12 Bay Dynamics, Inc. Generating multiple views of a multidimensional cube
US8909680B1 (en) 2011-10-08 2014-12-09 Bay Dynamics Intelligent caching of multidimensional cube data
US9171055B1 (en) 2011-10-08 2015-10-27 Bay Dynamics, Inc. Content packs for multidimensional data storage cubes
US9183269B1 (en) 2011-10-08 2015-11-10 Bay Dynamics, Inc. Federated multidimensional data storage cubes
US8965836B1 (en) 2011-10-08 2015-02-24 Bay Dynamics Management of multidimensional data storage cubes using content packs
CN102789488B (zh) * 2012-06-29 2016-05-04 用友网络科技股份有限公司 数据查询处理系统和数据查询处理方法
TWI485560B (zh) * 2012-08-31 2015-05-21 Ibm 資料分析系統、快取裝置、與資料處理方法
US10275484B2 (en) * 2013-07-22 2019-04-30 International Business Machines Corporation Managing sparsity in a multidimensional data structure
US10664479B2 (en) * 2014-06-27 2020-05-26 Sap Se Accommodating concurrent changes in underlying data during reporting
CN104317936A (zh) * 2014-10-31 2015-01-28 北京思特奇信息技术股份有限公司 一种基于星型模型的rolap解析引擎设计方法及装置
CN105426501B (zh) * 2015-11-25 2018-12-21 广州华多网络科技有限公司 多维数据库自动路由实现方法和系统
KR101820108B1 (ko) * 2016-08-29 2018-01-19 (주)비아이매트릭스 캐시 테이블 통합 기반 2단계 쿼리 처리 시스템
RU2688229C1 (ru) * 2017-12-25 2019-05-21 Общество с ограниченной ответственностью "РЕГУЛ+" (ООО "РЕГУЛ+") Способ агрегирования и преобразования данных и устройство для его реализации

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878223A (en) * 1997-05-07 1999-03-02 International Business Machines Corporation System and method for predictive caching of information pages
US5978796A (en) * 1997-06-30 1999-11-02 International Business Machines Corporation Accessing multi-dimensional data by mapping dense data blocks to rows in a relational database
US6205447B1 (en) * 1997-06-30 2001-03-20 International Business Machines Corporation Relational database management of multi-dimensional data
US5926818A (en) * 1997-06-30 1999-07-20 International Business Machines Corporation Relational database implementation of a multi-dimensional database
US6026413A (en) * 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
US6256712B1 (en) * 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
US5924096A (en) 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
JP3476349B2 (ja) * 1997-11-12 2003-12-10 三菱電機株式会社 データ処理装置
US6272502B1 (en) 1998-05-11 2001-08-07 Lucent Technologies Inc. Refreshing materialized views of a database to maintain consistency with underlying data
US6285997B1 (en) * 1998-11-16 2001-09-04 International Business Machines Corporation Query optimization with deferred update and autonomous sources
JP2001022766A (ja) 1999-07-06 2001-01-26 Degital Works Kk 多次元データベースの高速処理方法および装置
US6493718B1 (en) * 1999-10-15 2002-12-10 Microsoft Corporation Adaptive database caching and data retrieval mechanism
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
JP2001282590A (ja) 2000-03-29 2001-10-12 Hitachi Kokusai Electric Inc 多次元データベース処理システム
US6763357B1 (en) * 2000-06-27 2004-07-13 Ncr Corporation Method for determining the computability of data for an active multi-dimensional cache in a relational database management system
US6728840B1 (en) * 2000-10-20 2004-04-27 Emc Corporation Methods and apparatus for providing host controlled caching of data in a storage system
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
AU2002332556A1 (en) * 2001-08-15 2003-03-03 Visa International Service Association Method and system for delivering multiple services electronically to customers via a centralized portal architecture
US7089228B2 (en) * 2002-04-18 2006-08-08 International Business Machines Corporation Computer apparatus and method for caching results of a database query
AU2003259281A1 (en) 2002-07-26 2004-02-16 Datatrak International Method and system of unifying data
US7058640B2 (en) 2003-02-05 2006-06-06 International Business Machines Corporation Systems, methods, and computer program products to efficiently update multidimensional databases
US7269581B2 (en) * 2003-03-28 2007-09-11 Microsoft Corporation Systems and methods for proactive caching utilizing OLAP variants

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176459A (zh) * 2006-09-13 2013-06-26 费舍-柔斯芒特系统股份有限公司 用于批处理过程的精简批处理显示技术
CN103176459B (zh) * 2006-09-13 2016-05-04 费舍-柔斯芒特系统股份有限公司 用于批处理过程的精简批处理显示技术
CN100437589C (zh) * 2007-01-30 2008-11-26 金蝶软件(中国)有限公司 联机分析处理系统中多维表达式数据缓存的方法和装置
CN104598508A (zh) * 2013-09-18 2015-05-06 Ims保健公司 用于快速查询响应的系统和方法
CN104598508B (zh) * 2013-09-18 2021-06-08 Iqvia 公司 用于快速查询响应的系统和方法
CN105830061B (zh) * 2014-01-02 2019-06-28 华为技术有限公司 维护数据库系统中用于联机分析处理的数据的方法和装置
CN105830061A (zh) * 2014-01-02 2016-08-03 华为技术有限公司 维护数据库系统中用于联机分析处理的数据的方法和装置
CN103870571A (zh) * 2014-03-14 2014-06-18 华为技术有限公司 多维联机分析处理系统中的立方体重构方法和装置
WO2015135407A1 (zh) * 2014-03-14 2015-09-17 华为技术有限公司 多维联机分析处理系统中的立方体重构方法和装置
CN103870571B (zh) * 2014-03-14 2017-06-06 华为技术有限公司 多维联机分析处理系统中的立方体重构方法和装置
US10437816B2 (en) 2014-03-14 2019-10-08 Huawei Technologies Co., Ltd. Method and apparatus for reconstructing cube in multidimensional online analytical processing system
CN105573838A (zh) * 2014-10-14 2016-05-11 阿里巴巴集团控股有限公司 缓存健康度检测方法及装置
CN105573838B (zh) * 2014-10-14 2022-04-29 创新先进技术有限公司 缓存健康度检测方法及装置
CN106909691A (zh) * 2017-03-09 2017-06-30 山东浪潮商用系统有限公司 一种基于缓存的高效税收数据分析方法
CN108664560A (zh) * 2018-04-09 2018-10-16 宁波诺信睿聚投资有限责任公司 数据查询方法、装置、计算机设备及计算机可读存储介质

Also Published As

Publication number Publication date
US20060129597A1 (en) 2006-06-15
US20060112137A1 (en) 2006-05-25
US20040193576A1 (en) 2004-09-30
US20060184518A1 (en) 2006-08-17
US7689605B2 (en) 2010-03-30
EP1477912A2 (en) 2004-11-17
EP1477912A3 (en) 2006-05-10
CN100440205C (zh) 2008-12-03
US7680776B2 (en) 2010-03-16
KR20040085041A (ko) 2004-10-07
JP4578120B2 (ja) 2010-11-10
US7269581B2 (en) 2007-09-11
KR100996771B1 (ko) 2010-11-25
JP2004303212A (ja) 2004-10-28

Similar Documents

Publication Publication Date Title
CN100440205C (zh) 利用联机分析处理变型先发地高速缓存的系统和方法
US11036735B2 (en) Dimension context propagation techniques for optimizing SQL query plans
CN100565510C (zh) 数据访问层类生成器
US8108399B2 (en) Filtering of multi attribute data via on-demand indexing
US7562086B2 (en) Custom grouping for dimension members
US7430562B1 (en) System and method for efficient date retrieval and processing
US20080195646A1 (en) Self-describing web data storage model
US9213698B1 (en) Unified data architecture for business process management and data modeling
US7299220B2 (en) Constructing database object workload summaries
CN103177056A (zh) 存储为行存储和列存储二者的混合数据库表
US10885062B2 (en) Providing database storage to facilitate the aging of database-accessible data
US12026653B2 (en) Database system and method for carbon footprint optimization
Harinath et al. Professional Microsoft SQL server analysis services 2008 with MDX
Vogt et al. Icarus: Towards a multistore database system
Vitt et al. Microsoft sql server 2005 analysis services performance guide
US20240119071A1 (en) Relationship-based display of computer-implemented documents
Löser et al. 1 “Exploration and Adaption of Large Language Models for Specialized Domains” von Betty van Aken, Gottfried Wilhelm Leibniz Universität Hannover, Dezember 2023
Yaqoob A Step towards Centralized Data Warehousing Process: A Quality Aware Data Warehouse Architecture
Golfarelli et al. OS BI: Open Research Issues
Neufeld Java-enabled data warehousing
Chan et al. Oracle Database Performance Tuning Guide, 11g Release 2 (11.2) E16638-07
Chan et al. Oracle Database Performance Tuning Guide, 11g Release 2 (11.2) E16638-03
Machura The data network: a distributed object view of dynamic data management
Tkachuk et al. Analysis Services Performance Guide
Shin Denormalization effects on performance of relational database for data warehouse

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150508

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150508

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081203

Termination date: 20200326

CF01 Termination of patent right due to non-payment of annual fee