JP2004303212A - 変形olapを使用する先行キャッシュ・システムおよび方法 - Google Patents

変形olapを使用する先行キャッシュ・システムおよび方法 Download PDF

Info

Publication number
JP2004303212A
JP2004303212A JP2004058207A JP2004058207A JP2004303212A JP 2004303212 A JP2004303212 A JP 2004303212A JP 2004058207 A JP2004058207 A JP 2004058207A JP 2004058207 A JP2004058207 A JP 2004058207A JP 2004303212 A JP2004303212 A JP 2004303212A
Authority
JP
Japan
Prior art keywords
cache
data
database
query
molap
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
JP2004058207A
Other languages
English (en)
Other versions
JP4578120B2 (ja
Inventor
Cristian Petculescu
ペトカレスキュ クリスチャン
Amir Netz
ネッツ アミル
Thomas P Conlon
ピー.コンロン トーマス
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 Corp
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 JP2004303212A publication Critical patent/JP2004303212A/ja
Application granted granted Critical
Publication of JP4578120B2 publication Critical patent/JP4578120B2/ja
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

【課題】 変形OLAPを使用する先行キャッシュ・システムおよび方法を提供すること。
【解決手段】 本発明は、バックグラウンド処理において、そのオブジェクトのMOLAP等価物を構築することによって、ROLAPオブジェクト(次元、区分および集約)に対してMOLAP性能を利用する。バックグラウンド処理が完了すると、クエリはROLAPクエリからMOLAPクエリに切り換えられる。関連するリレーショナル・オブジェクト(たとえばOLAPオブジェクトの内容を定義するテーブル)に変更が起こると、OLAPオブジェクトは、切り換えられてROLAPモードに戻され、すべての関連するキャッシュが取り去られ、その間、バックグラウンド処理として、新しいMOLAP等価物が作成される。
【選択図】 図1


Description

本発明は、全般的にはデータのキャッシュに関し、より詳細には、変形OLAP(OLAP variant)を用いてデータを先行的に(proactively)キャッシュするシステムおよび方法に関する。
コンピューティング技術およびネットワーク技術は、毎日の生活の多くの重要な側面を変えてきた。コンピュータは、贅沢な教育用の道具や娯楽の中心というよりはむしろ、家庭において欠かせないものになり、財務状況を管理して予測し、暖房、冷房、照明およびセキュリティなどの家庭用機器の操作を制御し、持続性があり信頼できる媒体に記録およびイメージを格納するためのツールをユーザに提供する。インターネットなどのネットワーク技術は、リモートシステム、情報、および関連アプリケーションへの実質的に無制限なアクセスをユーザに提供する。
コンピューティング技術およびネットワーク技術が頑強(robust)で、安全かつ信頼できるようになるにつれて、より多くの消費者、卸売業者、小売業者、事業者、教育機関などが、その枠組み(paradigms)を変えて、従来の手段の代わりにインターネットなどのネットワークを利用して、業務を行うようになっている。たとえば、多くの企業および消費者が、ウェブサイトまたはオンライン・サービスを提供している。たとえば、今日では、消費者は、インターネットを介して自分の口座にアクセスし、残高照会、振込みおよび請求書の支払いなど、次々と増える利用可能な取引(transactions)を行うことができる。
一般に、ネットワーク・セッションは、クライアント・アプリケーションにとってアクセス可能なデータベースに情報を格納するサーバと対話するために、ユーザがクライアント・アプリケーションとインターフェースすることを伴う。たとえば、株式市場のウェブサイトは、株価情報を取り出し株式を購入するツールをユーザに提供することができる。ユーザは、株式記号を打ち込み、マウスをクリックしてクエリを活動化することによって株価情報を要求することができる。クライアント・アプリケーションは、株式のデータベース・テーブルを照会し、株価情報を返す。
コンピューティング技術およびネットワーク技術の欠点は、帯域幅が限定されていることである。あるユーザが帯域幅の一部分を使用することによって、使用されたその部分が他のユーザには利用できなくなる。したがって、より多くのユーザがネットワークを利用するようになるにつれて、利用可能な帯域幅が減り、それによって応答時間および性能が低下する。コンピューティング技術およびネットワーク技術の別の欠点は、利用可能なデータの量に比較して、利用可能なデータ転送レートが制限されていることである。たとえば、大量のデータ(たとえば、様々なサーバに分散されている)を取出する複数の要求が時間的に集中する可能性があり、そのことによっても、やはり性能を低下させることになる。
したがって、大型データベースについての情報へのアクセスを助けるために、ビジネス・インテリジェンス(BI)による解決策が開発された。多くの企業が、最近になってリレーショナル・タイプのデータベースに移行した。以前の出来事に関する格納されたデータについての「誰が(who)」および「何が(what)」という質問に答えるために、戦術的な情報を格納するデータウェア・ハウスが開発された。しかし、データウェア・ハウスは履歴データを取り出すことしかできないという事実により、これには制限があることがわかった。したがってデータの「誰が」および「何が」だけでなく、「この場合にはどうなるか(when if)」および「なぜ(why)」にも答えるOLAP(on-line analytical processing;オンライン分析処理/多次元分析)システムが開発された。OLAPシステムは、高速な、信頼できる、対話形式の処理を介して分析者、経営者、および幹部が情報を洞察することを可能にする集約データの多次元ビューである。
OLAPツールなどの分析ツールは、非常に多くのデータへのアクセス時間を短くするのを助ける。こうしたツールを使用することによって、ユーザは、すべてのデータを逐語的に取り出すのではなく、データに関して一般的な質問をしたり、または「クエリ」を送ることができる。したがって、「データに関するデータ」またはメタデータは、クエリ処理を促進させること、および必要なネットワーク帯域幅を削減することに役立っている。しかし、ビジネス環境ではよくあることだが、昨日は速かったものが今日の標準では遅いと見なされる。
米国特許第6,493,718号明細書 米国特許第6,205,447号明細書 米国特許第5,978,796号明細書 米国特許第5,926,818号明細書 米国特許第5,878,223号明細書 PANOS KALNIS and DIMITRIS PAPADIAS. Proxy-Server Architecture for OLAP. Proceeding of the 2001 ACM SIGMOD Conference. pp. 36-378. DENNIS SHASHA. The Emergence of the Date Warehouse. Department of Computer Science. New York University. August. 2000. 13 pages YIHONG ZHAO. KRISTIN TUFTE. and JEFFREY R. NAUGHTON. On the Performance of an Array-Based ADT for OLAP Workloads. Technical Report CS-TR-96-1313. University of Wisconsin-Madison. CS Department. May. 1996, 20 page VOLKER MARKL. FRANK RAMSAK. and RUDOLF BAYER. Improving OLAP Performance by Multidimensional Hierarchical Clustering. IEEE proceeding of IDEAS'99 13 page.
データストアが急激に大型化しているにもかかわらず、より高速な情報配信に対する要求は常に高まっている。
以下では、本発明のいくつかの態様の基本的な理解を提供するために、本発明の簡略化した要約を表す。この要約は、本発明の包括的な概要ではない。本発明の主要な/重大な要素を識別することも、本発明の範囲を詳述することも意図していない。後で提示するより詳細な説明の前置きとして、本発明のいくつかの概念を簡略化した形で提示することだけを目的としている。
本発明は、全般的にはデータのキャッシュに関し、より詳細には、変形OLAP(OLAP variants)を用いてデータを先行的にキャッシュするシステムおよび方法に関する。変形OLAPは、データ・ソースについての様々なクエリ・ソースを作成するのに利用される。データ・ソースに基づいて多次元オブジェクトを変形OLAPキャッシュ、たとえばMOLAP(Multidimensional OLAP;多次元OLAP)キャッシュに効率的に変換することによって、ユーザは、クエリを速く分析させることができるようになり、依然としてデータ・ソースにリアルタイムにアクセスすることもできる。本発明はまた、変形体がいつ使用されるかに関してユーザが対話形式で参加することを可能にし、非先行キャッシュ方式を利用する場合よりも高速でユーザ指向のクエリ応答を提供する。
本発明はまた、多次元分析データに、すなわち、既存のデータ構造の有用性を広げ、非常に大型のデータベースの高速かつ効率的な分析を提供する多次元分析データに、部分的に基づいたキャッシュを利用することにより、大型データベースに直接アクセスする必要性を減らすことによって、データ分析を容易にする。すべての変形OLAPには長所も短所もあるので、単一の変形体を使用するシステムでは、古くなったデータを返し、かつ/または応答が遅く、概してユーザを完全には満足させない。本発明は、クエリ応答時間を徹底的に削減し、同時に、リアルタイムの情報が抽出されることを可能にし、ユーザが高速に、かつクエリに応答するのに使用された変形体に関して見かけ上透過にデータを受け取ることを可能にし、操作性(user-friendliness)を最大限に向上させ、情報取出しの速度を上げ、利用される変形体にかかわらず、信頼できる情報を提供する。
上記の目的および関連する目的を達成するために、本発明の説明のための態様を、本明細書において以下の説明および添付の図面に関連して説明する。ただし、こうした態様は本発明の原理を利用することができる様々な方法のごくわずかを示すに過ぎず、本発明は、このようなすべての態様およびその等価物を含むことを意図する。本発明の他の利点および新規の特徴は、本発明の以下の詳細な説明を図面と併せ読むことにより、明らかになるであろう。
ここで図面を参照して本発明を説明するが、同じ参照番号は、全体を通して同じ要素を指すのに使われる。以下の説明では、説明のために、多くの具体的な詳細を、本発明の完全な理解を提供するために述べる。ただし、こうした具体的な詳細なしでも本発明を実施できることが明らかになるであろう。他の例では、本発明の説明を容易にするために、公知の構造および装置をブロック図の形で示す。
本願では、「構成要素」という用語は、コンピュータ関連のエンティティ、すなわちハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかを指すことを意図している。たとえば、構成要素は、プロセッサ上で実行されている処理、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータでよいが、それに限定されない。実例として、サーバ上で実行されているアプリケーションおよびそのサーバ両方がコンピュータ構成要素となることができる。1つまたは複数の構成要素が、実行の処理および/またはスレッド中に常駐することができ、構成要素は、1台のコンピュータに配置することも、かつ/または2台以上のコンピュータの間で分散することもできる。「スレッド」とは、オペレーティング・システムのコアが実行のためにスケジュールする処理におけるエンティティである。当該分野において公知であるように、各スレッドは、スレッドの実行に関連づけられた揮発性データである、関連する「コンテクスト」を有する。スレッドのコンテクストは、システム・レジスタの内容およびスレッドの処理に属す仮想アドレスを含む。したがって、スレッドのコンテクストを備える実際のデータは、実行時に変化する。
ロー・レイテンシ(低待ち時間)データおよびリアルタイム・データ両方を提供することができる変形OLAPがないので、本発明は、バックグラウンド処理として、そのオブジェクトのMOLAP等価物を構築することによって、ROLAPオブジェクト(次元、区分および集約)に対してMOLAP性能を利用する。そのバックグラウンド処理が完了すると、オブジェクトの使用は、はるかに速いクエリ応答時間を可能にするMOLAPクエリに切り換えられる。関連するリレーショナル・オブジェクト(たとえば、OLAPオブジェクトの内容を定義するテーブル)に変更が起こると、OLAPオブジェクトは、切り換えられてROLAPモードに戻され、すべての関連するキャッシュが取り去られ、その間、バックグラウンドでは、新しいMOLAP等価物が作成される。したがって、MOLAP等価物は、クエリを処理するのに使用されているモードに応じて先行的に制御されるキャッシュを提供するのに利用される。こうすることによって、ユーザは、ROLAPオブジェクトを照会する通常の実行代価を払うことなく、データを直ちに閲覧するという利益を得ること(および/または、リレーショナル・データベースの最新イメージを常に反映すること)ができるようになる。これにより、ユーザは、本発明を、常に最新のデータをできるだけ速く提供する、たとえばリレーショナル・データベースなどのデータベースの周囲にあるメタデータのシム・レイヤ(shim layer)として理解することができるようになる。最大限に包括的な性能を達成するために、ユーザは、先行キャッシュ(proactive caching)を微調整し、リレーショナル・データベース中の変更に合わせてキャッシュの振る舞い(behavior)に影響を与えるための様々な選択肢(こうした選択肢は、後で詳述する)を有する。
ユーザが最新のデータ(リアルタイムのOLAP)を見ることに興味をもっているが、ROLAPデータの閲覧に固有の遅延を望まない場合、ユーザは、バックグラウンド・トランザクションにおいて、等価なMOLAPオブジェクトを構築するように、また、MOLAP「イメージ」を代わりに使うようにクエリを「切り換える」ようにシステムに命令することができる。基底のリレーショナル・オブジェクトに対して変更が起こるとすぐに、システムは自動的にそうした変更に応答し、オブジェクトをROLAPモードに復帰させる短いトランザクションをオープンする。次いで、システムは、バックグラウンド・トランザクションを再オープンし、MOLAPイメージを再構築する。バックグラウンド・トランザクションが進行している間に更新が起きた場合、MOLAP処理はキャンセルされ、バックグラウンド・トランザクションが再始動される。こうしたバックグラウンド・トランザクションは、バックグラウンド・トランザクションであるがために、オブジェクトの現在のロッキング・モードと互換性のないモードにオブジェクトをロックする必要性を、トランザクションを開始したユーザがキャンセルすることができるという意味で、幾分「二級市民」である。
図1に、本発明の態様による例示的な先行キャッシュ処理100を示してある。先行キャッシュ処理100が102で始まり、104でROLAPオブジェクトが処理されてMOLAPキャッシュになる。処理100は、キャンセルを受けない限り106で完了されるが、キャンセルを受けると、108でデータベースが変更されたかどうかに関する検査を呼び出す。108でデータベースに変更がない場合、処理100は、106で完了される。しかし、108でデータベースに変更がある場合、処理100は再スケジュールされ、102で再度始まる。本発明の一般的な例では、動作は、110でユーザによって生成される。こうした動作110は、処理100を開始させる、ROLAPオブジェクトの処理のコミットすること(committing)112を含むことができる。ユーザによって生成される別の動作110は、ROLAPオブジェクトに対する別のトランザクションを開始すること(114)、既存のROLAPオブジェクトからMOLAPキャッシュへの処理104のキャンセルをすること、を含むことができる。システムはまた、たとえばデータベースの変更118などの条件116を自動的に検出することができる。データベースの変更118が起こると、既存のROLAPオブジェクトからMOLAPキャッシュへの処理104はキャンセルされる。
ユーザは、新しいMOLAPイメージ構築のバックグラウンド・トランザクションを開始する前に、「沈黙時間遅延(quiet time delay)」の機能によって「沈黙時間(quiet time)」の最短持続期間(minimum duration)を指定することもできる。こうすることにより、OLTP(オンライン・トランザクション処理)への複数のクロス・トランザクションの挿入/更新が可能になる(多くのOLTPアプリケーションは、ある特定の瞬間に個別に挿入を行うことによって、トランザクションのデータを更新する)。こうすることによって、クエリを繰り返すことによる、OLAPサーバがOLTPシステムに対してかけるクエリについての負荷が減少する。沈黙時間遅延は、関与する任意のテーブルの「最後に更新された」時間を追跡する構成要素によって達成される。
沈黙時間遅延の機能と同様、任意選択的な「遅延」トリガの機能が、指定された期限(設定可能な間隔)ごとに累積した変更を処理するバックグラウンド・スレッドにおいてすべての変更が追跡されることを指定する。この論理方式では、2つのスレッドの間にキューを実装することによってこの機能が実装され、呼出しはすべて、このキューを通して処理される。この機能により、特定のプロバイダによって提示することができる通知機構は、テーブルが更新されたかどうかを尋ねるクエリでOLTPに過負荷をかけることを防止できるようになる。概して、これは、先行キャッシュ・サブ・システム全体の通知動作を示しているので、(オブジェクトごとではなく)サーバごとに達成される。
別の機能により、特定のテーブル/ビュー/ROLAPオブジェクトを「ダーティ(dirty)」とユーザがマーク付けする手段を介して、上記の処理を「手作業(manual)」でトリガする手作業の変更を行うことが可能になる。これは通常、通常の機構、たとえばXML/A(拡張マークアップ言語/分析)などを介してサーバに送ることができるDDL(データ定義言語)ステートメントによって行われる。本発明の一態様では、2つのカテゴリのマーク付けがあり得る。すなわち、リレーショナル・オブジェクトのマーク付け(複数のROLAPオブジェクトに影響を与える可能性がある)および/またはROLAPオブジェクトのマーク付け(基本的に、依存性に関する限り、リレーショナル層をブートストラップする)である。
さらに別の機能により、追跡テーブルのリストを作成する手段が可能になる。ユーザは、ある特定のROLAPオブジェクトに影響を与えるテーブルにラベルづけすることができる。こうすることの利点には、以下のようなものがある。この機能の1つの利点は、オブジェクトが基づいているある特定のテーブルが実際のテーブルではなく、ビューまたはDSV(データセット・ビューア)のビュー(名前つきクエリ)である場合、ビューが変更されたかに関するイベントを追跡するのは難しくなる(一般的な通知機構すなわちSQL(構造化照会言語)通知およびトリガは、規定のビューおよび名前つきクエリではなくテーブルおよび具体化されたビューに作用する)ことである。この機能がないと、ビューに対する変更を追跡する唯一の妥当な方法は、そのSQL定義を解析することである(しかし、これ自体もやはり他のビューに基づき、SQLの解析は妥当な手法ではない)。もう1つの利点は、「手作業」での変更機能に関連する。しばしば、オブジェクトがある特定のテーブルではなく、変更のあったテーブルに束縛されている場合でも、そのオブジェクトを「ダーティ」とマーク付けすることが望ましい。
本発明の一態様では、こうした手段は、以下の2つの場所のうちの少なくとも1つでテーブルのリストを作成することができる。すなわち、1)DSV中で、先行キャッシュの追跡用に代替テーブルのリストが提供される。したがって、先行キャッシュのために、ROLAPオブジェクトは、このテーブルに従属する場合、それ自体を、代替テーブルに実際に従属するものとして登録する。代替テーブルは、追跡可能なリレーショナル・オブジェクト(テーブルおよび/または単なるビューではなく、具体化されたビュー)であることが望ましい。2)ROLAPオブジェクト中で、オブジェクトを追跡するための追加の代替テーブルのリストが提供される。これはしばしば、DSV(区分)中のリレーショナル・オブジェクトへの必要な束縛をもたないオブジェクトにとって必要である。こうしたテーブルも、追跡可能なオブジェクト(テーブルおよび/または具体化されたビュー)であることが望ましい。
さらに別の機能は、「リミテッド・レイテンシ(limited latency;限定待ち時間)」のための手段を提供する。この機能は、新しいMOLAPイメージの作成開始と、古いMOLAPイメージのキャンセルおよび(ある場合には)ROLAPへの復帰との間の持続時間(duration)を指定する。本発明の一態様では、デフォルトで、この時間はゼロである(基本的に、2つのトランザクション、すなわちオブジェクトをROLAPにロールバックする1つのトランザクション、およびMOLAPエンジンの構築を開始する1つのトランザクション、が並列に始まる)。この機能の利点には、クエリがROLAPストアの除去に最短に進む持続期間を有すること、および(満了間隔が経過していない場合に)ROLAPのMOLAPイメージ構築の最後に、先行キャッシュされた次元の分析を提供すること、が含まれる。変更が実際に増分した場合、先行キャッシュされた区分は影響を受けない。変更が細分属性に影響を与えない場合、変更はフレキシブルな集約を除去し(ROLAPに復帰し再スケジュールする)、他のすべてに対して何も行わないままで残す。影響を与えた場合、この手段は、従属区分/集約をROLAPに復帰させる。
「沈黙時間のオーバーライド」の機能は、最初の通知の後で特定の長さの時間に達した場合、MOLAPイメージの作成が無条件に処理すべき対象から外されることを指定するための手段を提供する。ただし、本発明の一態様では、オーバーライドによってMOLAPイメージの作成が開始された場合、また、この構築中に別の通知が届いた場合、その通知は進行中のMOLAPイメージの作成をキャンセルしないことに留意されたい。この通知は、通常の処理のために記録される(「通常の」経路を使って処理が開始された場合、現在の記憶モードがROLAPの場合には通知はMOLAPイメージの作成のキャンセルを引き起こす)。
「強制再構築」の機能は、新しいイメージが構築された後の特定の時間にMOLAPイメージの作成が無条件に始まることを指定する。本発明の一態様では、イメージの作成中に通知が届いた場合、通知は通常の処理のためにキューに入れられる。
図2に移ると、本発明の態様によるデータベース・サービング・システム(database serving system)200のブロック図を示してある。データベース・サービング・システム200は、先行キャッシュ・システム202、多次元オブジェクトのサブセット232を有する、たとえば「OLAPオブジェクト」などの多次元オブジェクト208、および更新218を受け入れることができるデータベース210を備える。先行キャッシュ・システム202は、分析構成要素204、およびキャッシュ・サブセット230を有する少なくとも1つのキャッシュ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を有する。サブセット・インターフェース226、228は、キャッシュ206および/または多次元オブジェクト208の他の部分が更新されている間、キャッシュ206および多次元オブジェクト208のサブセットへのアクセスを提供する。キャッシュ206は、多次元オブジェクト208から派生した(引き出した)情報を備える。多次元オブジェクト208は、データベース210に基づく。
本発明の一例では、情報をキャッシュするシステムは、データベース210から派生した(引き出した)動的な多次元分析データを提供する少なくとも1つの多次元オブジェクト208、少なくとも1つの多次元オブジェクト208からの動的な多次元分析データを提供する少なくとも1つのキャッシュ206、ならびに、多次元オブジェクト208およびキャッシュ206へのアクセスを先行して制御する、多次元オブジェクト208およびキャッシュ206に結合された少なくとも1つの分析構成要素204を備える。本発明の他の例では、多次元オブジェクト208は、ROLAPオブジェクトなどのOLAPオブジェクトを備える。本発明のさらに別の例では、分析構成要素204は、UDM(Unified Dimensional Model;統一次元モデル)を備える。本発明のさらに別の例では、キャッシュ206は、MOLAPキャッシュなどを備える。本発明の他の例は、リアルタイムのアクセス分析データを備える多次元オブジェクト208、および高速アクセス分析データを備えるキャッシュ206を含むが、それに限定されるものではない。本発明のさらに他の例は、リレーショナル・データベースを備えるデータベース210を含む。
本発明の付加的な例はまた、分析構成要素204、キャッシュ206、および少なくとも1つの多次元オブジェクト208へのアクセスを可能にする多次元オブジェクト・インターフェース224を備える先行キャッシュ・システム202を含む。この分析構成要素は、多次元オブジェクト208およびキャッシュ206へのアクセスを制御することができる。したがって、多次元オブジェクト208は先行キャッシュ・システム202の一部である必要はない。多次元オブジェクト208は、データベース管理システムの一部でよい。本発明は、したがって、既存のデータベース管理システムで使用される能力を有することによって、本発明の運用に柔軟性をもたせる。このことは、その性能を高めながらも、既存のシステムを向上させ、有用性を最大限に高める。
本発明のさらなる例は、分析構成要素204、キャッシュ206にアクセスし制御することを可能にするキャッシュ・インターフェース222、および少なくとも1つの多次元オブジェクト208へのアクセスを可能にする多次元オブジェクト・インターフェース224を備える先行キャッシュ・システム202をさらに含む。したがって、キャッシュ206は、先行キャッシュ・システム202の外部に常駐することができる。このことにより、キャッシュ資源が既に利用可能である既存のプラットフォームに本発明をより一層柔軟に実装することさえもができるようになる。
図3を参照すると、本発明の態様によるデータベース・サービング・システム300の別のブロック図を示してある。データベース・サービング・システム300は、先行キャッシュ・システム302、たとえばOLAPオブジェクトなどの多次元オブジェクト308、および更新318を受け入れることができるデータベース310を備える。先行キャッシュ・システム302は、分析構成要素304、およびキャッシュ306を備える。本発明の本態様では、分析構成要素304は、クエリ入力320、ユーザ入力312、システム入力314、および更新通知用のデータベース入力316などを備える入力を受ける。本発明の他の例では、データベース入力316は、システム入力314の一部である。分析構成要素304は、多次元オブジェクト・インターフェース322を有する。本発明の本態様では、キャッシュ306は、多次元オブジェクト308に基づいてバックグラウンド動作で構築されている。したがって、この特定の時間には、分析構成要素304は、クエリへ応答するようにキャッシュ306とアクティブにインターフェースしていない。したがって、分析構成要素304は、多次元オブジェクト308のみにアクセスすることによって、クエリ入力320に応答する。
図4に移ると、本発明の態様によるデータベース・サービング・システム400のさらに別のブロック図を示してある。データベース・サービング・システム400は、先行キャッシュ・システム402、たとえばOLAPオブジェクトなどの多次元オブジェクト408、およびデータベース・テーブル426への更新418を受け入れることができるデータベース410を備える。先行キャッシュ・システム402は、分析構成要素404、および新しいキャッシュ406を備える。本発明の本態様では、分析構成要素404は、クエリ入力420、ユーザ入力412、システム入力414、および更新通知用のデータベース入力416などを備える入力を受ける。本発明の他の例では、データベース入力416は、システム入力414の一部である。分析構成要素404は、多次元オブジェクト・インターフェース422を有する。本発明の本態様では、新しいキャッシュ406は、多次元オブジェクト408からバックグラウンド動作で構築されている。したがって、この特定の時間には、分析構成要素404は、クエリへ応答するように新しいキャッシュ406とアクティブにインターフェースしていない。したがって、分析構成要素404は、多次元オブジェクト408のみにアクセスすることによって、クエリ入力420に応答する。さらに、更新418が受け取られると、データベース・テーブル426が影響を受ける。本発明の一態様のこの例では、データベース・テーブル426中の変更は、クエリ入力420が応答のために依拠する多次元オブジェクト408にも影響を与える。したがって、更新418以前のデータベースのデータに基づく古いキャッシュ424は削除され、最新のデータベースのデータの更新を反映するように、先行キャッシュ・システム402のバックグラウンド処理において新しいキャッシュ406が構築される。本発明の他の例では、古いキャッシュ424の削除は、ユーザ入力412および/またはシステム入力414によって引き起こすことができる。
図5に移ると、本発明の態様によるキャッシュ展開構造500のブロック図を示してある。構造500は、データベース・テーブル510を含むデータベース502、メタデータ・セット504、次元モデル(たとえば「OLAPオブジェクト」などの多次元オブジェクト)506、およびキャッシュ508を備える。通常、データベース502からのデータに関する情報は、コンパイルされてメタデータ・セット504になる。メタデータ・オブジェクトは、メタデータ・セット504から構成されて次元モデル506を形成する。次元モデル506は通常、次元、キューブ、および測度などを含む。これにより、OLAP管理ツリーは、次元モデル506中のメタデータ・オブジェクトにアクセスすることが可能になる。このようにして、関連するデータベースに基づく多次元オブジェクトから派生した(引き出した)動的な多次元分析データを有するキャッシュ508は、次元モデル506から構成することができる。
続いて図6に移ると、本発明の態様によるキャッシュ展開構造600の別のブロック図を示してある。本発明のこの例では、構造600は、リレーショナル・データベース・テーブル610を含むリレーショナル・データベース602、メタデータ・セット604、ROLAPオブジェクト606、およびMOLAPキャッシュ608を備える。この例では、MOLAPキャッシュ608は、メタデータ・セット604およびリレーショナル・データベース610から派生した(引き出した)ROLAPオブジェクトから構成される。異なる2つのOLAPデータ・セットの変形体が利用可能(たとえば、ROLAP変形体およびMOLAP変形体など)なので、ユーザおよび/またはシステムによって所望されたやり方でクエリ応答を透過的に引き渡すための適切なデータ・セットへの先行アクセスが可能になる。
図7には、本発明の態様による先行キャッシュ・システム700のブロック図を示してある。先行キャッシュ・システム700は、分析構成要素702、キャッシュ・サブセット720を有するキャッシュ704、および多次元オブジェクトのサブセット722を有する、たとえばOLAPオブジェクトなどの多次元オブジェクト706を備える。本発明の一態様では、分析構成要素702は、クエリ・インタープリタ710、ロー・レイテンシ端末714、およびリアルタイム端末712を備える。分析構成要素702は、たとえばユーザ入力716、システム入力718、およびクエリ入力708などの入力を受け入れることができる。本発明の一態様では、クエリ・インタープリタ710は、複合クエリを(複数の)「部分」に解析しまたは分解することができ、クエリ入力708の内容に基づいて、どちらの端末712、714が適切であるか、先行的に決定することができる。たとえば、部分#1は「時間の影響を受けるデータ(time sensitive data)」とラベルづけすることができ、キャッシュ704、具体的にはキャッシュ・サブセット720にアクセスするために、ロー・レイテンシ端末714に向けられる。同様に、部分#2は、「最新データ(latest data)」とラベルづけすることができ、多次元オブジェクト706、具体的には多次元オブジェクトのサブセット722にアクセスするために、リアルタイム端末712に向けることができる。同様にして、部分#n(「n」は1から無限大の整数を表す)は、上記のカテゴリのいずれかでラベル付けすることができ、キャッシュ704および/または多次元オブジェクト706のどちらかに向けることができる。本発明のさらに別の態様では、クエリ入力708の解析は、ユーザ入力716および/またはシステム入力718(データベース状況などを含む)に基づくことができる。「ロー・レイテンシ」および「リアルタイム」を「端末(terminal)」として説明したが、実際には分析構成要素の一部であり、図7に示すように別個のエンティティである必要はない。したがって、クエリ・インタープリタ710の一部として含むこともでき、キャッシュ704および/または着信データを制御する組込みフィルタとして、および/または外部フィルタの一部として、多次元オブジェクト706の一部として含むこともできる。
図8を参照すると、本発明の態様による先行キャッシュ・システム800の別のブロック図を示してある。先行キャッシュ・システム800は、分析構成要素802、キャッシュ804、および、たとえばOLAPオブジェクトなどの多次元オブジェクト806を備える。本発明の一態様では、分析構成要素802は、クエリ・インタープリタ816、ロー・レイテンシ端末818、およびリアルタイム端末820を備える。クエリ・インタープリタ816は、様々なクエリ入力808を処理する。こうしたクエリ入力には任意の数の入力を含むことができるが、説明を簡単にするために、3つの入力を示してある。こうした入力には、ユーザ#1の入力810、ユーザ#2の入力812、およびユーザ#3の入力814が含まれる。各ユーザ入力は、クエリ・インタープリタ816が分析する少なくとも1つのクエリを含む。たとえば、第1のユーザ#1の入力が、「製品情報」という次元と、「データベースの安定」という情報に関連したデータベース状況とを有するクエリ#1を含む場合、クエリ・インタープリタ816は、そのアクセスをキャッシュ804にアクセスするロー・レイテンシ端末818に向けることができる。キャッシュ804は、高速応答時間などを備える多次元OLAPキャッシュでよい。第2のユーザ#2の入力が、「人口統計」という次元と、「データベースの更新中」という情報に関連したデータベース状況とを有するクエリ#2を含む場合、クエリ・インタープリタ816は、そのアクセスを多次元オブジェクト806にアクセスするリアルタイム端末820に向けることができる。多次元オブジェクトの特性は、リアルタイムのデータ・アクセスなどを含むことができる。同様に、第3のユーザ#3の入力が、「金融データ」という次元と、「データベースの更新中」という情報に関連したデータベース状況とを有する場合、クエリ・インタープリタ816は、そのアクセスを多次元オブジェクト806にアクセスするリアルタイム端末820に向けることができる。このようにして、先行キャッシュ・システム800は、キャッシュが使用されるべきか否かについてのアクティブなユーザ入力なしで、ユーザに所望の応答を提供する。ただし、本発明は、どのようにして、および/またはいつ先行キャッシュを行うか決定するための、ユーザおよび/またはシステム入力の使用を排除するものではない。
図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による先行キャッシュを支援する任意の手段を備える。先行キャッシュのより効率的な使用を支援するために、ユーザによって多くの異なるタイミング・パラメータおよび/またはデータ・パラメータを入力できることが当業者には理解されよう。このような手段の1つは、たとえば、特定のテーブル/ビュー/OLAPオブジェクトに更新が必要であるとマーク付けするために、ユーザが手作業での変更を入力することを可能にすることを含む。
最終データベース更新追跡部920は、いつデータベースが最後に更新されたか追跡するための手段を備える。この入力は、他の入力と共に使用して、キャッシュ・データなどの古さを決定することができる。OLAPオブジェクトに影響するテーブル922は、キャッシュが基づいているOLAPオブジェクトに関連する、データベース・テーブルのデータを追跡し/そのリストを作成するための手段を備える。このことは、データベースが無関係なテーブル更新を受けた際にキャッシュを更新することを防止するために、更新をキャッシュすることについてのフィルタリングが可能になる。従属OLAPオブジェクト・データ・ソース追跡部924は、ある特定のOLAPオブジェクトへのキャッシュ・データの従属を追跡するための手段を備える。このことは、無関係なOLAPオブジェクトが変更された際にキャッシュを更新することを防止するために、更新をキャッシュすることについてフィルタリングすることも可能になる。システム入力「n」926は、分析構成要素902による先行キャッシュを支援する任意の手段を備える。先行キャッシュのより効率的な使用を支援するために、システムによって多くの異なるタイミング・パラメータおよび/またはデータ・パラメータを入力できることが当業者には理解されよう。こうした入力には、データベース更新通知なども含まれるが、それに限定されるものではない。
上記の入力パラメータを分析構成要素902に進むものとして説明したが、分析構成要素902自体が、上で説明した入力を使用するのに必要な機能を実施するための機能性を提供する下位構成要素を含むことができることに留意されたい。分析構成要素902の外部構成要素が必要な機能性の一部および/または全部を提供することも可能である。
図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、およびMOLAPキャッシュの部分的再構築が要求される時点のトリガ1026を備える。
ROLAPモード1004は、クエリに対してROLAPデータのみがアクセスされることを可能にする。これは一般に、リアルタイムのデータ・アクセスを伴うより遅いモードである。MOLAPモード1006は、クエリに対してMOLAPデータのみがアクセスされることを可能にし、一般に、その高速性能ゆえにデフォルトのモードである。データの完全性および性能の向上を保証するために、MOLAPデータがROLAPデータと等しいときはいつでも、MOLAPモードを利用することができる。こうすることにより、より速い手段を使用することによってどのデータの正確さも失われないことが保証される。MOLAPモードは、リアルタイムのデータなど(他のユーザ入力)に対する必要性以上に高速アクセスを要求するユーザによって利用することもできる。MOLAP/ROLAPモード1008は、MOLAPおよびROLAPデータ両方へのアクセスを可能にする混合モードである。このモードにより、ユーザおよび/またはシステムは、所望された任意のタイプのレイテンシ(待ち時間)で、所望された任意のタイプのデータも取り出すことが可能になる。このモードは、構成中のMOLAPキャッシュの部分に関する情報を提供するROLAPオブジェクトを有するMOLAPキャッシュの部分的再構築も可能にする。
上述したトリガおよび動作モードは、すべてを網羅していないことが当業者には理解されよう。図10は、本発明の一態様の一例を表しているに過ぎない。追加のモードおよびトリガを、本発明の範囲内で同様に使用することもできる。
図11を見ると、本発明の態様による先行キャッシュ・システム1100のさらに別のブロック図を示してある。先行キャッシュ・システムは、分析構成要素1102、MOLAPキャッシュ1104、およびOLAPオブジェクト1106を備える。分析構成要素1102は、適合調整構成要素(adaptive tuning component)1110、第1のセッション1114、および第2のセッション1116を備える。適合調整構成要素1110は、クエリ・インタープリタ1112、性能最適化部(performance optimizer)1118、および結果比較部(result comparator)1120を備える。一般的なクエリ1108が、クエリ・インタープリタ1112に入力される。本発明の本態様では、クエリ・インタープリタ1112は適合調整構成要素1110の一部である。したがって、性能を調整するために、クエリ・インタープリタ1112は、同一クエリ1108とのデュアル・セッションを確立する。したがって、クエリ1108は、セッション#1 1114を介してMOLAPキャッシュ1104に、また、セッション#2 1116を介してOLAPオブジェクト1106に送られる。各セッション1114、1116が応答を作成し、この応答は結果比較部1120に送られる。結果比較部1120は、2つのセッション1114、1116の間のどの違いも決定する。こうした違いは、もしある場合には、性能最適化部1118に報告される。性能最適化部1118は、こうした違いを追跡し、クエリ・インタープリタ1112が今後のクエリにどのように反応するか、適合的に変化させる。2つのセッション1114、1116を介してすべてのクエリが継続的に処理される必要はないことが当業者には理解されよう。ある特定のクエリが最適化されると、必要とされるのは随時行われるサンプル抽出だけである。「随時」というのは、データが要求される頻度に応じて、1分ごとでも、1時間ごとでも、1日ごとでも、1月ごとでも、および/または1年ごとなどでもよい。たとえば、1年前の前回の売上記録が、セッション#1 1114またはセッション#2 1116のどちらを介しても同じ結果を生じることができる。したがって、同じ時期に対する売上記録に関して照会されるとき、性能最適化部1118は、クエリ・インタープリタ1112に対して、高速応答のためにMOLAPキャッシュ1104のみを使用するよう命令する。性能最適化部1118は、データ、使用、および関連するパラメータを追跡して、ユーザ設定に対してさえも適合的な調整を提供することができ、可能な限りユーザに性能提案(performance suggestions)を行う。
上で示し説明した例示的なシステムを考慮して、図12〜17のフロー図を参照すると、本発明によって実装することができる方法がよりよく理解されよう。説明を簡単にするために、この方法を一連のブロックとして示し説明するが、本発明はブロックの順序に限定されないことを理解されたい。というのは、いくつかのブロックは、本発明によって、異なる順序で起こることもでき、かつ/または本明細書で示し説明する他のブロックと同時に起こることもできるからである。さらに、図示したすべてのブロックが、本発明による方法の実装に必要なわけではない。
本発明は、1つまたは複数の構成要素によって実行される、プログラム・モジュールなどのコンピュータ実行可能命令という一般的なコンテクストで説明することができる。概して、プログラム・モジュールは、特定のタスクを実施しまたは特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、データ構造などを含む。一般に、プログラム・モジュールの機能は、様々な実施形態において所望された場合には、結合することも分散することもできる。
図12に移ると、本発明の態様による先行キャッシュの方法1200のフロー図を示してある。方法1200は、1202で始まり、バックグラウンド処理1204においてROLAPオブジェクトのMOLAPキャッシュ等価物を構築し始める。次いで、1206で、いつMOLAPキャッシュが完成したかについての決定が行われる。MOLAPキャッシュが完成すると、1208で、MOLAPモードを使用するように動作モードが切り換えられる。次いで、1210で、MOLAPキャッシュを利用してクエリが処理される。次いで、1212で、ROLAPオブジェクトに対して関連する変更が行われたか決定が行われる。この変更には、全ての基底データに対する全ての関連する変更も含むことができる。関連する変更が行われていない場合、1210で、MOLAPキャッシュを使用してクエリの処理が続けられる。ただし、変更がある場合は、1214で、動作モードはROLAPモードに切り換えられる。関連するすべてのキャッシュは次いで、1216で取り去られ、フローは1218で終わる。このサイクルは、どの関連するデータベースの変更にもかかわらず、MOLAPキャッシュを新しいままに保つために、無限に繰り返すことができる。
図13に移ると、本発明の態様による先行キャッシュの別の方法1300のフロー図を示してある。方法1300は、1302で始まり、1304で、ユーザ入力を提供する。1306で、MOLAPモード要求が行われたかについての決定が行われる。行われていない場合、1322で、ROLAPモードを使用してクエリの処理が続けられ、フローは1316で終了する。ただし、MOLAPモード要求が行われると、1308で、ROLAPオブジェクトのMOLAP等価物がバックグラウンド処理として構築される。次いで、1310で、ROLAPオブジェクトに関連する変更が起きたかに関して決定が行われる。変更が起きた場合、1318でMOLAP等価物の構築がキャンセルされ、1320で動作モードがROLAPモードに切り換えられ、1308でROLAPオブジェクトのMOLAP等価物が再度構成される。ただし、MOLAPキャッシュの構築が完了した後で関連する変更が起きなかった場合、1312で動作モードがMOLAPモードに切り換えられ、1314でMOLAPキャッシュを使用してクエリの処理が行われ、フローは1316で終了する。
図14を参照すると、本発明の態様による先行キャッシュのさらに別の方法1400のフロー図を示してある。方法1400は、1402で始まり、1404で、沈黙時間遅延ユーザ入力が提供される。1406で、バックグラウンド処理においてROLAPオブジェクトのMOLAP等価物が構成される。次いで、1408で、関連する変更がROLAPオブジェクトに対して起きたかに関して決定が行われる。変更が起きていない場合、1410でクエリはMOLAPキャッシュを使用して処理され、フローは1412で終了する。ただし、ROLAPオブジェクトに対して変更が起きている場合、1414で、沈黙時間遅延に達したかに関して決定が行われる。達していない場合、1418で、沈黙時間遅延オーバーライドが達成されたかに関して決定が行われる。沈黙時間遅延オーバーライドが達成されていない場合、1410で、クエリはMOLAPキャッシュを用いて処理され、フローは1412で終了する。ただし、沈黙時間遅延オーバーライドが達成されている場合、動作モードがROLAPモードに切り換えられ、1406でMOLAPキャッシュがもう一度構成される。ただし、ROLAPオブジェクトに対する関連する変更を検出した後で沈黙時間遅延が達成された場合、1416で動作モードがROLAPモードに切り換えられ、1406でMOLAPキャッシュがバックグラウンド処理において構築され、このサイクルを続ける。
図15に移ると、本発明の態様による先行キャッシュのさらに別の方法1500のフロー図を示してある。方法1500は、1502で始まり、1504で、手作業でのユーザ入力が提供される。手作業でのユーザ入力は、ユーザが特定のテーブル/ビュー/オブジェクトなどを「ダーティ」(すなわち、アクセスが要求された場合には、更新する必要がある)などと指定することを可能にするパラメータを含む。1506で、関連する変更がROLAPオブジェクトに対して起きたかに関して決定が行われる。この決定では、「ダーティ」の入力が、キャッシュ済みデータに関連するデータを変更することができることを考慮に入れる。関連する変更が起きていない場合、1514で、クエリはMOLAPキャッシュを利用して処理され、フローは1516で終了する。一般に、MOLAPキャッシュ使用することは、より高い性能向上のために先行キャッシュ・システムのデフォルト条件であり、ユーザおよび/またはシステムによって他の指示があるまで実施される。ただし、1506で関連する変更が(「ダーティ」の入力および/またはデータベース更新などのせいで)ROLAPオブジェクトに対して起きていた場合、1508で動作モードがROLAPモードに切り換えられる。次いで、1510でMOLAPキャッシュがバックグラウンド処理において再構築され、キャッシュが完成すると1512で動作モードがMOLAPモードにもう一度切り換えられる。次いで、1514でクエリ処理がMOLAPキャッシュの利用を続け、フローは1516で終了する。
図16には、本発明の態様による先行キャッシュのさらに別の方法1600のフロー図を示してある。方法1600は、1602で始まり、1604で、ROLAPオブジェクトのデータ入力が提供される。入力データは次いで、1606で、関連するものであるとして適切なROLAPオブジェクトにリンクされる。この方法では、ユーザは、キャッシュ済みデータが明確にこのデータから派生したものでなくても、キャッシュ済みデータに関連するものとしてこのデータをタグづけすることができる。次いで、関連する変更がROLAPオブジェクトに対して起きたかに関して決定が行われる。この決定は、新しいデータリンクがROLAPオブジェクトから変更のあったデータへのリンクを確立したか検査する。変更が見つからない場合、1616で、クエリはMOLAPキャッシュを利用して処理され、フローは1618で終了する。性能向上のためにMOLAPモードがデフォルトのモードと見なされる。ただし、1608で適切なROLAPオブジェクトに対して変更が行なわれていた場合は、1610で動作モードがROLAPモードに切り換えられる。次いで、1612で、バックグラウンド処理においてROLAPオブジェクトからMOLAPキャッシュが再構築される。(この再構築が)完了すると、1614で動作モードがMOLAPモードに切り換えられ、1616で、クエリがMOLAPキャッシュを使用してもう一度処理され、フローは1618で終了する。
図17を見ると、本発明の態様による先行キャッシュのさらに別の方法1700のフロー図を示してある。方法1700は、1702で始まり、1704で、ユーザが強制リフレッシュ・レート入力を提供する。次いで、1706で、この入力が達成されたかに関して決定が行われる。達成されていない場合、1714で、MOLAPキャッシュを使用してクエリが処理され、フローは1716で終了する。性能向上ゆえに、MOLAPモードがデフォルトのモードと見なされる。ただし、1706で強制リフレッシュ・レート入力が達成されている場合、1708で動作モードがROLAPモードに切り換えられる。次いで、1710で、MOLAPキャッシュがバックグラウンド処理として構築される。完了すると、次いで、1712で動作モードが切り換えられてMOLAPモードに戻り、1714でクエリがMOLAPキャッシュを利用して処理され、フローは1716で終了する。
上述したフローは、本発明の様々な方法の代表的なフロー図であることを意図している。こうしたフローは、本発明の範囲内におけるすべての反復および変動を包含するものではない。方法には通知を組み込むこともでき、そうした場合でも本発明の範囲内であることが当業者には理解されよう。
本発明の様々な態様を実装する追加的な状況を提供するために、図18および以下の説明では、本発明の様々な態様を実装することができる適切なコンピューティング環境1800の手短で、一般的な説明を提供することを意図している。これまでは、ローカル・コンピュータおよび/またはリモート・コンピュータを実行するコンピュータ・プログラムのコンピュータ実行可能命令という一般的な状況において本発明を説明したが、本発明は他のプログラム・モジュールとの組合せにおいても実装できることが当業者には理解されよう。全般的には、プログラム・モジュールは、特定のタスクを実施し、かつ/または特定の抽象データタイプを実装するルーチン、プログラム、構成要素、データ構造などを含む。さらに、発明性のある本方法は、他のコンピュータ・システム構成と共に実施できることが当業者には理解されよう。他のコンピュータ・システム構成には、シングル・プロセッサ・コンピュータ・システムまたはマルチ・プロセッサ・コンピュータ・システム、ミニ・コンピュータ、メインフレーム・コンピュータ、ならびにパーソナル・コンピュータ、ハンドヘルド・コンピューティング・デバイス、マイクロ・プロセッサベースの家電製品および/またはプログラム可能な家電製品、などがあり、それぞれが1つまたは複数の関連する装置と動作可能に通信することができる。図示した本発明の態様は、通信ネットワークを介してリンクされるリモート処理装置によって特定のタスクが実施される分散型計算機環境でも実施することができる。ただし、すべてではなくともいくつかの本発明の態様は、独立型のコンピュータにおいても実施することができる。分散型計算機環境では、プログラム・モジュールは、ローカル・メモリ記憶装置および/またはリモート・メモリ記憶装置内に配置することができる。
本アプリケーションで使用する「構成要素」という用語は、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかであるコンピュータ関連エンティティを指すことを意図している。たとえば、構成要素は、プロセッサで実行中の処理、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、およびコンピュータでよいが、それに限定されるものではない。実例として、サーバ上で実行中のアプリケーションおよび/またはそのサーバが構成要素となり得る。さらに、構成要素は、1つまたは複数の下位構成要素を含むことができる。
図18を参照すると、本発明の様々な態様を実装する例示的なシステム環境1800は、従来のコンピュータ1802を含み、このコンピュータは、処理装置1804、システム・メモリ1806、およびシステム・メモリなどの様々なシステム構成要素を処理装置1804に結合するシステム・バス1808を含む。処理装置1804は、市販されているどのプロセッサでも、固有のどのプロセッサでもよい。さらに、この処理装置は、並列に接続することができるような複数のプロセッサから形成されるマルチ・プロセッサとして実装することができる。
システム・バス1808は、様々な従来のバス・アーキテクチャ、たとえばいくつか例を挙げるとPCI、VESA、マイクロ・チャネル、ISA、およびEISAのいずれかを使用するメモリ・バスまたはメモリ・コントローラ、周辺機器バス、およびローカル・バスなどいくつかのタイプのバス構造のいずれでもよい。システム・メモリ1806は、読出し専用メモリ(ROM)1810およびランダム・アクセス・メモリ(RAM)1812を含む。基本入出力システム(BIOS)1814は、たとえば起動中にコンピュータ1802内部の要素間の情報の転送を助ける基本ルーチンを含み、ROM1810に格納される。
コンピュータ1802は、たとえば、ハードディスク・ドライブ1816、たとえば取外し可能ディスク1820からの読出しまたはそこへの書込みをするための磁気ディスク・ドライブ1818、および、たとえばCD−ROMディスク1824または他の光学媒体からの読出しまたはそこへの書込みを行う光ディスク・ドライブ1822を含むこともできる。ハードディスク・ドライブ1816、磁気ディスク・ドライブ1818、および光ディスク・ドライブ1822は、それぞれハードディスク・ドライブ・インターフェース1826、磁気ディスク・ドライブ・インターフェース1828、および光ドライブ・インターフェース1830によって、システム・バス1808に接続される。ドライブ1816〜1822およびそれに関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などを含む不揮発性記憶装置をコンピュータ1802に提供する。上記のコンピュータ可読媒体の説明ではハード・ディスク、取外し可能な磁気ディスクおよびCDに言及したが、コンピュータ可な他のタイプの媒体、たとえば磁気カセット、フラッシュ・メモリ・カード、デジタル映像ディスク、ベルヌーイ・カートリッジなども、例示的な動作環境1800において使うことができ、さらに、このようなどの媒体も本発明の方法を実施するコンピュータ実行可能命令を含むことができることが当業者には理解されよう。
オペレーティング・システム1832、1つまたは複数のアプリケーション・プログラム1834、他のプログラム・モジュール1836、およびプログラム・データ1838などいくつかのプログラム・モジュールを、ドライブ1816〜1822およびRAM1812に格納することができる。オペレーティング・システム1832は、適切などのオペレーティング・システムでも、オペレーティング・システムの組合せでもよい。一例として、アプリケーション・プログラム1834およびプログラム・モジュール1836が、本発明の態様によるデータを使用するデータベース・サービング・システムおよび/または先行キャッシュ・システムを含むことができる。さらに、プログラム・データ1838は、本発明の態様による先行キャッシュ・システムを制御し、かつ/または偏倚する入力データを含むことができる。
ユーザは、キーボード1840および指示装置(たとえばマウス1842)など1つまたは複数のユーザ入力装置を介して、コマンドおよび情報をコンピュータ1802に入力することができる。他の入力装置(図示せず)には、マイクロホン、ジョイスティック、ゲーム用パッド、衛星パラボラ・アンテナ、無線リモコン、スキャナなどがあり得る。こうしたおよび他の入力装置はしばしば、システム・バス1808に結合されるシリアル・ポート・インターフェース1844を介して処理装置1804に接続されるが、他のインターフェース、たとえば並列ポート、ゲームポートまたはユニバーサル・シリアルバス(USB)によって接続することもできる。モニタ1846または他のタイプの表示装置も、映像アダプタ1848などのインターフェースを介してシステム・バス1808に接続される。モニタ1846に加えて、コンピュータ1802は、他の周辺出力装置(図示せず)、たとえばスピーカ、プリンタなども含むことができる。
コンピュータ1802は、1つまたは複数のリモート・コンピュータ1860への論理接続を使用してネットワーク接続された環境において動作できることを理解されたい。リモート・コンピュータ1860は、ワークス・テーション、サーバ・コンピュータ、ルータ、ピア装置または他の共通ネットワーク・ノードでよく、通常、コンピュータ1802に関連して説明した要素の多くまたはすべてを含むが、簡潔にするために、メモリ記憶装置1862のみを図18に示した。図18に示した論理接続は、ローカル・エリア・ネットワーク(LAN)1864およびワイド・エリア・ネットワーク(WAN)1866を含むことができる。このようなネットワーク環境は、会社、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいてよく見られる。
LANネットワーク環境において使われる場合、たとえば、コンピュータ1802は、ネットワーク・インターフェースまたはアダプタ1868を介してローカル・ネットワーク1864に接続される。WANネットワーク環境において使われる場合、コンピュータ1802は通常、モデム(たとえば、電話、DSL、ケーブルなど)1870を含み、またはLAN上の通信サーバに接続され、または、たとえばインターネットなどのWAN1866を介した通信を確立する他の手段を有する。モデム1870は、コンピュータ1802の内部でも外部でもよく、シリアル・ポート・インターフェース1844を介してシステム・バス1808に接続される。ネットワーク接続された環境では、プログラム・モジュール(アプリケーション・プログラム1834など)および/またはプログラム・データ1838は、リモート・メモリ記憶装置1862に格納することができる。図示したネットワーク接続は例示的なものであり、本発明の態様を実行する際に、コンピュータ1802と1860の間の通信リンクを確立する他の手段(たとえば、有線または無線)も使うことができることが理解されよう。
当業者によるコンピュータ・プログラミングの実施に従って、他の指示がない限りは、コンピュータ、たとえばコンピュータ1802またはリモート・コンピュータ1860によって実施される作用および象徴的に表した動作を参照して本発明を説明した。このような作用および動作は、コンピュータに実行されるものとして何度か参照した。こうした作用および象徴的に表した動作は、処理装置1804による、データビットを表す電気信号の処理を含み、その結果、電気信号表示の変換または減少、およびメモリ・システム(システム・メモリ1806、ハードドライブ1816、フロッピー(登録商標)ディスク1820、CD−ROM1824、およびリモート・メモリ1862など)内のメモリ位置でのデータビットの保持を引き起こし、そうすることによって、コンピュータ・システムの動作、ならびに他の信号処理を再構成し、あるいは変更することが理解されよう。このようなデータビットが保持されるメモリ位置は、データビットに対応する特定の電気属性、磁気属性、または光学属性を有する物理的な位置である。
図19は、本発明と相互作用する実例としての計算機環境1900の別のブロック図である。システム1900はさらに、1つまたは複数のクライアント(群)1902を含むシステムを示す。クライアント(群)1902は、ハードウェアおよび/またはソフトウェア(たとえば、スレッド、処理、コンピューティング・デバイス)でよい。システム1900は、1つまたは複数のサーバ(群)1904も含む。サーバ(群)1904は、ハードウェアおよび/またはソフトウェア(たとえば、スレッド、処理、コンピューティング・デバイス)でよい。サーバ1904は、たとえば、本発明を利用して変換を実施するためのスレッドを収容することができる。クライアント1902とサーバ1904の間の可能な1つの通信は、2つ以上のコンピュータ処理の間で伝送されるように適合されたデータ・パケットの形をとることができる。システム1900は、クライアント(群)1902とサーバ(群)1904の間の通信を容易にするのに利用できる通信フレームワーク1908を含む。クライアント(群)1902は、クライアント(群)1902にローカルな情報を格納するのに利用できる、1つまたは複数のクライアント・データ・ストア(群)1910に動作可能に接続される。同様に、サーバ(群)1904は、サーバ1904にローカルな情報を格納するのに利用できる、1つまたは複数のサーバ・データ・ストア(群)1906に動作可能に接続される。
図20に移ると、本発明が機能することができる一例としての動作環境2000を示してある。この典型的な環境2000は、データ・ソース2010およびユーザ・インターフェース2012にリンクされた分析サービス構成要素2002を備える。ユーザ・インターフェース2012は、OLAPブラウザ、報告ツール、および他のBI(ビジネス・インテリジェンス)アプリケーションなどを備える。分析サービス構成要素2002は通常、XML/A(拡張マークアップ言語/分析)およびMDX(多次元交換言語)などのようなインターフェース2008を介した、ユーザ・インターフェース2012とのインターフェース2014を有する。分析サービス構成要素2002は、UDM(統一次元モデル)構成要素2004およびキャッシュ2006を備える。この例では、本発明は、UDM構成要素2004およびキャッシュ2006を介して、分析サービス構成要素2002の内部で利用される。UDM構成要素は、キャッシュ2006および/またはデータに直接、先行的にアクセスすることができる。
上記の説明内容は、本発明のいくつかの例を含む。当然ながら、本発明を説明するための構成要素または方法のあらゆる組合せを説明することはできないが、本発明のさらに多くの組合せおよび入替えが可能であることが当業者には理解できよう。したがって、本発明は、添付の特許請求の範囲の精神および範囲内であるこのようなすべての変更形態、修正形態および変形形態を包含することを意図したものである。さらに、詳細な説明または特許請求の範囲において「含む」という用語が使われている限りでは、このような用語は、「備える」が、請求項においてtransional word(移行語、互換語)として使用される際に解釈されるように、用語「備える」と同様に包括的であることを意図している。
本発明の態様による例示的な先行キャッシュ処理を示す図である。 本発明の態様によるデータベース・サービング・システムを示すブロック図である。 本発明の態様によるデータベース・サービング・システムを示す別のブロック図である。 本発明の態様によるデータベース・サービング・システムを示すさらに別のブロック図である。 本発明の態様によるキャッシュ展開構造を示すブロック図である。 本発明の態様によるキャッシュ展開構造を示す別のブロック図である。 本発明の態様による先行キャッシュ・システムを示すブロック図である。 本発明の態様による先行キャッシュ・システムを示す別のブロック図である。 本発明の態様による先行キャッシュ・システムの入力を示すブロック図である。 本発明の態様による先行キャッシュ・システムのパラメータを示すブロック図である。 本発明の態様による先行キャッシュ・システムを示すさらに別のブロック図である。 本発明の態様による先行キャッシュの方法を示すフロー図である。 本発明の態様による先行キャッシュの方法を示す別のフロー図である。 本発明の態様による先行キャッシュの方法を示すさらに別のフロー図である。 本発明の態様による先行キャッシュの方法を示すさらに別のフロー図である。 本発明の態様による先行キャッシュの方法を示すさらに別のフロー図である。 本発明の態様による先行キャッシュの方法を示すさらに別のフロー図である。 本発明が機能することができる一例の動作環境を示す図である。 本発明が機能することができる別の例の動作環境を示す図である。 本発明が機能することができるさらに別の例の動作環境を示す図である。
符号の説明
200 データベース・サービング・システム、システム
202 先行キャッシュ・システム
204 分析構成要素
206 キャッシュ
208 多次元オブジェクト
210 データベース
212 ユーザ入力
214 システム入力
216 データベース入力
218 更新
220 クエリ入力
222 キャッシュ・インターフェース、インターフェース
224 多次元オブジェクト・インターフェース、インターフェース
226 キャッシュ・サブセット・インターフェース、サブセット・インターフェース
228 多次元オブジェクト・サブセット・インターフェース、サブセット・インターフェース
230 キャッシュ・サブセット
232 多次元オブジェクトのサブセット
300 データベース・サービング・システム
302 先行キャッシュ・システム
304 分析構成要素
306 キャッシュ
308 多次元オブジェクト
310 データベース
312 ユーザ入力
314 システム入力
316 データベース入力
318 更新
320 クエリ入力
322 キャッシュ・インターフェース、インターフェース
400 データベース・サービング・システム
402 先行キャッシュ・システム
404 分析構成要素
406 新しいキャッシュ
408 多次元オブジェクト
410 データベース
412 ユーザ入力
414 システム入力
416 データベース入力
418 更新
420 クエリ入力
424 古いキャッシュ
426 データベース・テーブル
500 キャッシュ展開構造、構造
502 データベース
504 メタデータ・セット
506 次元モデル
508 キャッシュ
510 データベース・テーブル
600 キャッシュ展開構造、構造
602 リレーショナル・データベース
604 メタデータ・セット
606 ROLAPオブジェクト
608 MOLAPキャッシュ
610 リレーショナル・データベース・テーブル
700 先行キャッシュ・システム
702 分析構成要素
704 キャッシュ、多次元オブジェクト
706 多次元オブジェクト、キャッシュ
708 クエリ入力、多次元オブジェクト
710 クエリ・インタープリタ
712 端末、リアルタイム端末
714 端末、ロー・レイテンシ端末
716 ユーザ入力
718 システム入力
720 キャッシュ・サブセット
722 多次元オブジェクト・サブセット
800 先行キャッシュ・システム
802 分析構成要素
804 キャッシュ
806 多次元オブジェクト
808 クエリ入力
810 ユーザ#1の入力
812 ユーザ#2の入力
814 ユーザ#3の入力
816 クエリ・インタープリタ
818 ロー・レイテンシ端末
820 リアルタイム端末
900 先行キャッシュ・システム入力
902 分析構成要素
904 クエリ入力
906 ユーザ入力
908 システム入力
910 沈黙時間遅延
912 沈黙時間遅延オーバーライド
914 強制リフレッシュ時間
916 ユーザ開始による部分キャッシュの再構築
918 ユーザ入力「n」
920 最終データベース更新追跡部
922 OLAPオブジェクトに影響するテーブル
924 従属OLAPオブジェクト・データ・ソース追跡部
926 システム入力「n」
1000 先行キャッシュ・システム・パラメータ
1002 動作モデル
1004 ROLAPモード
1006 MOLAPモード
1008 MOLAP/ROLAPモード
1010 トリガ
1012 沈黙時間遅延達成
1014 沈黙時間遅延オーバーライド達成
1016 強制リフレッシュ時間達成
1018 データベース更新
1020 MOLAPおよびROLAPデータ・セット
1022 高速クエリ応答へのユーザ要求
1024 ロー・レイテンシ・クエリおよびリアルタイム・クエリ両方が要求される時点
1026 MOLAPキャッシュの部分的再構築が要求される時点
1100 先行キャッシュ・システム
1102 分析構成要素
1104 MOLAPキャッシュ
1106 OLAPオブジェクト
1108 クエリ
1110 適合調整構成要素
1112 クエリ・インタープリタ
1114 第1のセッション、セッション#1、セッション
1116 第2のセッション、セッション#2、セッション
1118 性能最適化部
1120 結果比較部
1800 計算機環境、システム環境、動作環境
1802 従来のコンピュータ、コンピュータ
1804 処理装置
1806 システム・メモリ
1808 システム・バス
1810 読出し専用メモリ(ROM)
1812 ランダム・アクセス・メモリ(RAM)
1814 基本入出力システム(BIOS)
1816 ハードディスク・ドライブ、ドライブ、ハードドライブ
1818 磁気ディスク・ドライブ、ドライブ
1820 取外し可能ディスク、フロッピー(登録商標)ディスク
1822 光ディスク・ドライブ、ドライブ
1824 CD−ROMディスク、CD−ROM
1826 ハードディスク・ドライブ・インターフェース
1828 磁気ディスク・ドライブ・インターフェース
1830 光学ドライブ・インターフェース
1832 オペレーティング・システム
1834 アプリケーション・プログラム
1836 他のプログラム・モジュール、プログラム・モジュール
1838 プログラム・データ
1840 キーボード
1842 マウス
1844 シリアル・ポート・インターフェース
1846 モニタ
1848 映像アダプタ
1860 リモート・コンピュータ、コンピュータ
1862 メモリ記憶装置、リモート・メモリ記憶装置、リモート・メモリ
1864 ローカル・エリア・ネットワーク(LAN)、ローカル・ネットワーク
1866 ワイド・エリア・ネットワーク(WAN)
1868 ネットワーク・インターフェース、アダプタ
1870 モデム
1900 計算機環境、システム
1902 クライアント(群)
1904 サーバ(群)
1906 サーバ・データ・ストア(群)
1908 通信フレームワーク
1910 クライアント・データ・ストア(群)
2000 動作環境、環境
2002 分析サービス構成要素
2004 UDM(統一次元モデル)構成要素
2006 キャッシュ
2008 インターフェース
2010 データ・ソース
2012 ユーザ・インターフェース
2014 インターフェース

Claims (64)

  1. データベースから派生した動的な多次元分析データを提供する少なくとも1つの多次元オブジェクトへのアクセスを可能にする多次元オブジェクト・インターフェースと、
    前記多次元オブジェクトから派生した動的な多次元分析データを提供する少なくとも1つのキャッシュへのアクセスおよびその制御を可能にするキャッシュ・インターフェースと、
    前記多次元オブジェクトおよび前記キャッシュへのアクセスを先行的に制御する、前記多次元オブジェクトおよび前記キャッシュに結合された少なくとも1つの分析構成要素と
    を備えることを特徴とする情報をキャッシュするシステム。
  2. 前記データベースは、リレーショナル・データベースを備えることを特徴とする請求項1に記載のシステム。
  3. 前記多次元オブジェクトは、ROLAPオブジェクトを備えることを特徴とする請求項1に記載のシステム。
  4. 前記キャッシュは、MOLAPキャッシュを備えることを特徴とする請求項1に記載のシステム。
  5. 前記多次元オブジェクトは、リアルタイムのアクセス分析データを備え、前記キャッシュは高速アクセス分析データを備えることを特徴とする請求項1に記載のシステム。
  6. 前記分析構成要素は、統一次元モデル(UDM)を備えることを特徴とする請求項1に記載のシステム。
  7. 前記分析構成要素は、
    前記キャッシュをいつ先行的に制御するか決定する少なくとも1つの入力と、
    前記入力を受け取り、前記入力に基づいてクエリ限定するクエリ・インタープリタと
    を備えることを特徴とする請求項1に記載のシステム。
  8. 前記入力は、前記キャッシュを先行的に制御するユーザ入力およびシステム入力からなるグループから選択される少なくとも1つを備えることを特徴とする請求項7に記載のシステム。
  9. 前記システム入力は、データベース更新通知を備えることを特徴とする請求項8に記載のシステム。
  10. 前記ユーザ入力は、沈黙時間遅延、沈黙時間遅延オーバーライド、強制リフレッシュ時間、およびユーザが開始した部分キャッシュの再構築からなるグループから選択される少なくとも1つを備えることを特徴とする請求項8に記載のシステム。
  11. 前記システム入力は、最終データベース更新追跡部、OLAPオブジェクトに影響するテーブル、および従属OLAPオブジェクト・データ・ソース追跡部からなるグループから選択される少なくとも1つを備えることを特徴とする請求項8に記載のシステム。
  12. 前記分析構成要素は、ROLAPモード、MOLAPモード、およびMOLAP/ROLAPモードからなるグループから選択される少なくとも1つを備える先行キャッシュ動作モードを有することを特徴とする請求項1に記載のシステム。
  13. 前記ROLAPモードは、沈黙時間遅延達成、沈黙時間遅延オーバーライド達成、強制リフレッシュ時間達成、およびデータベースの更新済みからなるグループから選択される少なくとも1つによって動作可能にトリガされることを特徴とする請求項12に記載のシステム。
  14. 前記MOLAPモードは、
    MOLAPキャッシュおよびROLAPオブジェクト両方から入手可能な、等価なクエリ・データと、
    ユーザ要求と
    からなるグループから選択される少なくとも1つによって動作可能にトリガされることを特徴とする請求項12に記載のシステム。
  15. 前記MOLAP/ROLAPモードは、要求されたリアルタイム・クエリおよびロー・レイテンシ・クエリの両方と、要求されたMOLAPキャッシュの部分的再構築と、からなるグループから選択される少なくとも1つによって動作可能にトリガされることを特徴とする請求項12に記載のシステム。
  16. 前記分析構成要素は、異なる先行キャッシュ処理をそれぞれが必要とする、様々なクエリを処理する能力を有することを特徴とする請求項1に記載のシステム。
  17. 前記分析構成要素は、異なる先行キャッシュ処理を各部分が必要とする、解析されたクエリを処理する能力を有することを特徴とする請求項1に記載のシステム。
  18. 前記分析構成要素は、前記分析構成要素を最適化する適合調整構成要素を備えることを特徴とする請求項1に記載のシステム。
  19. 前記適合調整構成要素は、
    クエリを処理し、前記多次元オブジェクトおよび前記キャッシュとのクエリ・セッションを始めるクエリ・インタープリタと、
    前記多次元オブジェクトおよび前記キャッシュの前記クエリ・セッション間の違いを決定する、前記クエリ・インタープリタに動作可能に接続される結果比較部と、
    前記結果比較部によって決定される前記違いに基づいて前記クエリ・インタープリタを最適化する、前記結果比較部に動作可能に接続される性能最適化部と
    を備えることを特徴とする請求項18に記載のシステム。
  20. 少なくとも1つのデータベースから派生した少なくとも1つの多次元オブジェクトと、前記多次元オブジェクトから派生した動的な多次元分析データを備える少なくとも1つのキャッシュと、に動作可能に結合すること、および
    クエリに応答して、前記多次元オブジェクトおよび前記キャッシュへのアクセスを先行的に制御すること
    を備えることを特徴とするデータベース・サービング方法。
  21. 前記多次元オブジェクトは、ROLAPオブジェクトを備えることを特徴とする請求項20に記載の方法。
  22. 前記データベースは、リレーショナル・データベースを備えることを特徴とする請求項20に記載のデータベース・サービング方法。
  23. 前記キャッシュは、MOLAPキャッシュを備えることを特徴とする請求項20に記載のデータベース・サービング方法。
  24. 前記多次元オブジェクトを処理して前記キャッシュを作成することをさらに備えることを特徴とする請求項20に記載のデータベース・サービング方法。
  25. 前記処理は、バックグラウンド・トランザクションを備えることを特徴とする請求項24に記載のデータベース・サービング方法。
  26. 前記データベース中の関連する変更を監視すること、および
    関連する変更が起こると、前記多次元オブジェクトを再処理して、更新されたキャッシュを作成すること
    をさらに備えることを特徴とする請求項24に記載のデータベース・サービング方法。
  27. 自動条件検出およびユーザ開始動作検出からなるグループから選択される少なくとも1つが起こると、前記多次元オブジェクトの前記処理をキャンセルすることをさらに備えることを特徴とする請求項24に記載のデータベース・サービング方法。
  28. 前記自動条件検出は、データベースの変更を備えることを特徴とする請求項27に記載のデータベース・サービング方法。
  29. 前記ユーザ開始動作検出は、多次元オブジェクトの処理をコミットすること、および多次元オブジェクトに対する他のトランザクションを開始すること、からなるグループから選択される少なくとも1つを備えることを特徴とする請求項27に記載のデータベース・サービング方法。
  30. データベースから派生した動的な多次元分析データを提供する第1の手段と、
    前記第1の手段から派生した動的な多次元分析データを提供する第2の手段と、
    前記第1および第2の手段へのアクセスを先行的に制御して前記データベースに関する所望のクエリ応答を提供するために、前記第1の手段および前記第2の手段を結合する第3の手段と
    を備えることを特徴とする情報をキャッシュするシステム。
  31. データベースから派生した動的な多次元分析データを提供する少なくとも1つの多次元オブジェクトを提供すること、
    少なくとも1つの多次元オブジェクトから派生した動的な多次元分析データを提供する少なくとも1つのキャッシュを構成すること、
    クエリを分析するだけのために、前記キャッシュをアクセスする分析構成要素の動作モードを切り換えること、および
    前記キャッシュを使用してクエリを分析すること
    を備えることを特徴とするデータをキャッシュする方法。
  32. 関連する多次元オブジェクトに対する変更が起きたか決定すること、および
    関連する変更が起きたとき、前記多次元オブジェクトにアクセスするように前記分析構成要素の動作モードを切り換えること
    をさらに備えることを特徴とする請求項31に記載の方法。
  33. 前記関連する変更に関連するすべてのキャッシュを削除すること、および
    変更のあった多次元オブジェクトに基づいて前記キャッシュを再構築すること
    をさらに備えることを特徴とする請求項32に記載の方法。
  34. クエリが、ロー・レイテンシ・データおよびリアルタイム・データからなるグループから選択される少なくとも1つを必要とするか決定することをさらに備えることを特徴とする請求項31に記載の方法。
  35. 前記ロー・レイテンシ・データおよび前記リアルタイム・データ両方が要求されると、前記分析構成要素をMOLAP/ROLAP動作モードに切り換えることをさらに備えることを特徴とする請求項34に記載の方法。
  36. 前記多次元オブジェクトはROLAPオブジェクトを備えることを特徴とする請求項31に記載の方法。
  37. 前記データベースはリレーショナル・データベースを備えることを特徴とする請求項31に記載の方法。
  38. 前記キャッシュはMOLAPキャッシュを備えることを特徴とする請求項31に記載の方法。
  39. 前記分析構成要素はUDMを備えることを特徴とする請求項31に記載の方法。
  40. 前記分析構成要素は、MOLAPモード、ROLAPモード、およびMOLAP/ROLAPモードからなるグループから選択される少なくとも1つを備える動作モードを有することを特徴とする請求項31に記載の方法。
  41. 動作モードの決定に関連する入力を提供すること、
    前記入力に少なくとも部分的に基づいて前記動作モードを決定すること、
    データベースから派生した動的な多次元分析データを提供する少なくとも1つの多次元オブジェクトを提供すること、
    少なくとも1つの多次元オブジェクトから派生した動的な多次元分析データを提供する少なくとも1つのキャッシュを構築すること、
    動作モードを有する分析構成要素を前記決定された動作モードに切り換えること、および
    前記決定された動作モードを使用して、前記分析構成要素を介してクエリを処理すること
    を備えることを特徴とする先行キャッシュ方法。
  42. 関連する多次元オブジェクトに対する変更が起きたか決定すること、および
    関連する変更が起きたとき、前記多次元オブジェクトにアクセスするように前記分析構成要素の動作モードを切り換えること
    をさらに備えることを特徴とする請求項41に記載の方法。
  43. 前記関連する変更に関連するすべてのキャッシュを削除すること、および
    変更のあった多次元オブジェクトに基づいて前記キャッシュを再構築すること
    をさらに備えることを特徴とする請求項42に記載の方法。
  44. 前記キャッシュの前記構築中に、関連する変更を決定すること、および
    関連する変更が起こると、前記キャッシュの前記構築をキャンセルすること
    をさらに備えることを特徴とする請求項41に記載の方法。
  45. 前記入力は、少なくとも1つのユーザ入力および少なくとも1つのシステム入力からなるグループから選択される少なくとも1つを備えることを特徴とする請求項41に記載の方法。
  46. 前記ユーザ入力は、ロー・レイテンシ・クエリ要求およびリアルタイム・クエリ要求からなるグループから選択される少なくとも1つを備えることを特徴とする請求項45に記載の方法。
  47. データベースから派生した動的な多次元分析データを提供する少なくとも1つの多次元オブジェクトを提供すること、
    少なくとも1つの多次元オブジェクトから派生した動的な多次元分析データを提供する少なくとも1つのキャッシュを構築すること、
    データを指定する入力を提供すること、
    関連する多次元オブジェクトに対する変更が起きたか決定すること、
    関連する変更が起きたとき、前記多次元オブジェクトにアクセスするように前記分析構成要素の動作モードを切り換えること、および
    前記変更のあった関連する多次元オブジェクトに基づいて、前記キャッシュを再構築すること
    を備えることを特徴とする先行キャッシュ方法。
  48. 前記入力は、更新されることが望ましいデータを備えることを特徴とする請求項47に記載の方法。
  49. 関連する多次元オブジェクトに対する変更は、更新されることが望ましい前記データを備えることを特徴とする請求項48に記載の方法。
  50. 前記入力は、関連する多次元オブジェクトにデータをリンクする情報を備えることを特徴とする請求項47に記載の方法。
  51. 前記キャッシュの再構築の後で、前記キャッシュのみにアクセスする動作モードに前記分析構成要素を切り換えること、および
    前記キャッシュを使用して、前記分析構成要素を介してクエリを処理すること
    をさらに備えることを特徴とする請求項50に記載の方法。
  52. データベースから派生した動的な多次元分析データを提供する少なくとも1つの多次元オブジェクトを提供すること、
    少なくとも1つの多次元オブジェクトから派生した動的な多次元分析データを提供する少なくとも1つのキャッシュを構築すること、
    キャッシュ再構築パラメータを決定する入力を提供すること、
    関連する多次元オブジェクトに対する変更が起きたか決定すること、
    前記キャッシュ再構築パラメータが満たされたとき、前記多次元オブジェクトにアクセスするように前記分析構成要素の動作モードを切り換えること、および
    関連する多次元オブジェクトに基づいて、前記キャッシュを再構築すること
    を備えることを特徴とする先行キャッシュ方法。
  53. 前記キャッシュ再構築パラメータは、強制リフレッシュ・レート、沈黙時間遅延、および沈黙時間遅延オーバーライドからなるグループから選択される少なくとも1つを備えることを特徴とする請求項52に記載の方法。
  54. クエリをクエリ・インタープリタに入力すること、
    異なるデータベースから派生したデータ・ソースに各セッションがアクセスする少なくとも2つのセッションに、前記クエリをロードすること、
    前記セッションから得られたデータを比較して、結果比較部を介して違いを決定すること、および
    前記セッションの前記違いを分析して、前記クエリ・インタープリタによって先行キャッシュを適合的に最適化すること
    を備えることを特徴とする、先行キャッシュを最適化する方法。
  55. 先行キャッシュ構造に部分的に基づく動的な多次元分析データを備えることを特徴とする、データ分析を容易にし、2つ以上のコンピュータ構成要素の間で伝送されるデータ・パケット。
  56. 前記動的な多次元分析データは、データベースから派生した多次元オブジェクト・データ、および少なくとも1つの多次元オブジェクトから派生した動的な多次元分析データからなるグループから選択される少なくとも1つを備えることを特徴とする請求項55に記載のデータ・パケット。
  57. 少なくとも1つの多次元オブジェクトから派生した前記動的な多次元分析データは、MOLAPキャッシュからのデータを備えることを特徴とする請求項56に記載のデータ・パケット。
  58. 前記多次元オブジェクト・データはOLAPオブジェクトからのデータを備えることを特徴とする請求項56に記載のデータ・パケット。
  59. 前記OLAPオブジェクトはROLAPオブジェクトを備えることを特徴とする請求項58に記載のデータ・パケット。
  60. 前記データベースはリレーショナル・データベースを備えることを特徴とする請求項56に記載のデータ・パケット。
  61. 少なくとも1つの変形OLAPキャッシュに少なくとも部分的に基づくデータ・セットに関連づけられた情報を提供する先行キャッシュ・システムを構成することを特徴とする、データ分析を容易にするシステムのコンピュータ実行可能な構成要素を格納するコンピュータ可読媒体。
  62. 前記変形OLAPキャッシュはMOLAPキャッシュを備えることを特徴とする請求項61に記載の媒体。
  63. 前記先行キャッシュ・システムは、
    多次元オブジェクトと、前記多次元オブジェクトから派生した動的な多次元分析データを備えるキャッシュとに先行的に結合することができ、前記多次元オブジェクトおよび前記キャッシュへのアクセスを選択的に制御することができる少なくとも1つの分析構成要素を備えることを特徴とする請求項61に記載の媒体。
  64. コンピュータ、サーバ、および可搬型電子装置からなるグループの少なくとも1つを備えることを特徴とする、請求項1に記載のシステムを利用する装置。
JP2004058207A 2003-03-28 2004-03-02 変形olapを使用する先行キャッシュ・システムおよび方法 Expired - Fee Related JP4578120B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
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
JP2004303212A true JP2004303212A (ja) 2004-10-28
JP4578120B2 JP4578120B2 (ja) 2010-11-10

Family

ID=32989579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004058207A Expired - Fee Related JP4578120B2 (ja) 2003-03-28 2004-03-02 変形olapを使用する先行キャッシュ・システムおよび方法

Country Status (5)

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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010539616A (ja) * 2007-09-21 2010-12-16 ハッソ−プラトナー−インスティテュート フュア ソフトバレシステムテヒニク ゲゼルシャフト ミット ベシュレンクテル ハフツング Oltpデータをレポートするための、重複がないetlレスシステム及びその方法
JP2012138082A (ja) * 2010-12-08 2012-07-19 Dassault Systemes Enovia Corp Oltpデータベース環境とolapデータベース環境を統合するための、コンピュータの方法およびシステム
JP6199513B1 (ja) * 2016-08-29 2017-09-20 株式会社 ビーアイマトリックスBi Matrix Co.,Ltd キャッシュテーブルの統合基盤の2段階クエリ処理システム
US12001433B2 (en) 2022-08-23 2024-06-04 Sap Se ETL-less zero-redundancy system and method for reporting OLTP data

Families Citing this family (51)

* 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
DK1477909T3 (da) 2003-05-15 2007-05-07 Targit As Fremgangsmåde og brugergrænseflade til at lave en præsentation af data under anvendelse metamorfning
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
CA2564754A1 (en) * 2004-04-26 2005-11-10 Right90, Inc. Forecasting data 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
EP2021953A2 (en) * 2006-05-16 2009-02-11 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
US7793292B2 (en) * 2006-09-13 2010-09-07 Fisher-Rosemount Systems, Inc. Compact batch viewing techniques for use in batch processes
CN100437589C (zh) * 2007-01-30 2008-11-26 金蝶软件(中国)有限公司 联机分析处理系统中多维表达式数据缓存的方法和装置
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
US7870114B2 (en) 2007-06-15 2011-01-11 Microsoft Corporation Efficient data infrastructure for high dimensional data analysis
US7765216B2 (en) * 2007-06-15 2010-07-27 Microsoft Corporation Multidimensional analysis tool for high dimensional 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 시스템
CN102411598B (zh) * 2011-07-29 2013-07-31 株洲南车时代电气股份有限公司 一种实现数据一致性的方法及其系统
US9390082B1 (en) 2011-10-08 2016-07-12 Bay Dynamics, Inc. Generating multiple views of a multidimensional cube
US9081830B1 (en) 2011-10-08 2015-07-14 Bay Dynamics Updating a view of a multidimensional cube
US8909680B1 (en) 2011-10-08 2014-12-09 Bay Dynamics Intelligent caching of multidimensional cube data
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
US8965836B1 (en) 2011-10-08 2015-02-24 Bay Dynamics Management of multidimensional data storage cubes using content packs
US9330091B1 (en) 2011-10-08 2016-05-03 Bay Dynamics, Inc. System for managing data storages
US9183269B1 (en) 2011-10-08 2015-11-10 Bay Dynamics, Inc. Federated multidimensional data storage cubes
US9171055B1 (en) 2011-10-08 2015-10-27 Bay Dynamics, Inc. Content packs for multidimensional data storage cubes
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
US9870415B2 (en) * 2013-09-18 2018-01-16 Quintiles Ims Incorporated System and method for fast query response
EP3069276B1 (en) * 2014-01-02 2019-03-13 Huawei Technologies Co., Ltd. Method and apparatus of maintaining data for online analytical processing in a database system
CN103870571B (zh) * 2014-03-14 2017-06-06 华为技术有限公司 多维联机分析处理系统中的立方体重构方法和装置
US10664479B2 (en) * 2014-06-27 2020-05-26 Sap Se Accommodating concurrent changes in underlying data during reporting
CN105573838B (zh) * 2014-10-14 2022-04-29 创新先进技术有限公司 缓存健康度检测方法及装置
CN104317936A (zh) * 2014-10-31 2015-01-28 北京思特奇信息技术股份有限公司 一种基于星型模型的rolap解析引擎设计方法及装置
CN105426501B (zh) * 2015-11-25 2018-12-21 广州华多网络科技有限公司 多维数据库自动路由实现方法和系统
CN106909691A (zh) * 2017-03-09 2017-06-30 山东浪潮商用系统有限公司 一种基于缓存的高效税收数据分析方法
RU2688229C1 (ru) * 2017-12-25 2019-05-21 Общество с ограниченной ответственностью "РЕГУЛ+" (ООО "РЕГУЛ+") Способ агрегирования и преобразования данных и устройство для его реализации
CN108664560A (zh) * 2018-04-09 2018-10-16 宁波诺信睿聚投资有限责任公司 数据查询方法、装置、计算机设备及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143762A (ja) * 1997-11-12 1999-05-28 Mitsubishi Electric Corp データ処理装置

Family Cites Families (21)

* 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
US6256712B1 (en) * 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
US6026413A (en) * 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
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
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
CA2754915C (en) 2002-07-26 2015-03-17 Datatrak International, Inc. 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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143762A (ja) * 1997-11-12 1999-05-28 Mitsubishi Electric Corp データ処理装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010539616A (ja) * 2007-09-21 2010-12-16 ハッソ−プラトナー−インスティテュート フュア ソフトバレシステムテヒニク ゲゼルシャフト ミット ベシュレンクテル ハフツング Oltpデータをレポートするための、重複がないetlレスシステム及びその方法
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
US10713253B2 (en) 2007-09-21 2020-07-14 Sap Se ETL-less zero-redundancy system and method for reporting OLTP data
US11461331B2 (en) 2007-09-21 2022-10-04 Sap Se ETL-less zero-redundancy system and method for reporting OLTP data
JP2012138082A (ja) * 2010-12-08 2012-07-19 Dassault Systemes Enovia Corp Oltpデータベース環境とolapデータベース環境を統合するための、コンピュータの方法およびシステム
JP6199513B1 (ja) * 2016-08-29 2017-09-20 株式会社 ビーアイマトリックスBi Matrix Co.,Ltd キャッシュテーブルの統合基盤の2段階クエリ処理システム
US12001433B2 (en) 2022-08-23 2024-06-04 Sap Se ETL-less zero-redundancy system and method for reporting OLTP data

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4578120B2 (ja) 変形olapを使用する先行キャッシュ・システムおよび方法
US11036735B2 (en) Dimension context propagation techniques for optimizing SQL query plans
US20200356559A1 (en) Query Combination In A Hybrid Multi-Cloud Database Environment
JP4306152B2 (ja) クラスタ化したアプリケーションサーバおよびデータベース構造を持つWebシステム
US8521770B1 (en) Method for distributed RDSMS
CN108073710B (zh) 基于动态网络图挖掘的Github开源代码库推荐系统
Tian et al. IBM Db2 Graph: Supporting synergistic and retrofittable graph queries inside IBM Db2
US11354332B2 (en) Enabling data access by external cloud-based analytics system
US10803043B2 (en) Managing hash indexing
US20230418824A1 (en) Workload-aware column inprints
US7415457B2 (en) Using a cache to provide cursor isolation
US7979385B2 (en) Selective exposure to a data consumer
US11294906B2 (en) Database record searching with multi-tier queries
Vitt et al. Microsoft sql server 2005 analysis services performance guide
Jia Supporting Interactive Analytics and Visualization on Large Data
Amiri et al. A self-managing data cache for edge-of-network web applications
Pirzadeh On the performance evaluation of big data systems
US20230359622A1 (en) Blocked index join
Demers et al. The architecture of the cornell knowledge broker
Tatemura et al. Progressive Partitioning for Parallelized Query Execution in Google's Napa
Sandmann Implementation of a Segmented, Transactional Database Caching System
Meng et al. SQL Query Disassembler: An approach to managing the execution of large SQL queries
Meng SQL Query Disassembler
Chen et al. Continuous access to cloud event services with event pipe queries
Tang Internet-scale information monitoring: A continual query approach

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100120

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100817

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100824

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4578120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees