JP2020512641A - 多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムおよび方法 - Google Patents

多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムおよび方法 Download PDF

Info

Publication number
JP2020512641A
JP2020512641A JP2019552229A JP2019552229A JP2020512641A JP 2020512641 A JP2020512641 A JP 2020512641A JP 2019552229 A JP2019552229 A JP 2019552229A JP 2019552229 A JP2019552229 A JP 2019552229A JP 2020512641 A JP2020512641 A JP 2020512641A
Authority
JP
Japan
Prior art keywords
source data
leaf node
nodes
node
data
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
JP2019552229A
Other languages
English (en)
Other versions
JP6827127B2 (ja
Inventor
ラマイヤー,クマール
Original Assignee
オラクル・インターナショナル・コーポレイション
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 オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2020512641A publication Critical patent/JP2020512641A/ja
Application granted granted Critical
Publication of JP6827127B2 publication Critical patent/JP6827127B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/2246Trees, e.g. B+trees
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • 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/282Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes

Abstract

一実施形態によれば、システムおよび方法は、多次元データベース環境においてロード、集約、およびバッチ計算を提供することができる。メタデータを用いて、いずれの上位次元で各リーフレベルロードを用いるかを特定することができる。このとき、リーフレベルのデータは、それを用いる上位次元の各々に集約される。集約値は、上位レベルでの加算(または他の計算)が完了するまでメモリに格納される。完了すると、集約値はメモリから破棄され得る。1回のスキャンでロード、集約、およびバッチ計算を行なうシステムの能力は、大量のデータセットを処理する際に(例えばビッグデータ環境)、特に有用である。というのは、全てのリーフノードのデータを現在のメモリにロードすることが望ましくない場合があるからである。

Description

著作権表示
この特許文書の開示の一部は、著作権保護の対象となるものを含んでいる。著作権者は、特許商標庁の特許ファイルまたは記録に掲載された特許文書または特許開示の複製に対しては異議を唱えないが、その他の場合、全ての著作権を留保する。
優先権の主張
本願は、2017年9月29日に出願され、「多次元環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムおよび方法」と題された米国仮特許出願第62/565,519号の優先権を主張する。当該出願は、参照により本明細書に組み込まれる。
発明の分野
本発明の実施形態は、概してデータベースおよびデータウェアハウジングに関し、特に、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムおよび方法に関する。
背景
多次元データベースコンピューティング環境によって、企業は、必要な時に適切な人々に重要なビジネス情報を伝達し(複数の既存のデータソースからのデータを利用し、統合することを含む)、フィルタされた情報を、エンドユーザのニーズを最もよく満たす形でエンドユーザコミュニティに配信することができる。ユーザは、よく知られたビジネス次元上のリアルタイムデータと対話し、このデータを検索することができる。これにより、思考スピード(speed-of-thought)分析が可能になる。これらは、本発明の実施形態を使用可能な環境の典型例である。
概要
一実施形態によれば、システムおよび方法は、多次元データベース環境において1回のスキャンでのロード、集約、およびバッチ計算を提供することができる。例示的な方法は、1つ以上のマイクロプロセッサを含むコンピュータにおいて、当該コンピュータ上で実行されるとともに少なくとも1つのデータ次元の階層構造をサポートする多次元データベースサーバを提供し得る。当該方法は、上記少なくとも1つのデータ次元の階層構造を、各々が複数のノードのサブセットを含む複数のレベルに編成し得る。当該方法は、複数のノードのうちのリーフノードにソースデータをロードし得る。リーフノードは複数のレベルのうちの最下位レベルにあるノードであり、当該リーフノードは上位レベルの1つ以上のノードに関連付けられ、当該関連付けはメタデータを含む。当該方法は、ソースデータをリーフノードにロードすると、当該ソースデータを上位レベルの1つ以上のノードに集約し得る。当該方法は、ソースデータを上位レベルの1つ以上のノードに集約すると、ソースデータが集約されたものをメタデータに関連付け得る。当該方法は、ソースデータが集約されたものをメタデータに関連付けると、リーフノードにロードされたソースデータを破棄し得る。
一実施形態に従う多次元データベース環境の例を示す図である。 一実施形態に係る、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムを示す図である。 一実施形態に係る、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムを示す図である。 一実施形態に係る、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムを示す図である。 一実施形態に係る、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムを示す図である。 一実施形態に係る、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムを示す図である。 一実施形態に係る、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうための方法のフローチャートである。
詳細な説明
上述の特徴は、添付の明細書、特許請求の範囲、および図面を参照すれば、他の特徴と共に明らかになるであろう。具体的詳細は、様々な実施形態の理解を提供するために記載されるものである。しかしながら、それらの具体的詳細がなくても様々な実施形態を実施できることは明らかであろう。添付の明細書および図面は、限定的であることを意図するものではない。
多次元データベース環境(例えば、Oracle(登録商標)Essbase)を用いて、大量のデータ(いくつかの例では、複数のデータソースからの大量のデータ)を統合し、エンドユーザの特定の要求に応じて、フィルタされた情報を当該ユーザに配信することができる。
図1は、一実施形態に従う多次元データベース環境100の例を示す図である。
図1に示すように、一実施形態によれば、データベース層として動作する多次元データベース環境は、1つ以上の多次元データベースサーバシステム102を含み得る。各々の多次元データベースサーバシステム102は、物理コンピュータリソースまたは要素104(例えば、マイクロプロセッサ/CPU、物理メモリ、ネットワーク要素)と、オペレーティングシステム106と、1つ以上の多次元データベースサーバ110(例えば、Essbaseサーバ)とを含み得る。
一実施形態によれば、中間層120は、例えばプロバイダサービス122(例えば、Hyperionプロバイダサービス)、管理サービス124(例えば、Essbase管理サービス)、またはスタジオ/統合サービス126(例えば、Essbaseスタジオ/Essbase統合サービス)などの1つ以上のサービスを含み得る。中間層は、ODBC/JDBC127、128または他の種類のインターフェイスを介して、多次元データベース環境と共に使用されるメタデータカタログ129および/または1つ以上のデータソース130(例えば、関係データベース)へのアクセスを提供することができる。
一実施形態によれば、1つ以上の多次元データベースサーバは、多次元データベースを提供するために、ODBC/JDBC132または他の種類のインターフェイスを介して、1つ以上のデータソースにアクセスすることもできる。
一実施形態によれば、クライアント層140は、1つ以上の多次元データベースクライアント142(例えば、Essbaseサーバクライアント)を含み得る。これらの多次元データベースクライアント142は、多次元データベース(例えば、スマートビュー(Smart View)、スプレッドシートアドイン(Spreadsheet Add-in)、スマートサーチ(Smart Search)、管理サービス、MaxL、XMLA、CAPIまたはVB APIアプリケーション、Oracle(登録商標)ビジネスインテリジェンスエンタープライズエディションプラス(Oracle Business Intelligence Enterprise Edition Plus)、または他の種類の多次元データベースクライアント)にアクセスすることができる。また、クライアント層は、中間層のサービスと共に使用されるコンソール、例えば、管理サービスコンソール144またはスタジオ/統合サービスコンソール146を含むこともできる。
一実施形態によれば、クライアント層、中間層、およびデータベース層の間の通信は、TCP/IP、HTTP、または他の種類のネットワーク通信プロトコルのうちの1つ以上によって提供されてもよい。
一実施形態によれば、多次元データベースサーバは、1つ以上のデータソースからのデータを統合することによって、多次元データベース、データ構造、またはキューブ150を提供することができる。これらにアクセスすることにより、フィルタされた情報をエンドユーザに提供することができる。
一般的には、多次元データベース内の各データ値は、キューブの1つのセルに格納される。キューブの次元上の座標を特定することによって、特定のデータ値を照会することができる。1つの次元上のメンバと1つ以上の他の各次元上のメンバとの交差点は、データ値を表わす。
例えば、販売志向ビジネスアプリケーションに使用され得るキューブ162を示す図1に示すように、クエリが「売上高」を表わす場合、システムは、このクエリを、全ての「売上高」データ値を含むデータベース内のデータ値164のスライスまたはレイヤとして解釈することができる。「売上高」は、「実績」および「予算」と交差している。多次元データベース内の特定のデータ値166を照会するために、クエリは、例えば「売上高、実績、1月」を指定することによって、各次元上のメンバを特定することができる。異なる方法でデータベースをスライスすることによって、様々な視点のデータを提供することができる。例えば、「2月」についてのデータ値168のスライスにより、時間/年次元が「2月」に固定された全てのデータ値を検査することができる。
データベースアウトライン
一実施形態によれば、多次元データベースの開発は、データベースアウトラインの作成から始まる。データベースアウトラインは、データベース内のメンバ間の構造関係を定義し、データベース内のデータを編成し、集計および数学的関係を定義する。データベースアウトラインの階層ツリーまたはデータ構造において、各次元は、1つ以上のメンバを含み、各メンバは、さらに他のメンバを含み得る。次元を指定することによって、個々のメンバの値を集計する方法をシステムに指示することができる。集計は、ツリーの分岐内の一群のメンバである。
次元およびメンバ
一実施形態によれば、次元は、データベースアウトラインにおいて最も高い集計レベルを表わす。標準次元を選択して、部門別機能(例えば、時間、勘定科目、製品ライン、市場、部門)に関連する事業計画の構成要素を表わすことができる。標準次元に関連付けられた属性次元によって、ユーザは、メンバの属性または特性に基づいて、標準次元のメンバをグループ化および分析することができる。メンバ(例えば、商品A、商品B、商品C)は、次元の個々の構成要素である。
次元とメンバとの関係
一実施形態によれば、多次元データベースは、ファミリ(親、子および兄弟、子孫および祖先)および階層(世代およびレベル、ルートおよびリーフ)などの用語を用いて、データベースアウトライン内のメンバの役割および関係を記述する。
一実施形態によれば、親は、下位に分岐を持つメンバである。例えば、「マージン」は、「売上高」および「売上原価」(COGS)の親であり得る。子は、上位に親を持つメンバである。上記の例では、「売上高」および「売上原価」は、親である「マージン」の子である。兄弟は、すぐ上に同一親を持つ同一世代の子である。
一実施形態によれば、子孫は、親の下位の分岐に位置するメンバである。例えば、「利益」、「在庫」および「利益率」は、メジャーの子孫であり得る。この場合、「利益」、「在庫」および「利益率」の子も、メジャーの子孫である。祖先は、あるメンバの上位の分岐に位置するメンバである。上記の例では、「マージン」、「利益」およびメジャーは、「売上高」の祖先であり得る。
一実施形態によれば、ルートは、分岐内の最上位のメンバである。例えば、メジャーは、「利益」、「在庫」および「利益率」のルートであり、ひいては「利益」、「在庫」および「利益率」の子のルートでもあり得る。リーフ(レベル0)メンバは、子を持たない。例えば、「期首在庫」、「追加額」、および「期末在庫」は、リーフメンバであり得る。
一実施形態によれば、世代とは、1つの次元内の集計レベルを指す。ツリーのルートは、「世代1」と見なされる。世代の番号は、ルートからリーフメンバに向かって大きくなる。レベルは、次元内の分岐を表わす。レベルは、世代に使用された順序と逆の順序で番号付けられる。レベルの番号は、リーフメンバからルートに向かって小さくなる。
一実施形態によれば、ユーザは、世代またはレベルに名前を付与し、その名前をその世代またはレベル内のメンバ全員の略語として使用することができる。
疎次元および密次元
多次元データベース内のデータセットは、通常、2つの特性、すなわち、データが円滑且つ均一に分布していないという特性、およびデータがメンバの組合せの大半に存在していないという特性を共有している。
一実施形態によれば、これに対処するために、システムは、2種類の標準次元、すなわち、疎次元および密次元を認識することができる。疎次元は、有効なデータで埋まっている位置の割合が比較的低い次元である。これに対して、密次元は、次元の全ての組合せにおいて1つ以上のセルが埋まっている確率が比較的高い次元である。多くの多次元データベースは、メンバの組合せの大半がデータ値を有しないため、本質的に疎である。
データブロックおよびインデックスシステム
一実施形態によれば、多次元データベースは、データブロックおよびインデックスを用いてデータの格納およびアクセスを行なう。システムは、疎の標準次元のメンバの一意の組合せ毎に、多次元配列またはデータブロックを作成することができる。各データブロックは、疎次元のメンバの組合せに対する密次元のメンバを表わす。データブロック毎に、インデックスが作成される。インデックスは、疎の標準次元のメンバの組合せを表わす。また、インデックスは、少なくとも1つのデータ値が存在する疎の標準次元のメンバの一意の組合せ毎に、エントリまたはポインタを含む。
一実施形態によれば、多次元データベースサーバは、データ値を検索する際に、インデックスによって提供されたポインタを用いて適切なデータブロックを特定し、そのデータブロックにおいて、データ値を含むセルを特定することができる。
管理サービス
一実施形態によれば、管理サービス(例えば、Essbase管理サービス)は、ユーザがサーバ、アプリケーションおよびデータベースを設計、開発、維持および管理することを可能にする単一のアクセスポイントを提供する。
スタジオ
一実施形態によれば、スタジオ(例えば、Essbaseスタジオ)は、データのモデル化、キューブの設計および分析アプリケーションの構築に関連するタスクを実行するためのウィザード駆動型ユーザインターフェイス(wizard-driven user interface)を提供する。
スプレッドシートアドイン
一実施形態によれば、スプレッドシートアドインは、多次元データベースをスプレッドシートと統合することによって、接続(Connect)、ピボット(Pivot)、ドリルダウン(Drill-down)および計算(Calculate)などの拡張命令をサポートする。
統合サービス
一実施形態によれば、統合サービス(例えば、Essbase統合サービス)は、多次元データベースに格納されたデータと関係データベースに格納されたデータとを統合する時に使用されるメタデータ駆動型環境を提供する。
プロバイダサービス
一実施形態によれば、プロバイダサービス(例えば、Hyperionプロバイダサービス)は、Java(登録商標)API、スマートビュー(Smart View)、およびXMLAクライアントのデータソースプロバイダとして動作する。
スマートビュー
一実施形態によれば、スマートビューは、例えば、Hyperion収益管理、Hyperion計画、およびHyperionエンタープライズパフォーマンス管理ワークスペースデータの共通インターフェイスを提供する。
開発製品
一実施形態によれば、開発製品は、カスタマイズされたエンタープライズ分析アプリケーションの迅速な作成、管理および配置を可能にする。
ライフサイクル管理
一実施形態によれば、ライフサイクル管理(例えば、Hyperionエンタープライズパフォーマンス管理システムのライフサイクル管理)は、エンタープライズパフォーマンス管理製品がアプリケーション、リポジトリまたは個々のアイテムを製品環境の全体に亘って移行することを可能にする手段を提供する。
OLAP
一実施形態によれば、オンライン分析処理(OLAP)は、ユーザによる企業データの分析を可能にする環境を提供する。例えば、財務部門は、OLAPを予算、活動に基づく原価の計算、財務実績分析および財務モデル化などに応用することによって、「ジャストインタイム」(just-in-time)情報を提供することができる。
一実施形態によれば、OLAPシステムは、多次元にデータを編成することができる。これにより、データセットの検索者/ユーザは、様々な次元を横断する指向的検索(directed search)を行ない、最終的には関心のある結果にたどり着くことができる。OLAPシステムでは、データが次元の交差点に存在するものと考えることができる。言い換えれば、OLAPシステムに内在するデータは、全ての次元のクロス積をインスタンス化したものである多次元データベースとして、編成および格納され得る。これにより、ユーザ/検索者は、特定の目的のために関心のある次元に沿って詳細な階層を横断し、特定の目的データにたどり着くことができる。ゆっくりと変化するデータは、現在のデータセット内のメタデータとして表わされ得る。
ロード、集約、およびバッチ計算
一実施形態によれば、メタデータを用いて、いずれの上位次元で各リーフレベルロードを用いるかを特定することができる。このとき、リーフレベルのデータは、それを用いる上位次元の各々に集約される。集約値は、上位レベルでの加算(または他の計算)が完了するまでメモリに格納される。完了すると、集約値はメモリから破棄され得る。
1回のスキャンでロード、集約、およびバッチ計算を行なうシステムの能力は、大量のデータセットを処理する際に(例えばビッグデータ環境)、特に有用である。というのは、全てのリーフノードのデータを現在のメモリにロードすることが望ましくない場合があるからである。
例えば、ソース(例えば、Sparkクラスタ)のある値がリーフレベルノードにロードされ得る。ソースに最も近いリーフノードにロードされたデータは、ロードされた後、次のレベルの最初の2つの次元に集約され得る。この集約により、ロードされたデータは10分の1から100分の1に縮小される。当該レベルにおいて、集約されたデータは、計算が完了するまで部分和としてメモリに保持され得る。
図2は、一実施形態に係る、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムを示す図である。
一実施形態によれば、図2に示すように、多次元データベース構造などのデータ構造は、複数のノードレベル(リーフレベル201、レベル1 202、およびレベル2 203など)を含み得る。各ノードレベルは1つ以上のノードを含む。多次元データベース構造は、データソース(例えば、ビッグデータ・ウェアハウス)などのソース210に関連付けられ得る。
一実施形態によれば、多次元データ構造は、1つ以上のストレージ(図示せず)に関連付けられ得る。例えば、1つのストレージデバイスによってデータ構造の全体を保持してもよい。代替的には、ノードレベル毎に別々のデータストレージが提供されてもよい。代替的には、各ノードが対応の1つのデータストレージに関連付けられてもよい。
図2に示されるのは3つのレベルであるが、ノードのレベル数がより多い、またはより少ないシステムも意図されている。また、データソースは1つしか図示されていないが、複数のデータセットが当該システムに組み込まれてもよい。
一実施形態によれば、データソースがますます増加しているため、多くのテラバイトのデータ、さらには多くのペタバイトのデータがソースデータセットに含まれる場合も多い。
一実施形態によれば、メタデータは(例えば、リンクに沿って)次元に関連付けられ得る。このメタデータは、様々な計算(例えば、部分和値など)に関して例えばどのノードが他のどのノードに従属しているか等のノード関係を示し得る。これは、例えば図2では、レベル2 203のノードで行なわれる計算に関するメタデータ関係を表わす破線で示されている。
しかしながら、一実施形態によれば、データソースのサイズが増加しており、例えばビッグデータ環境において使用されるデータソースのサイズが増え続けているため、データをリーフノードレベルに保持することがますます難しくなっている。
例えば、図2に示すように、ソースデータがリーフレベル201のリーフノードAおよびBに格納された場合、これがデータ構造のために利用可能な全格納量である場合がある。この場合、データ構造はレベル1における1つまたは2つの中間計算(例えば、集約)を完了することしかできないであろう。
一方、一実施形態によれば、2つのリーフノードがソースからのデータで埋まり、かつ、これら2つのリーフノードに共通の計算または集約点がなかった場合、データ構造は計算を行なうことができない。なぜなら、更なるソースデータをリーフレベルの他のノードに引き込むことができないからである。
図3は、一実施形態に係る、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムを示す図である。
一実施形態によれば、図3に示すように、多次元データベース構造などのデータ構造は、複数のノードレベル(リーフレベル301、レベル1 302、およびレベル2 303など)を含み得る。各ノードレベルは1つ以上のノードを含み得る。多次元データベース構造は、データソース(例えば、ビッグデータ・ウェアハウス)などのソース310に関連付けられ得る。
一実施形態によれば、図3に示すように、ソースデータがリーフノード(ここでは、ノードAおよびB)にロードされ、次いで、上位レベルに集約される。そのデータは、レベル1のノードに部分和として保持され得る。
例えば、ソースデータがノードAにロードされ得る。次いで、このソースデータは、(ノードAとノード1および2との間に存在するメタデータ関係に基づいて)レベル1のノード1および2に集約され得る。このように集約されたものは、部分和値として保持され得る。
一実施形態によれば、上記ソースデータがノードAから集約された後、リーフレベルにおいて更なるノードにソースデータをロードするスペースを確保するために、上記ノードA内のソースデータは破棄され得る(グレー表示のノードで示す)。
さらに、この例では、ソースデータがノードBにロードされ得る。次いで、このソースデータは、(ノードBと、破線で示すノード1および2との間に存在するメタデータ関係に基づいて)レベル1のノード1および2に集約され得る。このように集約されたものは、部分和値として保持され得る。
一実施形態によれば、上記ソースデータがノードBから集約された後、リーフレベルにおいて更なるノードにソースデータをロードするスペースを確保するために、上記ノードB内のソースデータは破棄され得る(グレー表示のノードで示す)。
一実施形態によれば、リーフレベルのノードAおよびBにおいて上記処理が完了した後、完了した集約計算結果がレベル1のノード1に格納され得る。なぜなら、レベル1のノード1は従属する2つのノードから集約されたものを受け取ったからである。これに対して、レベル1のノード2では集約計算は完了していない。なぜなら、レベル1のノード2は従属する全てのノードから集約されたものを受け取ったわけではないからである。すなわち、集約されたものを受け取ったノードAおよびBに加えて、ノードCおよびDがある。
図4は、一実施形態に係る、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムを示す図である。
一実施形態によれば、図4に示すように、多次元データベース構造などのデータ構造は、複数のノードレベル(リーフレベル401、レベル1 402、およびレベル2 403など)を含み得る。各ノードレベルは1つ以上のノードを含み得る。多次元データベース構造は、データソース(例えば、ビッグデータ・ウェアハウス)などのソース410に関連付けられ得る。
一実施形態によれば、図4に示すように、図3に示すシステムの後、ソースデータがリーフノード(ここでは、ノードCおよびD)にロードされ、次いで、リーフレベルのノードとレベル1のノードとの間のメタデータ関係に基づいて、上位レベルに集約される。そのデータは、上記レベル1のノードに部分和として保持され得る。
例えば、ソースデータがノードCにロードされ得る。次いで、このソースデータは、(ノードCとノード2および3との間に存在するメタデータ関係に基づいて)レベル1のノード2および3に集約され得る。このように集約されたものは、部分和値として保持され得る。上記ソースデータがノードCから集約された後、リーフレベルにおいて更なるノードにソースデータをロードするスペースを確保するために、上記ノードC内のソースデータは破棄され得る(グレー表示のノードで示す)。
さらに、この例では、ソースデータがノードDにロードされ得る。次いで、このソースデータは、(ノードDとノード2との間に存在するメタデータ関係に基づいて)レベル1のノード2に集約され得る。このように集約されたものは、部分和値として保持され得る。上記ソースデータがノードDから集約された後、リーフレベルにおいて更なるノードにソースデータをロードするスペースを確保するために、上記ノードD内のソースデータは破棄され得る(グレー表示のノードで示す)。
一実施形態によれば、完了した集約計算結果がレベル1のノード1に格納され得る。なぜなら、レベル1のノード1は従属する2つのノードから集約されたものを受け取ったからである。さらに、ノード2はノードA、B、C、およびDから集約されたものを全て有するので、ノード2も部分和計算を完了することができる。一方、レベル1のノード3では集約計算は完了していない。なぜなら、レベル1のノード3は従属する全てのノードから集約されたものを受け取ったわけではないからである(すなわち、ノード3が既に部分和値を格納しているノードCに加えて、ノードEおよびFがある)。
図5は、一実施形態に係る、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムを示す図である。
一実施形態によれば、図5に示すように、多次元データベース構造などのデータ構造は、複数のノードレベル(リーフレベル501、レベル1 502、およびレベル2 503など)を含み得る。各ノードレベルは1つ以上のノードを含み得る。多次元データベース構造は、データソース(例えば、ビッグデータ・ウェアハウス)などのソース510に関連付けられ得る。
一実施形態によれば、図5は、図4に示すデータ構造をさらに繰り返したものである。図5では、レベル1 502のノード1および2は、共に完全な集約値および計算値を有する。
一実施形態によれば、レベル1のノード1および2における集約値および部分和を用いて、レベル2のノードaにおける集約および計算を行なうことができる。
一実施形態によれば、レベル1のノード1に関連付けられたメタデータは、その集約計算結果がレベル2のノードaにおいてのみ用いられることを示すので、レベル2において計算が完了した後、レベル1のノード1における集約計算結果は破棄され得る。
これに対して、一実施形態によれば、レベル1のノード2に関連付けられたメタデータは、その集約計算結果がレベル2のノードaおよびノードbにおいて用いられることを示すので、レベル2のノードaにおいて計算が完了した後、部分和値がレベル2のノードbのメモリ内に置かれ得る。この部分和は、レベル1のノード2で生じた部分和値を示すメタデータに関連付けられる。
一実施形態によれば、リーフレベルのノードにおいてソースデータのロード、集約、および破棄が続けられ、その間に、集約されたもの、部分和、および計算結果が上位のノードレベルに保持される。上記集約されたもの、部分和、および計算結果は、データ構造の異なるレベルの様々なノード間の関係を表わすメタデータに関連付けられる。
図5に示すデータ構造は、3レベルのデータ構造を示すのみであるが、様々な実施形態によれば、レベル数がより多い、またはより少ない場合も企図される。その場合、リーフノードレベルよりも上位のノードレベルにおける集約されたものおよび部分和値は、リーフレベルのリーフノードにおけるソースデータを表わす対応のメタデータ関係に関連付けられる。
図6は、一実施形態に係る、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムを示す図である。
図6に示すように、一実施形態によれば、データベース層として動作する多次元データベース環境は、1つ以上の多次元データベースサーバシステム602を含み得る。各々の多次元データベースサーバシステム602は、物理コンピュータリソースまたは要素604(例えば、マイクロプロセッサ/CPU、物理メモリ、ネットワーク要素)と、オペレーティングシステム606と、1つ以上の多次元データベースサーバ610(例えば、Essbaseサーバ)とを含み得る。
一実施形態によれば、中間層620は、例えばプロバイダサービス622(例えば、Hyperionプロバイダサービス)、管理サービス624(例えば、Essbase管理サービス)、またはスタジオ/統合サービス626(例えば、Essbaseスタジオ/Essbase統合サービス)などの1つ以上のサービスを含み得る。中間層は、ODBC/JDBC627、628または他の種類のインターフェイスを介して、多次元データベース環境と共に使用されるメタデータカタログ629および/または1つ以上のデータソース630(例えば、関係データベース)へのアクセスを提供することができる。
一実施形態によれば、1つ以上の多次元データベースサーバは、多次元データベースを提供するために、ODBC/JDBC632または他の種類のインターフェイスを介して、1つ以上のデータソースにアクセスすることもできる。
一実施形態によれば、クライアント層640は、1つ以上の多次元データベースクライアント642(例えば、Essbaseサーバクライアント)を含み得る。これらの多次元データベースクライアント642は、多次元データベース(例えば、スマートビュー(Smart View)、スプレッドシートアドイン(Spreadsheet Add-in)、スマートサーチ(Smart Search)、管理サービス、MaxL、XMLA、CAPIまたはVB APIアプリケーション、Oracle(登録商標)ビジネスインテリジェンスエンタープライズエディションプラス(Oracle Business Intelligence Enterprise Edition Plus)、または他の種類の多次元データベースクライアント)にアクセスすることができる。また、クライアント層は、中間層のサービスと共に使用されるコンソール、例えば、管理サービスコンソール644またはスタジオ/統合サービスコンソール646を含むこともできる。
一実施形態によれば、クライアント層、中間層、およびデータベース層の間の通信は、TCP/IP、HTTP、または他の種類のネットワーク通信プロトコルのうちの1つ以上によって提供されてもよい。
一実施形態によれば、多次元データベースサーバは、1つ以上のデータソースからのデータを統合することによって、多次元データベース、データ構造、またはキューブ650を提供することができる。これらにアクセスすることにより、フィルタされた情報をエンドユーザに提供することができる。
一般的には、多次元データベース内の各データ値は、キューブの1つのセルに格納される。キューブの次元上の座標を特定することによって、特定のデータ値を照会することができる。1つの次元上のメンバと1つ以上の他の各次元上のメンバとの交差点は、データ値を表わす。
例えば、図6は、複数のレベル661〜663を有する階層データ構造の形式のデータベース650を示す。一実施形態によれば、各レベルにおける各ノードは多次元データベースキューブのセルによって表わすことができ、ノード間の関係はメタデータによって表わすことができる。
一実施形態によれば、データソース630からのデータは、このデータソースから中間層620を介して、または直接、リーフレベル661のノードにロードされ得る。
図7は、一実施形態に係る、多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうための方法のフローチャートである。
一実施形態によれば、ステップ710において、当該方法は、1つ以上のマイクロプロセッサを含むコンピュータにおいて、当該コンピュータ上で実行されるとともに少なくとも1つのデータ次元の階層構造をサポートする多次元データベースサーバを提供し得る。
一実施形態によれば、ステップ720において、当該方法は、上記少なくとも1つのデータ次元の階層構造を、各々が複数のノードのサブセットを含む複数のレベルに編成し得る。
一実施形態によれば、ステップ730において、当該方法は、複数のノードのうちのリーフノードにソースデータをロードし得る。リーフノードは複数のレベルのうちの最下位レベルにあるノードであり、当該リーフノードは上位レベルの1つ以上のノードに関連付けられ、当該関連付けはメタデータを含む。
一実施形態によれば、ステップ740において、当該方法は、ソースデータをリーフノードにロードすると、当該ソースデータを上位レベルの1つ以上のノードに集約し得る。
一実施形態によれば、ステップ750において、当該方法は、ソースデータを上位レベルの1つ以上のノードに集約すると、当該ソースデータが集約されたものをメタデータに関連付け得る。
一実施形態によれば、ステップ760において、当該方法は、ソースデータが集約されたものをメタデータに関連付けると、上記リーフノードにロードされたソースデータを破棄し得る。
本発明の様々な実施形態を説明してきたが、上記実施形態が限定ではなく例示として提示されていることが理解されるべきである。上記実施形態は、本発明の原理およびその実際の適用例を説明するために選択され記載されたものである。上記実施形態は、新たな特徴および/もしくは改善された特徴を提供することによって、ならびに/または、リソース利用の低減、容量の増加、効率の向上および待ち時間の低下などの利点を提供することによって、システムおよび方法の性能を向上させるために本発明が利用されているシステムおよび方法を例示している。
いくつかの実施形態においては、本発明の特徴は、全体的または部分的に、プロセッサ、メモリなどの記憶媒体、および他のコンピュータと通信するためのネットワークカードを含むコンピュータにおいて実現される。いくつかの実施形態においては、本発明の特徴は、コンピュータの1つ以上のクラスタがローカルエリアネットワーク(Local Area Network:LAN)、スイッチファブリックネットワーク(例えば、インフィニバンド)、またはワイドエリアネットワーク(Wide Area Network:WAN)などのネットワークによって接続されている分散コンピューティング環境において実現される。分散コンピューティング環境は、一箇所において全てのコンピュータを有していてもよく、または、WANによって接続されているさまざまな遠隔地理位置においてコンピュータのクラスタを有していてもよい。
いくつかの実施形態においては、本発明の特徴は、全体的または部分的に、ウェブ技術を用いたセルフサービスの調整された態様でユーザに送達される共有型で融通性のあるリソースに基づいて、クラウド・コンピューティング・システムの一部またはサービスとしてクラウドにおいて実現される。(米国標準技術局(National Institute of Standards and Technology)よって定義される)クラウドの5つの特徴がある。すなわち、オン・デマンドのセルフサービス、広域ネットワークアクセス、リソースプール化、高速伸縮性、およびメジャードサービスである。例えば、本明細書に引用によって援用されている「クラウドコンピューティングのNIST定義(The NIST Definition of Cloud Computing)」(特殊出版(Special Publication)800〜145(2011))を参照されたい。クラウド展開モデルは、パブリック、プライベートおよびハイブリッドを含む。クラウドサービスモデルは、ソフトウェア・アズ・ア・サービス(Software as a Service:SaaS)、プラットフォーム・アズ・ア・サービス(Platform as a Service:PaaS)、データベース・アズ・ア・サービス(Database as a Service:DBaaS)およびインフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service:IaaS)を含む。本明細書で使用するとき、クラウドは、セルフサービスの調整された態様で、共有される融通性のあるリソースをユーザに対して配信する、ハードウェア技術とソフトウェア技術とネットワーク技術とウェブ技術とを組合せたものである。特に指定がなければ、クラウドは、本明細書で使用するとき、パブリッククラウド、プライベートクラウドおよびハイブリッドクラウドの実施形態を包含しており、全てのクラウド展開モデルは、クラウドSaaS、クラウドDBaaS、クラウドPaaSおよびクラウドIaaSを含むもののこれらに限定されない。
いくつかの実施形態においては、本発明の特徴が、ハードウェア、ソフトウェア、ファームウェアまたはそれらの組合せを用いて、またはそれらの組合せの助けを借りて実現される。いくつかの実施形態においては、本発明の特徴は、本発明の1つ以上の機能を実行するように構成されたかまたはプログラムされたプロセッサを用いて実現される。プロセッサは、いくつかの実施形態においては、シングルプロセッサもしくはマルチチッププロセッサ、デジタル信号プロセッサ(digital signal processor:DSP)、システム・オン・ア・チップ(system on a chip:SOC)、特定用途向け集積回路(application specific integrated circuit:ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)もしくは他のプログラマブルロジックデバイス、ステートマシン、離散的なゲートもしくはトランジスタ論理、離散的なハードウェアコンポーネント、または、本明細書に記載される機能を実行するように設計されたそれらのいずれかの組合せである。いくつかの実現例においては、本発明の特徴が、特定の機能に特化した回路類によって実現され得る。他の実現例においては、これらの特徴は、例えば、コンピュータ可読記憶媒体上に格納された命令を用いて特定の機能を実行するように構成されたプロセッサにおいて実現され得る。
いくつかの実施形態においては、本発明の特徴は、処理システムおよび/またはネットワーキングシステムのハードウェアを制御するために、かつ、プロセッサおよび/またはネットワークが本発明の特徴を利用する他のシステムと対話することを可能にするために、ソフトウェアおよび/またはファームウェアに組込まれている。このようなソフトウェアまたはファームウェアは、アプリケーションコード、デバイスドライバ、オペレーティングシステム、仮想マシン、ハイパーバイザ、アプリケーションプログラミングインターフェイス、プログラミング言語、および実行環境/コンテナを含み得るがこれらに限定されない。適切なソフトウェアコーディングは、ソフトウェア技術に精通した当業者にとって明らかになるように、熟練したプログラマであれば本開示の教示に基づいて容易に準備することができる。
いくつかの実施形態においては、本発明は、命令が格納された記憶媒体またはコンピュータ可読媒体であるコンピュータプログラムプロダクトを含む。これらの命令を用いて、本発明の処理または機能のいずれかを実行するように、コンピュータなどのシステムをプログラムするか、または他の方法で構成することができる。記憶媒体またはコンピュータ可読媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および磁気光ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気または光カード、ナノシステム(分子メモリICを含む)、ならびに、命令および/またはデータを格納するのに適した任意のタイプの媒体または装置、を含み得るが、これらには限定されない。特定の実施形態においては、記憶媒体またはコンピュータ可読媒体は、非一時的な記憶媒体または非一時的なコンピュータ可読媒体である。
上述の記載は、網羅的となるように意図されたものではなく、または、本発明を開示通りの形態に限定するように意図されたものではない。また、本発明の実施形態を特定の一連のトランザクションおよびステップを用いて説明したが、本発明の範囲が上述の一連のトランザクションおよびステップに限定されないことは、当業者にとって明らかであろう。さらに、本発明の実施形態をハードウェアとソフトウェアとの特定の組合せを用いて説明したが、ハードウェアとソフトウェアとの他の組合せが本発明の範囲内にあることも認識すべきである。さらに、さまざまな実施形態で本発明の特徴の特定の組合せを記載したが、一実施形態の特徴が別の実施形態に組込まれ得るというように、これらの特徴の異なる組合せが本発明の範囲内にあることは当業者にとって明らかであることを理解すべきである。さらに、本発明の精神および範囲から逸脱することなく、形態、詳細、実施および用途のさまざまな追加、削減、削除、変形および他の変更がなされ得ることも、当業者にとっては明らかであろう。変更および変形は、開示された特徴の任意の適切な組合せを含む。より広い本発明の精神および範囲を添付の特許請求の範囲およびその均等物によって規定することを意図している。

Claims (23)

  1. 多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムであって、
    1つ以上のマイクロプロセッサを含むコンピュータと、
    前記コンピュータ上で実行されるとともに少なくとも1つのデータ次元の階層構造をサポートする多次元データベースサーバとを備え、
    前記少なくとも1つのデータ次元の階層構造は、各々が複数のノードのサブセットを含む複数のレベルに編成され、
    前記複数のノードのうちのリーフノードにソースデータがロードされ、前記リーフノードは前記複数のレベルのうちの最下位レベルにあるノードであり、前記リーフノードは上位レベルの1つ以上のノードに関連付けられ、当該関連付けはメタデータを含み、
    複数の前記ソースデータが前記リーフノードにロードされると、前記複数のソースデータが前記上位レベルの1つ以上のノードに集約され、
    前記ソースデータが前記上位レベルの1つ以上のノードに集約されると、前記ソースデータが集約されたものが前記メタデータに関連付けられ、前記リーフノードにロードされた前記ソースデータが破棄される、システム。
  2. 前記リーフノードは、前記リーフノードに適用されるメモリに関連付けられる、請求項1に記載のシステム。
  3. 前記リーフノードは、前記複数のレベルのうちの前記最下位レベルにあるノードである前記リーフノードを含む前記複数のノードのサブセットに適用されるメモリに関連付けられる、請求項1に記載のシステム。
  4. 前記多次元データベースに関連付けられるとともに前記ソースデータへのアクセスを提供する中間層を介して、前記ソースデータは前記リーフノードにロードされる、請求項3に記載のシステム。
  5. 前記多次元データベースと前記ソースデータとの間の通信プロトコルによって、前記ソースデータは前記リーフノードに直接ロードされる、請求項3に記載のシステム。
  6. 前記リーフノードにロードされた前記ソースデータが破棄される前に、前記ソースデータは、上位レベルの2つ以上のノードに関連付けられた第2のリーフノードにロードされ、
    前記ソースデータが前記第2のリーフノードにロードされると、前記第2のリーフノードに関連付けられた前記上位レベルの2つ以上のノードのうちの第1のノードに前記ソースデータが集約され、
    前記第2のリーフノードに関連付けられた前記上位レベルの2つ以上のノードのうちの前記第1のノードに前記ソースデータが集約されると、前記第2のリーフノードにおける前記ソースデータが保持される、請求項1〜5のいずれか1項に記載のシステム。
  7. 前記第2のリーフノードに関連付けられた前記上位レベルの2つ以上のノードの各々に前記ソースデータが集約されると、前記第2のリーフノードにおける前記ソースデータが破棄される、請求項6に記載のシステム。
  8. 多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうための方法であって、
    1つ以上のマイクロプロセッサを含むコンピュータにおいて、前記コンピュータ上で実行されるとともに少なくとも1つのデータ次元の階層構造をサポートする多次元データベースサーバを提供するステップと、
    前記少なくとも1つのデータ次元の階層構造を、各々が複数のノードのサブセットを含む複数のレベルに編成するステップと、
    前記複数のノードのうちのリーフノードにソースデータをロードするステップとを含み、前記リーフノードは前記複数のレベルのうちの最下位レベルにあるノードであり、前記リーフノードは上位レベルの1つ以上のノードに関連付けられ、当該関連付けはメタデータを含み、前記方法はさらに、
    前記ソースデータを前記リーフノードにロードすると、前記ソースデータを前記上位レベルの1つ以上のノードに集約するステップと、
    前記ソースデータを前記上位レベルの1つ以上のノードに集約すると、前記ソースデータが集約されたものを前記メタデータに関連付けるステップと、
    前記ソースデータが集約されたものを前記メタデータに関連付けると、前記リーフノードにロードされた前記ソースデータを破棄するステップとを含む、方法。
  9. 前記リーフノードは、前記リーフノードに適用されるメモリに関連付けられる、請求項8に記載の方法。
  10. 前記リーフノードは、前記複数のレベルのうちの前記最下位レベルにあるノードである前記リーフノードを含む前記複数のノードのサブセットに適用されるメモリに関連付けられる、請求項8に記載の方法。
  11. 前記多次元データベースに関連付けられるとともに前記ソースデータへのアクセスを提供する中間層を介して、前記ソースデータは前記リーフノードにロードされる、請求項10に記載の方法。
  12. 前記多次元データベースと前記ソースデータとの間の通信プロトコルによって、前記ソースデータは前記リーフノードに直接ロードされる、請求項10に記載の方法。
  13. 前記リーフノードにロードされた前記ソースデータが破棄される前に、前記ソースデータは、上位レベルの2つ以上のノードに関連付けられた第2のリーフノードにロードされ、
    前記ソースデータが前記第2のリーフノードにロードされると、前記第2のリーフノードに関連付けられた前記上位レベルの2つ以上のノードのうちの第1のノードに前記ソースデータが集約され、
    前記第2のリーフノードに関連付けられた前記上位レベルの2つ以上のノードのうちの前記第1のノードに前記ソースデータが集約されると、前記第2のリーフノードにおける前記ソースデータが保持される、請求項8〜12のいずれか1項に記載の方法。
  14. 前記第2のリーフノードに関連付けられた前記上位レベルの2つ以上のノードの各々に前記ソースデータが集約されると、前記第2のリーフノードにおける前記ソースデータが破棄される、請求項13に記載の方法。
  15. 多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうための命令が格納された非一時的なコンピュータ可読記憶媒体であって、前記命令は、読み出されて実行されると、請求項8〜14のいずれか1項に記載の方法をコンピュータに行なわせる、非一時的なコンピュータ可読記憶媒体。
  16. 前記リーフノードは、前記リーフノードに適用されるメモリに関連付けられる、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
  17. 前記リーフノードは、前記複数のレベルのうちの前記最下位レベルにあるノードである前記リーフノードを含む前記複数のノードのサブセットに適用されるメモリに関連付けられる、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
  18. 前記多次元データベースに関連付けられるとともに前記ソースデータへのアクセスを提供する中間層を介して、前記ソースデータは前記リーフノードにロードされる、請求項17に記載の非一時的なコンピュータ可読記憶媒体。
  19. 前記多次元データベースと前記ソースデータとの間の通信プロトコルによって、前記ソースデータは前記リーフノードに直接ロードされる、請求項17に記載の非一時的なコンピュータ可読記憶媒体。
  20. 前記リーフノードにロードされた前記ソースデータが破棄される前に、前記ソースデータは、上位レベルの2つ以上のノードに関連付けられた第2のリーフノードにロードされ、
    前記ソースデータが前記第2のリーフノードにロードされると、前記第2のリーフノードに関連付けられた前記上位レベルの2つ以上のノードのうちの第1のノードに前記ソースデータが集約され、
    前記第2のリーフノードに関連付けられた前記上位レベルの2つ以上のノードのうちの前記第1のノードに前記ソースデータが集約されると、前記第2のリーフノードにおける前記ソースデータが保持される、請求項19に記載の非一時的なコンピュータ可読記憶媒体。
  21. 機械可読フォーマットのプログラム命令を含むコンピュータプログラムであって、前記プログラム命令は、コンピュータシステムによって実行されると、請求項8〜14のいずれか1項に記載の方法を前記コンピュータシステムに行なわせる、コンピュータプログラム。
  22. 非一時的な機械可読データ記憶媒体に格納された、請求項21に記載のコンピュータプログラムを含むコンピュータプログラム。
  23. 請求項8〜14のいずれか1項に記載の方法を行なうための手段を含む装置。
JP2019552229A 2017-09-29 2018-07-30 多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムおよび方法 Active JP6827127B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762565519P 2017-09-29 2017-09-29
US62/565,519 2017-09-29
US16/023,812 US11042569B2 (en) 2017-09-29 2018-06-29 System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment
US16/023,812 2018-06-29
PCT/US2018/044425 WO2019067079A1 (en) 2017-09-29 2018-07-30 SYSTEM AND METHOD FOR LOAD, AGGREGATE AND BATCH CALCULATION IN SINGLE SCAN IN A MULTIDIMENSIONAL DATABASE ENVIRONMENT

Publications (2)

Publication Number Publication Date
JP2020512641A true JP2020512641A (ja) 2020-04-23
JP6827127B2 JP6827127B2 (ja) 2021-02-10

Family

ID=65897996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019552229A Active JP6827127B2 (ja) 2017-09-29 2018-07-30 多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムおよび方法

Country Status (5)

Country Link
US (2) US11042569B2 (ja)
EP (1) EP3688607A1 (ja)
JP (1) JP6827127B2 (ja)
CN (1) CN110199273B (ja)
WO (1) WO2019067079A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838982B2 (en) 2015-10-23 2020-11-17 Oracle International Corporation System and method for aggregating values through risk dimension hierarchies in a multidimensional database environment
US10346435B2 (en) 2015-10-23 2019-07-09 Oracle International Corporation System and method for improved performance in a multidimensional database environment
US10733155B2 (en) 2015-10-23 2020-08-04 Oracle International Corporation System and method for extracting a star schema from tabular data for use in a multidimensional database environment
US10318498B2 (en) 2015-10-23 2019-06-11 Oracle International Corporation System and method for parallel support of multidimensional slices with a multidimensional database
US11226987B2 (en) 2015-10-23 2022-01-18 Oracle International Corporation System and method for in-place data writes to reduce fragmentation in a multidimensional database environment
US10467251B2 (en) 2015-10-23 2019-11-05 Oracle International Corporation System and method for automatic dependency analysis for use with a multidimensional database
US11520760B2 (en) 2015-10-23 2022-12-06 Oracle International Corporation System and method for providing bottom-up aggregation in a multidimensional database environment
US10936574B2 (en) 2015-10-23 2021-03-02 Oracle International Corporation System and method for use of lock-less techniques with a multidimensional database
US10909134B2 (en) 2017-09-01 2021-02-02 Oracle International Corporation System and method for client-side calculation in a multidimensional database environment
US10983972B2 (en) 2017-09-08 2021-04-20 Oracle International Corporation System and method for slowing changing dimension and metadata versioning in a multidimensional database environment
US11042569B2 (en) 2017-09-29 2021-06-22 Oracle International Corporation System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment
US11593402B2 (en) 2017-09-29 2023-02-28 Oracle International Corporation System and method for enabling multiple parents with weights in a multidimensional database environment
US11188554B2 (en) 2018-07-19 2021-11-30 Oracle International Corporation System and method for real time data aggregation in a virtual cube in a multidimensional database environment
US11422881B2 (en) 2018-07-19 2022-08-23 Oracle International Corporation System and method for automatic root cause analysis and automatic generation of key metrics in a multidimensional database environment
US11200223B2 (en) 2018-10-18 2021-12-14 Oracle International Corporation System and method for dependency analysis in a multidimensional database environment
USD959476S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
USD959477S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
US11205296B2 (en) * 2019-12-20 2021-12-21 Sap Se 3D data exploration using interactive cuboids
USD959447S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574952A (en) 1994-05-11 1996-11-12 International Business Machines Corporation Data storage system and method for operating a disk controller including allocating disk space for compressed data
US5915129A (en) 1994-06-27 1999-06-22 Microsoft Corporation Method and system for storing uncompressed data in a memory cache that is destined for a compressed file system
EP0793831B1 (en) 1994-11-21 2002-12-04 Oracle Corporation Method and apparatus for multidimensional database using binary hyperspatial code
JP3952518B2 (ja) 1996-03-29 2007-08-01 株式会社日立製作所 多次元データ処理方法
JPH10301935A (ja) 1997-04-22 1998-11-13 Mitsubishi Electric Corp データ処理方法
US6574720B1 (en) 1997-05-30 2003-06-03 Oracle International Corporation System for maintaining a buffer pool
US9208213B2 (en) 1999-05-28 2015-12-08 Microstrategy, Incorporated System and method for network user interface OLAP report formatting
US6542895B1 (en) * 1999-08-30 2003-04-01 International Business Machines Corporation Multi-dimensional restructure performance when adding or removing dimensions and dimensions members
US6766325B1 (en) 1999-12-02 2004-07-20 Microsoft Corporation System and method for maintaining data for performing “what if” analysis
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
US6629102B1 (en) 2000-07-28 2003-09-30 International Business Machines Corporation Efficiently updating a key table during outline restructure of a multi-dimensional database
US6606621B2 (en) * 2001-05-30 2003-08-12 Oracle International Corp. Methods and apparatus for aggregating sparse data
US7133876B2 (en) * 2001-06-12 2006-11-07 The University Of Maryland College Park Dwarf cube architecture for reducing storage sizes of multidimensional data
US6880154B2 (en) 2001-06-29 2005-04-12 Intel Corporation Alias-free test for dynamic array structures
US6965903B1 (en) * 2002-05-07 2005-11-15 Oracle International Corporation Techniques for managing hierarchical data with link attributes in a relational database
US7058783B2 (en) 2002-09-18 2006-06-06 Oracle International Corporation Method and mechanism for on-line data compression and in-place updates
US7734661B2 (en) 2003-08-11 2010-06-08 Descisys Limited Method and apparatus for accessing multidimensional data
US7392242B1 (en) 2004-02-27 2008-06-24 Hyperion Solutions Corporation Query costing in a multidimensional database
US7702718B2 (en) 2004-03-30 2010-04-20 Cisco Technology, Inc. Providing enterprise information
US7647356B2 (en) * 2004-05-07 2010-01-12 Oracle International Corporation Methods and apparatus for facilitating analysis of large data sets
US7562086B2 (en) 2004-07-09 2009-07-14 Microsoft Corporation Custom grouping for dimension members
US7490106B2 (en) * 2004-07-09 2009-02-10 Microsoft Corporation Multidimensional database subcubes
JP2006065797A (ja) 2004-08-30 2006-03-09 Canon Inc データ処理方法、データ管理方法、及びコンピュータプログラム
US20060106769A1 (en) 2004-11-12 2006-05-18 Gibbs Kevin A Method and system for autocompletion for languages having ideographs and phonetic characters
US7593955B2 (en) * 2004-11-30 2009-09-22 International Business Machines Corporation Generation of aggregatable dimension information within a multidimensional enterprise software system
US8510329B2 (en) 2005-05-25 2013-08-13 Experian Marketing Solutions, Inc. Distributed and interactive database architecture for parallel and asynchronous data processing of complex data and for real-time query processing
EP1894151A2 (en) 2005-06-20 2008-03-05 Future Route Limited Analytical system for discovery and generation of rules to predict and detect anomalies in data and financial fraud
JP2007052754A (ja) 2005-08-18 2007-03-01 Shizuo Nagashima データ分析集計表示処理制御装置
US7792847B2 (en) 2005-09-09 2010-09-07 Microsoft Corporation Converting structured reports to formulas
US7805433B2 (en) 2005-10-14 2010-09-28 Microsoft Corporation Multidimensional cube functions
US20070094668A1 (en) 2005-10-17 2007-04-26 Jacquot Bryan J Method and apparatus for dynamically allocating resources used by software
US8156083B2 (en) 2005-12-01 2012-04-10 Oracle International Corporation Database system that provides for history-enabled tables
US8108399B2 (en) 2007-05-18 2012-01-31 Microsoft Corporation Filtering of multi attribute data via on-demand indexing
US7792784B2 (en) 2007-05-31 2010-09-07 International Business Machines Corporation Streaming multidimensional data by bypassing multidimensional query processor
US8234298B2 (en) 2007-07-25 2012-07-31 International Business Machines Corporation System and method for determining driving factor in a data cube
US7886124B2 (en) 2007-07-30 2011-02-08 Oracle International Corporation Method and mechanism for implementing dynamic space management for large objects
US8005818B2 (en) 2008-03-31 2011-08-23 Business Objects, S.A. Apparatus and method for maintaining metadata version awareness during set evaluation for OLAP hierarchies
US8606803B2 (en) 2008-04-01 2013-12-10 Microsoft Corporation Translating a relational query to a multidimensional query
US8169481B2 (en) 2008-05-05 2012-05-01 Panasonic Corporation System architecture and process for assessing multi-perspective multi-context abnormal behavior
US8539191B2 (en) 2009-01-06 2013-09-17 Netapp, Inc. Estimating space in a compressed volume
US9218408B2 (en) * 2010-05-27 2015-12-22 Oracle International Corporation Method for automatically creating a data mart by aggregated data extracted from a business intelligence server
US10360527B2 (en) * 2010-11-10 2019-07-23 International Business Machines Corporation Casual modeling of multi-dimensional hierarchical metric cubes
EP2710497B1 (en) 2011-05-19 2019-01-23 Oracle International Corporation Techniques for automatic data placement with compression and columnar storage
US9020991B2 (en) 2012-08-10 2015-04-28 Ca, Inc. System and method for analyzing available space in data blocks
US8903876B2 (en) 2012-08-15 2014-12-02 Facebook, Inc. File storage system based on coordinated exhaustible and non-exhaustible storage
US20140122413A1 (en) 2012-10-29 2014-05-01 Paris Technologies, Inc. Bulk read and write between multi-dimensional data structures
US20150163223A1 (en) * 2013-12-09 2015-06-11 International Business Machines Corporation Managing Resources In A Distributed Computing Environment
US9582566B2 (en) 2013-12-27 2017-02-28 International Business Machines Corporation Condensing hierarchical data
US10083195B2 (en) 2014-04-24 2018-09-25 Futurewei Technologies, Inc. System and method for composing a multidimensional index key in data blocks
WO2016048325A1 (en) 2014-09-25 2016-03-31 Hewlett Packard Enterprise Development Lp Storage space allocation
US10423623B2 (en) 2015-02-05 2019-09-24 Sap Se Hierarchy modeling and query
US20170116311A1 (en) 2015-10-23 2017-04-27 Oracle International Corporation System and method for use of automatic slice merge in a multidimensional database environment
US10984020B2 (en) 2015-10-23 2021-04-20 Oracle International Corporation System and method for supporting large queries in a multidimensional database environment
US11226987B2 (en) 2015-10-23 2022-01-18 Oracle International Corporation System and method for in-place data writes to reduce fragmentation in a multidimensional database environment
US10346435B2 (en) 2015-10-23 2019-07-09 Oracle International Corporation System and method for improved performance in a multidimensional database environment
US10628451B2 (en) 2015-10-23 2020-04-21 Oracle International Corporation System and method for supporting queries having sub-select constructs in a multidimensional database environment
US10318498B2 (en) 2015-10-23 2019-06-11 Oracle International Corporation System and method for parallel support of multidimensional slices with a multidimensional database
US10467251B2 (en) 2015-10-23 2019-11-05 Oracle International Corporation System and method for automatic dependency analysis for use with a multidimensional database
US11520760B2 (en) 2015-10-23 2022-12-06 Oracle International Corporation System and method for providing bottom-up aggregation in a multidimensional database environment
US10909134B2 (en) 2017-09-01 2021-02-02 Oracle International Corporation System and method for client-side calculation in a multidimensional database environment
US10983972B2 (en) 2017-09-08 2021-04-20 Oracle International Corporation System and method for slowing changing dimension and metadata versioning in a multidimensional database environment
US11593402B2 (en) * 2017-09-29 2023-02-28 Oracle International Corporation System and method for enabling multiple parents with weights in a multidimensional database environment
US11042569B2 (en) * 2017-09-29 2021-06-22 Oracle International Corporation System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment
US20190102447A1 (en) * 2017-09-29 2019-04-04 Oracle International Corporation System and method for metadata sandboxing and what-if analysis in a multidimensional database environment

Also Published As

Publication number Publication date
US11042569B2 (en) 2021-06-22
EP3688607A1 (en) 2020-08-05
CN110199273A (zh) 2019-09-03
CN110199273B (zh) 2023-03-10
JP6827127B2 (ja) 2021-02-10
US20210311964A1 (en) 2021-10-07
US11789978B2 (en) 2023-10-17
US20190102446A1 (en) 2019-04-04
WO2019067079A1 (en) 2019-04-04

Similar Documents

Publication Publication Date Title
JP6827127B2 (ja) 多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムおよび方法
US11704294B2 (en) System and method for slowly changing dimension and metadata versioning in a multidimensional database environment
US20230084389A1 (en) System and method for providing bottom-up aggregation in a multidimensional database environment
US20210240735A1 (en) System and method for supporting large queries in a multidimensional database environment
US20200226151A1 (en) System and method for supporting queries having sub-select constructs in a multidimensional database environment
US20190102447A1 (en) System and method for metadata sandboxing and what-if analysis in a multidimensional database environment
US20170116311A1 (en) System and method for use of automatic slice merge in a multidimensional database environment
US11768825B2 (en) System and method for dependency analysis in a multidimensional database environment
US11422881B2 (en) System and method for automatic root cause analysis and automatic generation of key metrics in a multidimensional database environment
JP7454643B2 (ja) 多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法
JP2018533090A (ja) 多次元データベース環境にサンドボックスサポートを提供するためのシステムおよび方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190924

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190924

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201207

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: 20201222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210118

R150 Certificate of patent or registration of utility model

Ref document number: 6827127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250