JP2021529367A - データ・キューブの動的増分更新 - Google Patents

データ・キューブの動的増分更新 Download PDF

Info

Publication number
JP2021529367A
JP2021529367A JP2020567858A JP2020567858A JP2021529367A JP 2021529367 A JP2021529367 A JP 2021529367A JP 2020567858 A JP2020567858 A JP 2020567858A JP 2020567858 A JP2020567858 A JP 2020567858A JP 2021529367 A JP2021529367 A JP 2021529367A
Authority
JP
Japan
Prior art keywords
data
updated
computer
olap
cube
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.)
Pending
Application number
JP2020567858A
Other languages
English (en)
Inventor
ラオ、スリャナラヤナ
パリクー、ヴィレン
チャンドラ パタク、ラメシュ
クマール ゴエル、ラメシュ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2021529367A publication Critical patent/JP2021529367A/ja
Pending 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
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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/23Updating
    • G06F16/2393Updating materialised views
    • 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/24Querying
    • G06F16/245Query processing
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Abstract

オンライン分析処理(OLAP)データ・キューブの動的増分更新のためのシステムおよび方法が開示される。実施形態において、コンピュータ実施方法が、複数のデータ・フィールドを含む実時間トランザクショナル事象データを受け取ることと、更新されるターゲット・データ・キューブの複数の標準クエリ言語(SQL)クエリのそれぞれに対して集計コンピューティング関数を識別することであって、ターゲット・データ・キューブが、フィールドに編成される数値の形でOLAPデータを記憶するための多次元の形である、識別することと、更新された集計されたフィールド・データベースから取得された現在の集計された値と複数のデータ・フィールドのうちの1つの値とに基づいて集計コンピューティング関数を増分的に計算することと、ターゲット・データ・キューブのための更新されたフィールド・データを取得するために複数のSQLクエリのそれぞれに対して増分計算を繰り返すことと、更新された集計されたフィールド・データベースを、更新されたフィールド・データで更新することとを含む。

Description

本発明は、一般に、キャッシュされたデータを管理することおよび更新することに関し、より詳しくは、オンライン分析処理(OLAP)データ・キューブの動的増分更新に関する。
ビジネス・インテリジェンス(BI:Business Intelligence)は、トランザクショナル・データベースからのデータを分析し、集計するための技術主導型プロセスであり、そこでは、データのキューブが、規則的な間隔で(通常毎夜)準備され、リフレッシュされる。オンライン分析処理(OLAP:online analytical processing)は、多くのBI適用例の背後にある技術であり、そこでは、1つまたは複数のコンピュータ・プロセッサが、データの多次元分析を実施する。OLAP中に集められたすべてのデータは、ファクト・テーブルに収集される。膨大な量のデータを生成するほんとんどの顧客システムは、「トランザクション的に」分析または評価することができない。したがって、OLAPデータは、典型的にはOLAPデータ・キューブに集計される。このプロセス中に生成されたOLAPデータ・キューブは、製品管理者または顧客層に対してそれらがビジネス・インサイトを収集するためにダッシュボードまたは報告書として顕在化させることができる。OLAPを介して分析することができるデータの例には、ポータル・サイトおよび検索エンジンのウェブ・ログからのクリック・ストリーム・データ、銀行取引、店舗ロジスティクス、販売時点情報管理データなどが含まれ、次いで、それらは、ユーザに対して報告書として顕在化される。典型的には、1つまたは複数のプロセッサは、トランザクショナル・データを読み取り、データ・ログを利用し、計算、合計、集計などを実施するためにバッチ・ジョブを実行し、毎夜、毎週、毎月、または毎年で、結果をOLAPデータ・キューブにロードする。
本発明は、請求項1において特許請求される方法、および対応するシステムおよびコンピュータ・プログラムを提供する。
本発明は、本発明の例示的な実施形態の非限定例により、示された複数の図面を参照して、後に続く詳細な説明において説明する。
本発明の実施形態によるコンピューティング・インフラストラクチャを示す図である。 本発明の態様に従った例示的な環境を示す図である。 本発明の態様に従った方法のステップのフローチャートである。 本発明の態様に従った方法のステップのフローチャートである。 本発明の態様に従った例示的な方法のフロー・ダイヤグラムである。 本発明の実施形態に従ったコンピュータ関数の増分集計の例示的な例を示す図である。 動的増分リフレッシュ可能データ・キューブ・キャッシュ・サブセットのブロック図である。
本発明は、一般に、キャッシュされたデータを管理することおよび更新することに関し、より詳しくは、オンライン分析処理(OLAP)データ・キューブの動的増分更新に関する。上記のように、典型的には、1つまたは複数のオンライン分析処理(OLAP)コンピュータ・プロセッサは、トランザクショナル・データを読み取り、データ・ログを利用し、計算、合計、集計などを実施するためにバッチ・ジョブを実行し、毎夜、毎週、毎月、または毎年に、結果をOLAPデータ・キューブにロードする。そのようなバッチ・ジョブは、合計数百テラバイトのデータになることもある膨大なデータ・セットがディスクから読み取られ、メモリ構造上にロードされ、データ計算に利用され、ターゲット・データ・キューブにロードされるので、非常に資源集約的である。典型的には、バッチOLAP更新は、ピーク・ビジネス時間中にデータベース性能が影響を受けないように、オフピーク時間中に実施される。しかしながら、分析されるデータ量が増加するにつれて、これらの大きなデータ・セットを処理するのに必要な時間も増加し、正規またはピーク・ビジネス時間に超過して食い込み、結果として大きなビジネス上の問題になる虞がある処理停止を生じさせる場合がある。結果として、バッチ・ジョブのスケジューリングが常に縮小することが典型的であり、それによって、OLAPコンピューティング・システムが、常にバッチ・ジョブの処理に追いつこうとするのである。
大きなデータ・セットの問題に対する代替解決策は、OLAPコンピューティング・システムがデータを別のサーバに転送して処理をすることである。この方式は、追加のハードウェア、ソフトウェアおよび保守努力を必要とし、全OLAPコストを増加させる。コンピュータの能力を増加させて、集計ジョブをビッグ・データ・プラットフォーム(例えば、Apache Hadoop(登録商標))上のデータ・クラスタに委譲することによって、この問題に対処しようとした者もいる。この解決策は、膨大な量のデータをリレーショナル・データ・ベース管理システム(RDBMS)からHadoop Distributed File System(HDFS)ベースのクラスタに転送することを必要とする。この解決策は、また、これらのHDFSクラスタを準備するためにハードウェアおよびソフトウェアの観点から大きな投資を必要とする。この解決策のためのファイルのオフローディングおよび転送もやはり時間のかかるステップであり、問題の根本原因に対処しないし、拡張可能な解決策ももたらさない。
現在、トランザクショナル・フィード(入力トランザクショナル・データ)に基づいてOLAPデータ・キューブを増分的におよび正確に最新に保持するメカニズムはない。有利には、本発明の実施形態は、実時間トランザクショナル事象データに基づいて増分OLAPデータ・キューブ更新を実施するために、機能を、独創的なプログラミングを有する特殊コンピューティング・デバイスを使用してOLAPコンピューティング・システムに追加する。実時間トランザクショナル事象データは、データが生成されるにつれて継続的に取得することができる。態様において、本発明の実施形態は、資源集約的なOLAPバッチ・ジョブおよびOLAPデータ・キューブ生成の技術的問題を解決するために拡張可能な方法を提供する。本発明の実施形態は、新たなプロセスを利用する(例えば、更新されたOLAPデータ・キューブを作り出すために、集計されていない実時間入力フィールド・データを集計されたフィールド・データと比較する)新たな種類のデータを利用する(例えば、更新のためにターゲットOLAPデータ・キューブを識別する)。実施形態において、OLAPコンピューティング・システムは、継続的に更新された集計されたデータ・キューブからの報告書またはダッシュボードあるいはその両方の直接生成を可能にする。さらに、本発明の実施形態は、本発明の態様に従ったOLAPコンピューティング・システムが従来のバッチ型OLAPコンピューティング・システムに比較してより少ない処理資源を必要とするので、OLAPコンピュータ・システムの改善を構成する。すなわち、本発明の実施形態により、ジョブが実行されるたびにOLAPデータ・キューブ全体を最初から構築するために膨大なバッチ・ジョブを実行する必要がなくなる。
本発明は、統合の任意の可能な技術的詳細レベルにおいてシステム、方法、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためにその上にコンピュータ可読プログラム命令を有する1つのまたは複数のコンピュータ可読記憶媒体を含むことができる。
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持し、記憶することができる有形デバイスであることができる。例えば、コンピュータ可読記憶媒体は、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または前述のものの任意の適切な組合せであってもよいが、それに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、携帯用コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、携帯用コンパクト・ディスク読み取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピ・ディスク、パンチカードまたはその上に命令を記録した溝における持ち上がった構造などの機械的にエンコードされたデバイス、および前述のものの任意の適切な組合せが含まれる。コンピュータ可読記憶媒体は、本明細書で使用されるとき、電波または他の自由に伝播する電磁波、導波路または他の伝送媒体中を伝播する電磁波(例えば、光ファイバ・ケーブル中を通過する光パルス)、または電線を通じて伝送される電気信号などの、それ自体が一過性の信号であると解釈されないものとする。
本明細書に説明するコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、またはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたは無線ネットワークあるいはその組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組合せを備えることができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体への記憶のためにコンピュータ可読プログラム命令を転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、またはSmalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続きプログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで作成されたソース・コードもしくはオブジェクト・コードのいずれかでもよい。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、独立型のソフトウェア・パッケージとして、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、または全体的にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意の種類のネットワークを通じてユーザのコンピュータに接続することができ、または外部コンピュータに接続することができる(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)。いくつかの実施形態において、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、電子回路を個別化するコンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書において説明する。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実施することができることが理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されて、マシンを作り出すものであってもよい。これらのコンピュータ可読プログラム命令は、中に記憶された命令を有するコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んだ製品を備えるべく、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラム可能データ処理装置、または他のデバイスあるいはその組合せに特定の方式で機能するように指示するものであってもよい。
コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能装置、または他のデバイスで実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/動作を実施するように、コンピュータ実施プロセスを生成するべく、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を示す。この点において、フローチャートまたはブロック図における各ブロックは、指定された論理機能(複数可)を実施するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または一部分を表すことができる。いくつかの代替実施において、ブロックに記載された機能は、図に記載された順番以外で行われる場合がある。例えば、連続して示す2つのブロックは、実質的に同時に実行することができ、またはブロックは、関与する機能に応じて時には逆の順番で実行することもできる。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能または動作を実施し、または専用ハードウェアとコンピュータ命令との組合せを実行する、専用ハードウェアベースのシステムによって実施することができることも留意される。
次に図1を参照すると、コンピューティング・インフラストラクチャの例の概略が示される。コンピューティング・インフラストラクチャ10は、適切なコンピューティング・インフラストラクチャの一例に過ぎず、本明細書に説明する本発明の実施形態の使用または機能の範囲に関する任意の限定を提案することが意図されていない。それにもかかわらず、コンピューティング・インフラストラクチャ10を実施することができ、またはコンピューティング・インフラストラクチャ10は上記に記載された機能のいずれかを実施することができ、あるいはその両方ができる。
コンピューティング・インフラストラクチャ10には、コンピュータ・システム(またはサーバ)12があり、それは数多くの他の汎用または専用コンピューティング・システム環境または構成に対して動作可能である。コンピュータ・システム12に使用するのに適切であることができる、周知のコンピューティング・システム、環境、または構成あるいはその組合せの例には、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムまたはデバイスのうちのいずれかを含む分散クラウド・コンピューティング環境などが含まれるが、それに限定されない。
コンピュータ・システム12は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールには、特定のタスクを実施し、または特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、構成要素、論理回路、およびデータ構造などが含まれる場合がある。コンピュータ・システム12は、タスクが、通信ネットワークを通じてリンクされるリモート処理デバイスによって実施される分散クラウド・コンピューティング環境において実行することができる。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ記憶デバイスを含む、ローカルおよびリモート・コンピュータ・システム記憶媒体の両方に配置することができる。
図1に示すように、コンピューティング・インフラストラクチャ10におけるコンピュータ・システム12は、汎用コンピューティング・デバイスの形で示される。コンピュータ・システム12の構成要素は、1つまたは複数のプロセッサまたは処理ユニット(例えば、CPU)16、システム・メモリ28、およびシステム・メモリ28を含む様々なシステム構成要素をプロセッサ16に結合するバス18を含むことができるが、それに限定されない。
バス18は、メモリ・バスまたはメモリ・コントローラ、周辺機器用バス、アクセラレイティッド・グラフィックス・ポート、および様々なバス・アーキテクチャのうちのいずれかを使用するプロセッサまたはローカル・バスを含む、いくつかの種類のバス構造のうちのいずれかの1つまたは複数を表す。例として、および限定ではなく、そのようなアーキテクチャには、インダストリー・スタンダード・アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI)バスが含まれる。
コンピュータ・システム12は、典型的には、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム12によってアクセス可能である任意の利用可能な媒体であってもよく、それは揮発性および不揮発性媒体、取り外し可能および取り外し不可能媒体の両方を含む。
システム・メモリ28は、コンピュータ・システム可読媒体をランダム・アクセス・メモリ(RAM)30またはキャッシュ・メモリ32あるいはその両方などの揮発性メモリの形で含むことができる。コンピュータ・システム12は、他の取り外し可能/取り外し不可能、揮発性/不揮発性コンピュータ・システム記憶媒体をさらに含むことができる。一例として、記憶システム34を取り外し不可能、不揮発性磁気媒体(図示せず、および典型的には「ハード・ドライブ」と呼ばれる)との読み取りおよび書き込みのために設けることができる。図示しないが、取り外し可能、不揮発性磁気ディスク(例えば、「フロッピ・ディスク」)との読み取りおよび書き込みのための磁気ディスク・ドライブと、CD−ROM、DVD−ROMまたは他の光学媒体などの取り外し可能、不揮発性光学ディスクとの読み取りおよび書き込みのための光学ディスク・ドライブとを設けることができる。そのような場合には、それぞれを1つまたは複数のデータ媒体インターフェースを介してバス18に接続することができる。以下にさらに図示し、説明するように、メモリ28は、本発明の実施形態の機能を実行するように構成されるプログラム・モジュールの組(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
プログラム・モジュール42の組(少なくとも1つ)を有するプログラム/ユーティリティ40、ならびにオペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データは、例として、また、限定ではなく、メモリ28に記憶することができる。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データまたはそのいくつかの組合せのそれぞれは、ネットワーキング環境の実施を含むことができる。プログラム・モジュール42は、一般に、本明細書に説明するように、本発明の実施形態の機能または方法あるいはその両方を実行する。
コンピュータ・システム12は、キーボード、ポインティング・デバイス、ディスプレイ24などの1つまたは複数の外部デバイス14、ユーザがコンピュータ・システム12と対話することを可能にする1つまたは複数のデバイス、またはコンピュータ・システム12が1つまたは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えば、ネットワーク・カード、モデムなど)あるいはその組合せと通信することもできる。そのような通信は、入出力(I/O)インターフェース22を介して行われ得る。さらにまた、コンピュータ・システム12は、ネットワーク・アダプタ20を介してローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)あるいはその組合せなどの1つまたは複数のネットワークと通信することができる。図示するように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム12の他の構成要素と通信する。図示しないが、他のハードウェアまたはソフトウェア構成要素あるいはその組合せをコンピュータ・システム12と併せて使用することができることを理解されたい。例には、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ記録記憶システムなどが含まれるが、それに限定されない。
図2は、本発明の態様に従った例示的なオンライン分析処理(OLAP)環境50を示す。OLAP環境50は、1つまたは複数の参加コンピューティング・デバイス60、1つまたは複数のトランザクション・コンピューティング・デバイス62およびOLAPコンピューティング・システム64(参加コンピューティング・デバイス60およびトランザクション・コンピューティング・デバイス62と破線で分離して示す。)と通信するネットワーク55を含む。図示する例示的なOLAPコンピューティング・システム64は、事象プロセッサ66、データ・メモリ・バッファ・キャッシュ68、集計コンピューティング・エンジン70、および集計キューブ定義抽出器72を備える。OLAPコンピューティング・システム64は、図1の少なくとも1つのコンピュータ・システム12を備えることができ、少なくとも1つのコンピュータ・システム12は、図1のネットワーク・アダプタ20を介してネットワーク55に接続することができる。OLAPコンピューティング・システム64は、ビジネス・インテリジェンス・システム・インフラストラクチャの一部である、1つまたは複数の専用コンピューティング・デバイスとして構成することができる。例えば、OLAPコンピューティング・システム64は、データ・メモリ・バッファ・キャッシュ68の集計OLAPデータ・キューブ・キャッシュ76への記憶のための増分OLAPデータ・キューブ更新を生成するために、リモート・トランザクション・コンピューティング・デバイス62のトランザクショナル事象データベース74から実時間トランザクショナル事象データを分析するように構成することができる。OLAPコンピューティング・システム64は、顧客固有の更新されたOLAPデータ・キューブを、それぞれの参加コンピューティング・デバイス60の報告モジュール78に提供するために、複数の異なる参加コンピューティング・デバイス60およびトランザクション・コンピューティング・デバイス62と同時に通信するように構成することができる。
ネットワーク55は、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)あるいはその組合せなどの任意の適切な通信ネットワークまたはネットワークの組合せであってもよい。参加コンピューティング・デバイス60は、図1のコンピューティング・デバイス12の形であってもよく、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、スマートフォンなどであってもよい。実施形態において、参加コンピューティング・デバイス60は、ユーザへの報告書またはダッシュボードの形でビジネス・インテリジェンス・データを提供するために、報告モジュール78を介してアプリケーション・プログラムを実行する。
さらに図2を参照すると、事象プロセッサ66が、本明細書に説明する機能のうちの1つまたは複数を実施するように構成された複数のコンピューティング・モジュールを備えることができ、コンピューティング・モジュールは、事象プロセッサ66によって実行される、1つまたは複数のプログラム・モジュール(例えば、図1のプログラム・モジュール42)を含むことができる。実施形態において、事象プロセッサ66の事象記憶モジュール80は、実時間トランザクショナル事象データを1つまたは複数のトランザクション・コンピューティング・デバイス62から受け取り、トランザクショナル事象データをファクト・テーブル・データベース82における1つまたは複数のファクト・テーブルに記憶するように構成される。ファクト・テーブル・データベース82からのデータは、データ・メモリ・バッファ・キャッシュ68のデータ・ブロック・キャッシュ84を更新するために利用することができる。態様において、事象プロセッサ66のパーサおよび抽出モジュール86は、入力トランザクショナル事象データを構文解析し、集計コンピューティング・エンジン70への伝送のためにデータ・フィールドを抽出する。
引き続き図2を参照すると、集計コンピューティング・エンジン70が、本明細書に説明する機能のうちの1つまたは複数を実施するように構成された集計モジュール88を含むことができ、集計モジュール88は、集計コンピューティング・エンジン70によって実行される、1つまたは複数のプログラム・モジュール(例えば、図1のプログラム・モジュール42)を含むことができる。実施形態において、集計モジュール88は、標準クエリ言語(SQL:standard query language)クエリ(SQLコード)によってデータ・キューブのリストを取得し、各SQLクエリに対して実施するために集計コンピュータ関数(例えば、SUM、MIN、MAX、AVERAGE、MEDIAN、VARIANCEなど)を識別し、更新された集計されたフィールド・データベース90における現在の集計された値および入力フィールドの値(入力トランザクショナル事象データからの)を使用して集計を増分的に計算する(集計コンピュータ関数を実施する)ように構成される。態様において、集計モジュール88は、増分計算に基づいて、更新された集計されたフィールド・データベース90における集計されたフィールドを更新する。実施形態において、集計モジュール88は、SQLクエリを集計キューブ定義抽出器72から取得する。
さらに図2を参照すると、集計キューブ定義抽出器72が、本明細書に説明する機能のうちの1つまたは複数を実施するように構成された定義抽出モジュール92を含むことができ、定義抽出モジュール92は、集計キューブ定義抽出器72によって実行される、1つまたは複数のプログラム・モジュール(例えば、図1のプログラム・モジュール42)を含むことができる。実施形態において、定義抽出モジュール92は、OLAPデータ・キューブ定義を、更新された集計されたフィールド・データベース90から抽出し、OLAPデータ・キューブ定義を集計コンピューティング・エンジン70に供給する。
実施形態において、OLAPコンピューティング・システム64は、追加のまたは図2に示すものよりも少ない構成要素を含むことができる。実施形態において、別々の構成要素は、単一のコンピューティング構成要素またはモジュールに統合することができる。さらに、または代替案として、単一の構成要素は、複数のコンピューティング構成要素またはモジュールとして実施することができる。
さらに、OLAP環境50におけるデバイスまたはネットワークあるいはその両方の数量は、図2に示すものに限定されない。実際には、OLAP環境50は、追加のデバイスまたはネットワークあるいはその両方、より少ないデバイスまたはネットワークあるいはその両方、異なるデバイスまたはネットワークあるいはその両方、または図2に示すのとは異なって配置されたデバイスまたはネットワークあるいはその両方を含むことができる。さらに、いくつかの実施において、OLAP環境50のデバイスのうちの1つまたは複数は、OLAP環境50のデバイスのうちの別の1つまたは複数によって実施されると説明された1つまたは複数の機能を実施することができる。OLAP環境50のデバイスは、有線接続、無線接続、または有線接続と無線接続との組合せを介して相互接続することができる。
図3Aおよび図3Bは、本発明の態様に従った方法のフローチャートを示す。図3の方法のステップは、図2に示すOLAP環境50において実施することができ、図2示す要素を参照して説明される。
まず図3Aを参照すると、ステップ300において、事象プロセッサ66が、実時間トランザクショナル事象データを1つまたは複数のトランザクション・コンピューティング・デバイス62から受け取る。実施形態において、事象プロセッサ66の事象記憶モジュール80は、実時間トランザクショナル事象データを受け取る。トランザクショナル事象データは、例えば、ポータル・サイトまたは検索エンジンのウェブ・ログのクリック・ストリーム・データ、銀行取引、店舗ロジスティクス、販売時点情報管理データなどを含むことができる。態様において、トランザクショナル事象データは、時間にわたって収集された集計されたデータではなく、実時間事象データを含む。ステップ300は、複数の発生源(例えば、リモート・トランザクション・コンピューティング・デバイス)からの実時間トランザクショナル事象データの受領を含むことができる。実施形態において、ステップ300は、周期的ではなく、継続的に実施される。
ステップ301において、事象プロセッサ66が、個別フィールド・データを入力トランザクショナル事象データから抽出し、トランザクショナル事象データをファクト・テーブル・データベース82の1つまたは複数のファクト・テーブルに記憶する。実施形態において、事象プロセッサ66の事象記憶モジュール80は、ステップ301を実施する。態様において、事象記憶モジュール80は、所定のターゲットOLAPデータ・キューブ(以下「データ・キューブ」)およびそれらの構成要素であるSQLクエリのリストに基づいてトランザクショナル事象データをファクト・テーブル・データベース82に記憶する。本明細書で使用されるとき、データ・キューブ(OLAPデータ・キューブまたはターゲット・データ・キューブ)という用語は、報告目的でデータを多次元の形で記憶する方法を表し、データ・キューブは、ユーザに関心のあるファクトを代表する数値を含み、それらはデータ・フィールド(関心のあるデータ・フィールド)に編成される。事象プロセッサ66に関心のあるデータ・フィールドは、トランザクショナル事象データにおけるすべての利用可能なデータ・フィールドを構成することができ、またはトランザクショナル事象データにおける利用可能なデータ・フィールドのすべて未満を構成することができる。例示的なファクト・テーブルを例示的な目的で以下の表1に示す。
Figure 2021529367
ステップ302において、ファクト・テーブル・データベース82からの最近使用した(Most Recently Used,MRU)データ(Most Recently Used,MRU)データをデータ・メモリ・バッファ・キャッシュ68のデータ・ブロック・キャッシュ84に記憶することができる。実施形態において、データ・メモリ・バッファ・キャッシュ68は、ファクト・テーブル・データベース82からのMRUデータを決定し、それをデータ・ブロック・キャッシュ84に記憶する。従来のMRUデータ記憶技法は、ステップ302の実行において利用することができる。
ステップ303において、集計コンピューティング・エンジン70が、それぞれが少なくとも1つのSQLクエリに関連付けられた、計算すべきターゲット・データ・キューブのリストを取得する。例えば、集計コンピューティング・エンジン70は、1つのデータ・キューブが計算されることになっていることを決定することができ、ここでは、データ・キューブは、それに関連付けられた10のSQLクエリを有する。集計コンピューティング・エンジン70は、集計コンピューティング・エンジン70に記憶されたデータ・キューブの所定のリストからデータ・キューブのリスト、またはリモート・コンピューティング・デバイス(例えば、トランザクション・コンピューティング・デバイス62)から受け取ったデータ・キューブのリストを決定することができる。
ステップ304において、集計キューブ定義抽出器72が、ステップ303において取得されたターゲット・データ・キューブのリストに基づいて、SQLクエリのリストおよびそれらの定義を、更新された集計されたフィールド・データベース90から抽出する。すなわち、計算する必要がある各ターゲット・データ・キューブに対して、集計キューブ定義抽出器72が、必要とする計算の種類を識別する、関連したSQLクエリ定義のリストを抽出する。実施形態において、集計キューブ定義抽出器72は、更新された集計されたフィールド・データベース90と、集計データ・キューブ定義との間の関係を識別する。1つまたは複数の関係が、更新された集計されたフィールド・データベース90とデータ・キューブ定義との間に存在する場合、集計コンピューティング・エンジン70は、以下のステップ305〜307に詳述するように、集計OLAPデータ・キューブ・キャッシュ76を更新するためにオンライン計算/増分集計を実施する。
ステップ305において、集計コンピューティング・エンジン70が、ステップ304において抽出された定義に基づいて、ステップ304において抽出された各SQLクエリに対して集計コンピューティング関数のリストを識別する。すなわち、ステップ305において、集計コンピューティング・エンジン70が、SQLクエリ定義を集計キューブ定義抽出器72から受け取り、それに基づいて、ターゲット・データ・キューブの各SQLクエリに対して集計コンピューティング関数のリストを識別する。集計コンピューティング関数の数および種類は、異なることがあり、SUM、MINIMUM(MIN)、MAXIMUM(MAX)、AVERAGE(AVG)、MEDIAN、VARIANCEなどの、典型的にはビジネス・インテリジェンス分析中に実施されるコンピューティング関数を含むことができる。
ステップ306において、SQLクエリにおける各フィールドに対して、集計コンピューティング・エンジン70は、更新された集計されたフィールド・データベース90からの現在の集計値と入力個別フィールドの値とを使用して、集計コンピューティング関数(ステップ305において識別された)を増分的に計算する。集計コンピューティング・エンジン70は、現在の集計値を、更新された集計されたフィールド・データベース90から取得し、現在の集計値を、ステップ300において受け取った、関連した入力個別フィールド値と比較する。例えば、MINの集計コンピュータ関数(すなわち、最小値を計算する)に対して、集計コンピューティング・エンジン70は、入力個別フィールド値が、更新された集計されたフィールド・データベース90における現在のMAX値よりも小さいかどうかをチェックすることができる。別の例において、MAXを計算する(すなわち、最大値を計算する)ために、集計コンピューティング・エンジン70は、入力個別フィールド値が、更新された集計されたフィールド・データベース90における現在のMAX値よりも大きいかどうかをチェックすることができる。さらに別の例において、AVGを計算するために、集計コンピューティング・エンジン70は、(現在のAVG+入力個別フィールド値)÷(現在の行数+1)を使用して平均を再計算することができる。
ステップ307において、集計コンピューティング・エンジン70が、ステップ306において実施された増分計算に基づいて、更新された集計されたフィールド・データベース90における集計されたフィールドを更新する。実施形態において、集計モジュール88は、ステップ307を実施する。
ステップ308において、ステップ303〜307が、ステップ303において取得された各ターゲット・データ・キューブに対して繰り返される。ステップ303〜307は、関心のある複数のターゲット・データ・キューブ(OLAPコンピューティング・システム64によって計算されるターゲット・データ・キューブ)に対して同時に実施することができることを理解されたい。
図3Bを参照すると、図3Aの方法は、ステップ309で継続される。ステップ309において、更新された集計されたフィールド・データベース90のMRUデータ・キューブが、MRUアルゴリズムに基づいてデータ・メモリ・バッファ・キャッシュ68の集計OLAPデータ・キューブ・キャッシュ76にアップロードされる。ステップ309は、データ・メモリ・バッファ・キャッシュ68によって継続的に実施することができる。態様において、集計OLAPデータ・キューブ・キャッシュ76には、1つまたは複数のサード・パーティ(例えば、参加コンピューティング・デバイス60)によってアクセス可能である。
ステップ310において、データ・メモリ・バッファ・キャッシュ68が、利用可能なメモリが不十分であることを決定し、最長時間未使用(Least Recently Used,LRU)アルゴリズムに基づいてデータ・メモリ・バッファ・キャッシュ68における記憶空間を消去する。データ・メモリ・バッファ・キャッシュ68は、ステップ310の実施において、既存のメモリ消去方法およびツールを利用することができる。
ステップ311において、集計OLAPデータ・キューブ・キャッシュ76が、更新されたデータ・キューブの形で報告データを1つまたは複数の参加コンピューティング・デバイス60に提供する。実施形態において、1つまたは複数の参加コンピューティング・デバイス60は、参加者に関心のある更新されたデータ・キューブを取得するために集計OLAPデータ・キューブ・キャッシュ76に周期的にアクセスする。実施形態において、集計OLAPデータ・キューブ・キャッシュ76は、報告データを1つまたは複数の参加コンピューティング・デバイス60に周期的に送る。
ステップ312において、参加コンピューティング・デバイス60の報告モジュール78が、ステップ311において取得された報告データに基づいて、ユーザに対して報告書またはダッシュボードあるいはその両方を生成し、表示するためにプログラム・アプリケーションを利用する。ステップ312の実施において、複数の既存のビジネス・インテリジェンス報告技法を利用することができる。
ステップ313において、ステップ300〜312が、継続的に繰り返される。したがって、図3Aおよび図3Bの方法は、OLAPデータ・キューブの継続的増分更新を可能とし、ビジネス・インテリジェンス・データの大きなバッチ処理に関連した遅延なしで、最新ビジネス・インテリジェンスを提供する。図3Aおよび図3Bのステップが、事象プロセッサ66、集計コンピューティング・エンジン70、および集計キューブ定義抽出器72によって実施されるものとして説明されているが、OLAP環境50の様々な要素は、本発明の複数の方法ステップを実施することができることを理解されたい。
図4は、本発明の態様に従った例示的な方法のフロー・ダイヤグラムである。図4に表すステップは、図3Aおよび図3Bにおいて明らかにされている。図4に示すように、実時間トランザクショナル事象データは、事象プロセッサ66に継続的に供給され、事象プロセッサ66は、例えば、図3Aのステップ300および301において説明したように、集計コンピューティング・エンジン70による使用のために、データを構文解析し、個別フィールド・データを抽出する。実時間トランザクショナル事象データから抽出されたフィールド・データは、図3Aのステップ301に従ってファクト・テーブル・データベース82に記憶することができ、ファクト・テーブル・データベース82からのMRUファクト・データは、図3Aのステップ302に従ってデータ・ブロック・キャッシュ84にキャッシュされる。集計キューブ定義抽出器72は、例えば、図3Aのステップ304において説明したように、集計OLAPデータ・キューブ・キャッシュ76におけるターゲット・データ・キューブ定義を読み取り、SQLクエリおよび定義を集計コンピューティング・エンジン70に供給する。集計コンピューティング・エンジン70は、ターゲット・データ・キューブに関連付けられたSQLクエリおよび定義を利用して、ターゲット・データ・キューブのための更新を計算する。具体的には、各ターゲット・データ・キューブに対して、集計コンピューティング・エンジン70は、例えば、図3Aのステップ305〜306において説明したように、関連したSQLクエリを取得し、各SQLクエリに対する集計コンピュータ関数を識別し、各集計関数(例えば、Min、MAX、AVG)を計算して、更新されたフィールド・データを取得する。次いで、更新されたフィールド・データが、適切なデータ・キューブ400とともに集計OLAPデータ・キューブ・キャッシュ76にキャッシュされ、その場合、それには、例えば、図3Aのステップ311において説明したように、1つまたは複数の参加コンピューティング・デバイス60によっていつでもアクセスすることができる。有利なことに、本発明の実施形態の場合、OLAPジョブが実行されるたびにデータ・キューブ全体を最初から構築するための膨大なバッチ・ジョブを実行する必要がない。本発明の実施形態は、OLAPデータ・キューブ集計が実時間で行われることを可能にする。結果として、実時間速度近くで、かつ、従来の集計計算ジョブが大きく依存する膨大な量の計算および記憶資源なしで、ビジネス・インテリジェンスが利用可能である。
図5は、本発明の実施形態に従ったコンピュータ機能の増分集計の例示的な例である。図5の集計は、図3Aおよび図3Bに関して説明した方法を使用して実施することができる。
テーブル500は、OLAPコンピューティング・システム64が入力トランザクショナル事象レコード#99を処理する前の月間銀行取引の集計計算を表し、テーブル500は、更新された集計されたフィールド・データベース90に記憶される。テーブル501は、図3Aのステップ301に従って事象プロセッサ66によって抽出され、ファクト・テーブル・データベース82に記憶された日間銀行取引の入力トランザクショナル事象レコード#99を表す。テーブル502は、OLAPコンピューティング・システム64が入力トランザクショナル事象レコード#99を処理した後の月間銀行取引の集計計算を表す。この例において、集計コンピューティング・エンジン70は、例えば、図3Aのステップ306において説明したように、テーブル500によって表される更新された集計されたフィールド・データベース90からの現在の集計値および504に示す入力フィールドtra_amtからの値を使用して、集計コンピュータ関数SUM(合計)およびMEDIANを増分的に計算する。図5に示すように、集計コンピューティング・エンジン70は、合計関数を実施し、テーブル500からの23,415,016.56の取引金額が、テーブル501の新たな取引金額14,576.33に追加されて、23,422,872.59の合計取引金額が得られる。したがって、テーブル502における合計(tra_amt)フィールドが、図3Aのステップ307に従って新たな取引金額23,422,872.59で更新される。同様に、集計コンピューティング・エンジン70は、中央値関数を実施し、テーブル500の11,571.78の中間取引金額およびテーブル501の取引金額14,576.33が、9,713.90の新たな中央値取引金額を計算するのに利用される。したがって、テーブル502における中央値(tra_amt)フィールドが、図3Aのステップ307に従って9,713.90の新たな中央値取引金額で更新される。
図6は、動的増分リフレッシュ可能データ・キューブ・キャッシュ・サブセットのブロック図である。図6のブロック図は、図2のOLAP環境50の構成要素を利用して実施することができる。
図6は、トランザクション・ワークロード600およびデータベース・トランザクション・ログ601を含むトランザクショナル事象データベース74のサブセットを示す。トランザクショナル事象データベース74のデータベース・トランザクション・ログ601からのデータは、事象プロセッサ66のトランザクション・ログ・ストア602に記憶することができる。事象プロセッサ66におけるトランザクション・ログ・ストア602から取得されたターゲット集計キューブ603のリストは、メタデータ604を取り出すのに利用され、メタデータ604は、抽出テーブル・リスト605によって利用される。607において、トランザクション・ログからの列値が、抽出列リスト606およびターゲット集計キューブ603のリストに基づいて抽出される。ターゲット集計キューブ603のリストは、集計キューブのメタデータ609という名称の列における集計キューブ608の索引に利用される。610において、キューブのメタデータおよびキューブSQL定義が、メタデータ取り出し604、テーブル・リスト抽出605、列リスト抽出606から取得される。612において、集計コンピューティング・エンジン70が、各入力フィールド・トランザクション行に対して集計関数(例えば、SUM、DISTINCT、MIN、MAX、AVG、MEDIANなど)をキューブ611のメタデータから取得する。613において、更新された集計値が、集計コンピューティング・エンジン70によって計算される。614において、増分キューブ更新614が、データ・キューブ615A、615Bおよび615Cによって表される、それぞれのターゲット・データ・キューブ615に適用される。
実施形態において、サービス・プロバイダが、本明細書に説明するプロセスを実施することを提供することができる。この場合、サービス・プロバイダは、1つまたは複数の顧客に対して本発明のプロセス・ステップを実施するコンピュータ・インフラストラクチャを作成し、維持し、展開し、サポートするなどをすることができる。これらの顧客は、例えば、技術を使用する任意の企業であってもよい。見返りとして、サービス・プロバイダは、購読予約または手数料契約あるいはその両方による顧客(複数可)からの支払いを受け取ることができ、またはサービス・プロバイダは、1つまたは複数のサード・パーティへの広告コンテンツの販売からの支払いを受け取ることができ、あるいはその組合せを行うことができる。
さらに別の実施形態において、本発明は、オンライン分析処理(OLAP)データ・キューブの動的増分更新のためのコンピュータ実施方法を提供する。この場合、コンピュータ・システム12(図1)などのコンピュータ・インフラストラクチャを提供することができ、本発明のプロセスを実施するための1つまたは複数のシステムを取得し(例えば、作成し、購入し、使用し、変更するなど)、コンピュータ・インフラストラクチャに展開することができる。この程度まで、システムの展開は、(1)プログラム・コードをコンピュータ可読媒体からコンピュータ・システム12などの(図1に示すように)コンピューティング・デバイスにインストールすること、(2)1つまたは複数のコンピューティング・デバイスをコンピュータ・インフラストラクチャに追加すること、および(3)コンピュータ・インフラストラクチャが本発明のプロセスを実施することを可能にするために、コンピュータ・インフラストラクチャの1つまたは複数の既存のシステムを組み込むことまたは変更することあるいはその両方をすることのうちの1つまたは複数を含むことができる。

Claims (8)

  1. コンピュータ実施方法であって、
    実時間トランザクショナル事象データを1つまたは複数のリモート・トランザクション・コンピューティング・デバイスから受け取ることであって、前記実時間トランザクショナル事象データが、値を含む複数のデータ・フィールドを含む、前記受け取ることと、
    更新されるターゲット・データ・キューブの複数の標準クエリ言語(SQL)クエリのそれぞれに対して集計コンピューティング関数を識別することであって、前記ターゲット・データ・キューブが、フィールドに編成される数値の形でオンライン分析処理(OLAP)データを記憶するための多次元の形である、前記識別することと、
    更新された集計されたフィールド・データベースから取得された現在の集計された値と、前記複数のデータ・フィールドのうちの1つの値とに基づいて前記集計コンピューティング関数を増分的に計算することと、
    前記ターゲット・データ・キューブのための更新されたフィールド・データを取得するために前記複数のSQLクエリのそれぞれに対して前記増分計算を繰り返すことと、
    前記更新された集計されたフィールド・データベースを、前記更新されたフィールド・データで更新すること
    とを含み、
    前記実時間トランザクショナル事象データを前記受け取ることおよび前記集計コンピューティング関数を前記増分的に計算することが、継続的に動的に実施される、方法。
  2. 前記複数のデータ・フィールドを前記実時間トランザクショナル事象データから抽出することをさらに含む、請求項1に記載の方法。
  3. ファクト・テーブル・データベースを前記複数のデータ・フィールドで更新することをさらに含む、請求項2に記載の方法。
  4. 更新される前記ターゲット・データ・キューブを識別することをさらに含む、請求項1に記載の方法。
  5. 前記更新された集計されたフィールド・データベースから前記SQLクエリの定義を抽出することをさらに含む、請求項1に記載の方法。
  6. ビジネス・インテリジェンス報告書における使用のために前記更新された集計されたフィールド・データベースからの報告データをリモート参加コンピューティング・デバイスに提供することをさらに含む、請求項1に記載の方法。
  7. 請求項1ないし6のいずれかに記載の方法のすべてのステップを実行するように適合された手段を備えるシステム。
  8. コンピュータ・プログラムがコンピュータ・システムで実行されるとき、請求項1ないし6のいずれかに記載の方法のすべてのステップを実行するための命令を含むコンピュータ・プログラム。
JP2020567858A 2018-06-27 2019-06-19 データ・キューブの動的増分更新 Pending JP2021529367A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/020,246 2018-06-27
US16/020,246 US10740356B2 (en) 2018-06-27 2018-06-27 Dynamic incremental updating of data cubes
PCT/IB2019/055163 WO2020003063A1 (en) 2018-06-27 2019-06-19 Dynamic incremental updating of data cubes

Publications (1)

Publication Number Publication Date
JP2021529367A true JP2021529367A (ja) 2021-10-28

Family

ID=68984720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020567858A Pending JP2021529367A (ja) 2018-06-27 2019-06-19 データ・キューブの動的増分更新

Country Status (5)

Country Link
US (1) US10740356B2 (ja)
JP (1) JP2021529367A (ja)
CN (1) CN112236761B (ja)
GB (1) GB202100026D0 (ja)
WO (1) WO2020003063A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10715394B2 (en) * 2018-10-29 2020-07-14 Sap Portals Israel Ltd. Data aggregation based on a heirarchical tree
CN112307057A (zh) * 2020-10-27 2021-02-02 北京健康之家科技有限公司 数据的处理方法及装置、电子设备、计算机存储介质
CN112765282B (zh) * 2021-01-18 2023-11-28 恒安嘉新(北京)科技股份公司 一种数据联机分析处理方法、装置、设备及存储介质
CN113434509B (zh) * 2021-07-02 2023-07-18 挂号网(杭州)科技有限公司 一种增量索引的更新方法、装置、存储介质及电子设备
US11947817B2 (en) * 2021-11-15 2024-04-02 Microstrategy Incorporated Memory mapping to enhance data cube performance
CN116756139B (zh) * 2023-05-12 2024-04-23 中国自然资源航空物探遥感中心 一种数据索引方法、系统、存储介质和电子设备

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6877006B1 (en) 2000-07-19 2005-04-05 Vasudevan Software, Inc. Multimedia inspection database system (MIDaS) for dynamic run-time data evaluation
US7698348B2 (en) 2003-12-19 2010-04-13 Kinaxis Holdings Inc. Extended database engine providing versioning and embedded analytics
ATE450011T1 (de) * 2004-06-23 2009-12-15 Sap Ag System und verfahren zur datenverarbeitung
US7610300B2 (en) * 2004-11-30 2009-10-27 International Business Machines Corporation Automated relational schema generation within a multidimensional enterprise software system
US7698349B2 (en) 2005-05-25 2010-04-13 Microsoft Corporation Dimension member sliding in online analytical processing
US8849745B2 (en) 2005-12-23 2014-09-30 International Business Machines Corporation Decision support methods and apparatus
US20090234710A1 (en) * 2006-07-17 2009-09-17 Asma Belgaied Hassine Customer centric revenue management
US20090287666A1 (en) * 2008-05-13 2009-11-19 International Business Machines Corporation Partitioning of measures of an olap cube using static and dynamic criteria
US20100228524A1 (en) 2009-03-06 2010-09-09 Bryan Jay Bain Sports analytics: use of a multi-dimensional database technology in the analysis of sports metrics related data
CN102360379B (zh) * 2011-10-10 2013-01-16 浙江鸿程计算机系统有限公司 一种多维数据立方体增量聚合及查询优化方法
US10346375B2 (en) 2012-04-26 2019-07-09 Entit Software Llc In-database parallel analytics
US20140040237A1 (en) 2012-07-31 2014-02-06 Qiming Chen Database retrieval in elastic streaming analytics platform
US8631034B1 (en) * 2012-08-13 2014-01-14 Aria Solutions Inc. High performance real-time relational database system and methods for using same
US9996584B2 (en) * 2012-08-13 2018-06-12 Aria Solutions, Inc. High performance real-time relational database system and methods for using same
US10430406B2 (en) * 2012-08-13 2019-10-01 Aria Solutions, Inc. Enhanced high performance real-time relational database system and methods for using same
US9405812B2 (en) 2012-10-22 2016-08-02 Platfora, Inc. Systems and methods for providing performance metadata in interest-driven business intelligence systems
US20140136553A1 (en) 2012-11-13 2014-05-15 International Business Machines Corporation Appliance for accelerating graph database management and analytics systems
US9063960B2 (en) 2012-11-30 2015-06-23 Symantec Corporation Systems and methods for performing customized large-scale data analytics
US9753980B1 (en) 2013-02-25 2017-09-05 EMC IP Holding Company LLC M X N dispatching in large scale distributed system
US8977600B2 (en) 2013-05-24 2015-03-10 Software AG USA Inc. System and method for continuous analytics run against a combination of static and real-time data
US20150039555A1 (en) 2013-08-02 2015-02-05 International Business Machines Corporation Heuristically modifying dbms environments using performance analytics
US9734230B2 (en) 2013-09-12 2017-08-15 Sap Se Cross system analytics for in memory data warehouse
US9798833B2 (en) * 2013-12-30 2017-10-24 Sap Ag Accessing information content in a database platform using metadata
GB201403505D0 (en) 2014-02-27 2014-04-16 Aistemos Ltd Database update and analytics system
CN103870571B (zh) * 2014-03-14 2017-06-06 华为技术有限公司 多维联机分析处理系统中的立方体重构方法和装置
WO2015168480A1 (en) 2014-05-01 2015-11-05 MPH, Inc. Analytics enabled by a database-driven game development system
US10572488B2 (en) 2014-06-13 2020-02-25 Koverse, Inc. System and method for data organization, optimization and analytics
US10430438B2 (en) 2014-06-20 2019-10-01 Amazon Technologies, Inc. Dynamic n-dimensional cubes for hosted analytics
US9477745B2 (en) 2014-07-07 2016-10-25 Sap Se Predictive cluster analytics optimization
US11023443B2 (en) 2015-02-13 2021-06-01 Teradata Us, Inc. Collaborative planning for accelerating analytic queries
US9710238B2 (en) 2015-03-26 2017-07-18 IfWizard Corporation Automatically optimizing analytics database server
US11036734B2 (en) 2016-03-08 2021-06-15 Oracle International Corporation Fusing global reporting aggregate computation with the underlying operation in the query tree for efficient evaluation
US10423617B2 (en) * 2016-07-15 2019-09-24 International Business Machines Corporation Remote query optimization in multi data sources
US10216782B2 (en) 2016-08-12 2019-02-26 Sap Se Processing of updates in a database system using different scenarios
CN107169070A (zh) * 2017-05-08 2017-09-15 山大地纬软件股份有限公司 一种基于大数据的社保指标仓库的构建系统及其方法

Also Published As

Publication number Publication date
CN112236761A (zh) 2021-01-15
CN112236761B (zh) 2023-12-22
US10740356B2 (en) 2020-08-11
WO2020003063A1 (en) 2020-01-02
US20200004868A1 (en) 2020-01-02
GB202100026D0 (en) 2021-02-17

Similar Documents

Publication Publication Date Title
US10521404B2 (en) Data transformations with metadata
CN112236761B (zh) 数据立方体的动态增量更新
US10715598B1 (en) Implementation of a web-scale data fabric
US20200184509A1 (en) System and Method for Performing Cross-Platform Big Data Analytics
Russom Big data analytics
US11663213B2 (en) Distinct value estimation for query planning
US20160364093A1 (en) Graphical user interface for high volume data analytics
US20230273898A1 (en) Lineage data for data records
US10614087B2 (en) Data analytics on distributed databases
US10031901B2 (en) Narrative generation using pattern recognition
US11200231B2 (en) Remote query optimization in multi data sources
US20140052727A1 (en) Data processing for database aggregation operation
CN111125266A (zh) 数据处理方法、装置、设备及存储介质
US10055421B1 (en) Pre-execution query optimization
US10657145B2 (en) Clustering facets on a two-dimensional facet cube for text mining
CN116843390A (zh) 信息展示方法及其装置
US10885157B2 (en) Determining a database signature
US11487756B1 (en) Ingesting and transforming bulk data from various data sources
US9323812B2 (en) Hybrid bifurcation of intersection nodes
US11023485B2 (en) Cube construction for an OLAP system
US20230229519A1 (en) Task allocation across processing units of a distributed system
Saravana et al. A case study on analyzing Uber datasets using Hadoop framework
Chinomona A paradigm shift from Surveys to Big Data in Financial Market Research
CN116910352A (zh) 基于人工智能的报表推荐方法、装置、设备及介质
CN116361361A (zh) 数据处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20201204

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20211228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220406