JP6832292B2 - 多次元データベース環境にサンドボックスサポートを提供するためのシステムおよび方法 - Google Patents

多次元データベース環境にサンドボックスサポートを提供するためのシステムおよび方法 Download PDF

Info

Publication number
JP6832292B2
JP6832292B2 JP2017558691A JP2017558691A JP6832292B2 JP 6832292 B2 JP6832292 B2 JP 6832292B2 JP 2017558691 A JP2017558691 A JP 2017558691A JP 2017558691 A JP2017558691 A JP 2017558691A JP 6832292 B2 JP6832292 B2 JP 6832292B2
Authority
JP
Japan
Prior art keywords
sandbox
data
query
user
multidimensional database
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.)
Active
Application number
JP2017558691A
Other languages
English (en)
Other versions
JP2018533090A5 (ja
JP2018533090A (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 JP2018533090A publication Critical patent/JP2018533090A/ja
Publication of JP2018533090A5 publication Critical patent/JP2018533090A5/ja
Application granted granted Critical
Publication of JP6832292B2 publication Critical patent/JP6832292B2/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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • 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
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

著作権表示
この特許文書の開示の一部は、著作権保護の対象となるものを含んでいる。著作権者は、特許商標庁の特許ファイルまたは記録に掲載された特許文書または特許開示の複製に対しては異議を唱えないが、その他の場合、全ての著作権を留保する。
優先権の主張
本願は、2015年10月23日に出願され、「多次元データベース環境にサンドボックスサポートを提供するためのシステムおよび方法」と題された米国仮出願第62/245889号の優先権を主張する。当該出願は、参照により本明細書に組み込まれる。
発明の分野
本発明の実施形態は、一般的には、データベースおよびデータの格納に関し、具体的には、多次元データベース環境にサンドボックスサポートを提供するためのシステムおよび方法に関する。
背景
シナリオ管理は、今後の機会および脅威を早期に特定し、これらを予定の時間で戦略計画に統合することによって、企業の競争力の維持を支援することができる。シナリオ管理では、what-if分析を使用する必要がある。what-if分析において、多次元データベースに格納されたデータセット内の1つ以上のデータ値を変更することによって、その変更がデータセットに基づく式または予測モデルの結果に与える影響を確認することができる。シナリオ管理において、データセットがベースラインデータに影響を与えないように、基礎となる多次元データベースは、各what-if分析に対応する異なるデータセットを隔離空間に格納する必要がある。
概要
一実施形態によれば、本明細書には、多次元データベース環境にサンドボックスサポートを提供するためのシステムおよび方法が記載される。複数のサンドボックスおよびベースラインデータを多次元データベースサーバに提供することができる。各サンドボックスは、特定のwhat-if分析に応じて作成され、ベースラインデータに対する1つ以上の変更を格納するように構成される。ユーザから特定のwhat-if分析に関するレポートを要求するリクエストを受信すると、多次元データベースサーバは、そのリクエストを第1クエリおよび第2クエリに分割し、第1クエリをユーザに関連付けられたサンドボックスに導き、第2クエリをベースラインデータに導く。多次元データベースサーバは、第1クエリおよび第2クエリからの結果を合併し、合併したデータに対して集計および計算を実行してから、合併したデータをクライアントに送信することができる。
一実施形態に従って、多次元データベース環境の一例を示す図である。 一実施形態に従って、多次元データベース環境にサンドボックスサポートを提供するためのシステムを示す図である。 一実施形態に従って、多次元データベース環境にサンドボックスサポートを提供するためのシステムをさらに示す図である。 一実施形態に従って、多次元データベース環境にサンドボックスサポートを提供するためのシステムをさらに示す図である。 一実施形態に従って、多次元データベース環境にサンドボックスサポートを提供するためのシステムをさらに示す図である。 一実施形態に従って、多次元データベース環境にサンドボックスサポートを提供するための方法を示す図である。
詳細な説明
上記の特徴および実施形態は、他の特徴および実施形態と共に、以下の明細書、特許請求の範囲および添付図面を参照して、より明らかになるであろう。特定の詳細は、様々な実施形態の理解を提供するために記載される。しかしながら、これらの具体的な詳細がなくても、様々な実施形態を実施できることは明らかであろう。添付の明細書および図面は、限定的であることを意図していない。
多次元データベース環境、一例としてOracle(登録商標)Essbaseを含む多次元データベース環境を用いて、大量のデータ、場合によって複数のデータソースからの大量のデータを統合し、エンドユーザの特定の要求に応じて、フィルタされた情報をこれらのユーザに配信することができる。
図1は、一実施形態に従って、多次元データベース環境100の一例を示す図である。
図1に示すように、一実施形態によれば、データベース層(database tier)として動作する多次元データベース環境は、1つ以上の多次元データベースサーバシステム102を含むことができる。各々の多次元データベースサーバシステム102は、物理コンピュータリソースまたは要素104(例えば、マイクロプロセッサ/CPU、物理メモリ、ネットワーク要素)と、オペレーティングシステム106と、1つ以上の多次元データベースサーバ(例えば、Essbaseサーバ)110とを含む。
一実施形態によれば、中間層(middle tier)120は、1つ以上のサービス、例えば、プロバイダサービス122(例えば、Hyperionプロバイダサービス)、管理サービス124(例えば、Essbase管理サービス)、またはスタジオ/統合サービス126(例えば、Essbaseスタジオ/Essbase統合サービス)を含むことができる。中間層は、ODBC/JDBC127および128または他の種類のインターフェイスを介して、メタデータカタログ129および/または多次元データベース環境と共に使用される1つ以上のデータソース130(例えば、関係データベース)へのアクセスを提供することができる。
一実施形態によれば、1つ以上の多次元データベースサーバは、多次元データベースを提供するために、ODBC/JDBC132または他の種類のインターフェイスを介して、1つ以上のデータソースにアクセスすることができる。
一実施形態によれば、クライアント層(client tier)140は、1つ以上の多次元データベースクライアント142(例えば、Essbaseサーバクライアント)を含むことができる。これらの多次元データベースクライアント142は、多次元データベース(例えば、スマートビュー(Smart View)、スプレッドシートアドイン(Spreadsheet Add-in)、スマートサーチ(Smart Search)、管理サービス、MaxL、XMLA、CAPIまたはVB APIアプリケーション、Oracle(登録商標)ビジネスインテリジェンスエンタープライズ版Plus(Oracle Business Intelligence Enterprise Edition Plus)、または他の種類の多次元データベースクライアント)にアクセスすることができる。また、クライアント層は、中間層のサービスと共に使用されるコンソール、例えば、管理サービスコンソール144またはスタジオ/統合サービスコンソール146を含むこともできる。
一実施形態によれば、クライアント層、中間層層およびデータベース層の間の通信は、TCP/IP、HTTP、または他の種類のネットワーク通信プロトコルのうち1つ以上によって提供されてもよい。
一実施形態によれば、多次元データベースサーバは、1つ以上のデータソースからのデータを統合することによって、多次元データベース、データ構造またはキューブ150を提供することができる。多次元データベースサーバは、キューブ150を利用して、フィルタされた情報をエンドユーザに提供することができる。
一般的には、多次元データベース内の各データ値は、キューブのセルに格納される。キューブの次元上の座標を特定することによって、特定のデータ値を参照することができる。1つの次元上のメンバと1つ以上の他の各次元上のメンバとの交差点は、データ値を表す。
例えば、販売型ビジネスアプリケーションに使用され得るキューブ162を示す図1に示すように、クエリが「売上高」(Sales)を表す場合、システムは、このクエリを、全ての「売上高」データ値を含むデータベース内のデータ値164のスライスまたはレイヤとして解釈することができる。「売上高」は、「実績」(Actual)および「予算」(Budget)と交差している。多次元データベース内の特定のデータ値166を照会するために、クエリは、例えば「売上高、実績、一月」を指定することによって、各次元上のメンバを特定することができる。異なる方法でデータベースをスライスすることによって、様々な視点のデータを提供することができる。例えば、「二月」に対応するデータ値168のスライスは、時間/年次元が「二月」に固定された全てのデータ値を検査する。
データベースアウトライン
一実施形態によれば、多次元データベースの開発は、データベースアウトラインの作成から始まる。データベースアウトラインは、データベース内のメンバ間の構造関係を定義し、データベース内のデータを編成し、集約および数学関係を定義する。データベースアウトラインの階層木またはデータ構造において、各次元は、1つ以上のメンバを含み、各メンバは、さらに他のメンバを含むことができる。次元を指定することによって、個々のメンバの値を統合する方法をシステムに指示することができる。集約は、木の1つの分岐内のメンバ群を意味する。
次元およびメンバ
一実施形態によれば、次元は、データベースアウトラインにおいて最も高い集約レベルを表す。標準次元を選択して、部門別機能(例えば、時間、勘定科目、製品ライン、市場、部門)に関連する事業計画の構成要素を表すことができる。標準次元に関連付けられた属性次元によって、ユーザは、メンバの属性または特性に基づいて、標準次元のメンバをグループ化および分析することができる。メンバ(商品A、商品B、商品Cなど)は、次元の個々の構成要素である。
次元およびメンバの関係
一実施形態によれば、多次元データベースは、ファミリ(親、子および兄弟、または子孫および祖先)および階層(世代およびレベル、またはルートおよびリーフ)などの用語を用いて、データベースアウトライン内のメンバの役割および関係を記述する。
一実施形態によれば、親は、下位に分岐を持つメンバである。例えば、「売上総利益」(Margin)は、「売上高」(Sales)および「売上原価」(COGS)の親であり得る。子は、上位に親を持つメンバである。上記の例では、「売上高」および「売上原価」は、親の「売上総利益」の子である。兄弟は、すぐ上に同一親を持つ同一世代の子メンバである。
一実施形態によれば、子孫は、親の下位の分岐に位置するメンバである。例えば、「利益」(Profit)、「在庫」(Inventory)および「利益率」(Ratios)は、メジャーの子孫であり得る。この場合、「利益」、「在庫」および「利益率」の子も、メジャーの子孫である。祖先は、メンバの上位の分岐に位置するメンバである。上記の例では、「売上総利益」、「利益」およびメジャーは、「売上高」の祖先であり得る。
一実施形態によれば、ルートは、分岐内の最上位のメンバである。例えば、メジャーは、「利益」、「在庫」および「利益率」のルートであり、「利益」、「在庫」および「利益率」の子のルートでもある。リーフ(レベル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)情報を提供することができる。
サンドボックスサポート(5693US1)
一実施形態によれば、本明細書に記載のシステムおよび方法は、what-if分析をサポートするように、多次元データベースサーバにサンドボックスサポートを提供することができる。多次元データベースサーバは、複数のサンドボックスと、ベースラインデータとを含むことができる。各サンドボックスは、特定のwhat-if分析に応じて作成され、ベースラインデータに対する1つ以上の変更を格納するように構成されている。各サンドボックスおよび各ベースラインデータは、グラフィカルユーザインターフェイスを介して、それぞれのビューからアクセスすることができる。
What-ifシナリオ分析を実行するための既存の解決策において、エンドユーザは、カスタマイズされた多次元データベースクライアントを提供することによって、ベースラインデータセットの異なるコピーを格納する必要がある。数千行を含む大規模なベースラインデータセットの場合、既存の解決策は、システムのパフォーマンスおよびメモリ消費の面で非効率である。
本発明の実施形態は、エンドユーザから追加の作業がなく、すぐに使用できるサーバ側機能を提供することによって、既存の解決策の非効率性を克服することができる。本発明の更なる利点は、各サンドボックスにベースラインデータに対するデータ変更のみを記憶することによってディスクスペースを節約することと、システム内のメモリフットプリントおよび多次元データベースクライアントと多次元データベースサーバとの間のデータトラフィックを削減することによってシステムのパフォーマンスを改善することとを含む。
一実施形態によれば、特定のwhat-if分析に関するレポートを要求するリクエストを受信すると、多次元データベースサーバは、ユーザからのリクエストを第1クエリおよび第2クエリに分割し、第1クエリをユーザに関連付けられたサンドボックスに導き、第2クエリをベースラインデータに導く。多次元データベースサーバは、第1クエリおよび第2クエリからの結果を合併し、合併したデータに対して集計および計算を実行してから、合併したデータをクライアントに送信することができる。
一実施形態によれば、ベースラインデータは、トランザクションデータを表すことができ、様々なwhat-if分析の基礎として機能することができる。異なるwhat-if分析を行うために、ベースラインデータからのデータセットに基づいて、異なるサンドボックスを作成することができる。what-if分析が完了すると、データセット内の1つ以上のセルを変更して、予期の結果を生成することができる。変更されたセル値は、サンドボックスに保存されるが、変更されていないセル値は、ベースラインデータに残る。
一実施形態によれば、システムは、複数のユーザの各々に使用される1つ以上のサンドボックスと、複数のユーザによって共有されるデータベースキューブであるベースラインデータとを含むことができる。1人のユーザのために作成されたサンドボックス内のデータ変更は、そのユーザのみに利用可能であり、ベースラインデータにアクセスできる他のユーザには利用できない。例えば、データ変更を使用した仮想シナリオ分析で予期の結果をもたらすとユーザが判断した場合、ユーザは、特定のサンドボックス内のデータ変更を公開することができる。公開されたサンドボックスのデータ変更は、他のユーザに利用可能である。
一実施形態によれば、各サンドボックスおよびベースラインデータは、多次元データベースサーバのデータベースアウトライン内のサンドボックス次元上のメンバによって表すことができる。ユーザがグラフィカルユーザインターフェイスでサンドボックスを作成すると、システムは、それに応じて、データベースアウトラインのサンドボックス次元に新しく作成されたサンドボックスを表すメンバを自動的に作成することができる。
一実施形態によれば、各サンドボックスは、特定のユーザのために作成された仮想プライベートスペースであり得る。新しく作成されたサンドボックスは、データを含まない。特定のユーザがサンドボックスのビューで作業すると、システムは、クエリプロセッサを起動して、多次元式(MDX)クエリを用いてユーザが指定した特定のデータセットを取得し、取得したデータをサンドボックスのビューに表示させることができる。その後、ユーザは、取得したデータを変更し、変更のみをサンドボックスに保存することができる。
このシステムによって、ユーザは、データベース/キューブ内の1つ以上のプライベートスペースを用いて、異なるビジネスシナリオをモデル化することができ、各ビジネスシナリオの1つ以上のセルを変更し、変更による影響を見ることができる。
一実施形態によれば、ユーザを複数のサンドボックスに関連付けることができ、各サンドボックスを異なるシナリオに関連付けることができる。
図2は、一実施形態に従って、多次元データベース環境にサンドボックスサポートを提供するためのシステムを示す図である。
図2に示すように、システムは、複数のキューブ223と、多次元データベースサーバ内の複数のキューブを定義するデータベースアウトライン225とを含むことができる。ユーザ(例えば、データベースユーザまたはシステム管理者)は、多次元データベースアプリケーションを作成する際に、サンドボックスのサポートを有効にすることができる。
一実施形態によれば、複数のキューブは、ベースラインデータキューブ235、および複数のサンドボックス(例えば、サンドボックスA237およびサンドボックスB239)を含むことができる。複数のサンドボックスの各々は、セル値の1つ以上の更新を表す変更後のデータをベースラインデータキューブに格納することができる。
一実施形態によれば、各サンドボックスは、特定のユーザのために作成され、サンドボックス内の変更後のデータは、ユーザAのみにアクセス可能である。
一実施形態によれば、ユーザAは、多次元データベースクライアント230内のグラフィカルユーザインターフェイス(例えば、Office用のOracle(登録商標)スマートビュー)に表示された対応のサンドボックスビューを介して、サンドボックスA内のデータにアクセスすることができる。
例えば、サンドボックスAが、ユーザA201のために作成され、サンドボックスBが、ユーザB203のために作成される。ユーザAは、サンドボックスビューA211を介して、サンドボックスA内の変更後のデータにアクセスすることができ、ユーザBは、サンドボックスビューB213を介して、サンドボックスB内の変更後のデータにアクセスすることができる。
一実施形態によれば、特定のwhat-if分析を行うために、各々のサンドボックスを作成することができる。
例えば、ベースラインデータは、米国の湾岸区域内の異なる都市に設けられた複数の店舗を所有する飲料配送会社の売上高データを含むことができる。ユーザAは、ベースラインデータから取得されたデータセットを調べながら、5年間に亘ってクパチーノで販売された瓶飲料の数が会社の利益に与える影響を分析する必要がある場合に、グラフィカルユーザインターフェイスを介してサンドボックス(例えば、サンドボックスA)を作成することができる。
一実施形態によれば、サンドボックスビュー(例えば、サンドボックスビューA)に最初に表示されたデータは、ベースラインデータからのデータセットであってもよい。ユーザは、特定のwhat-if分析ニーズに基づいて、データを変更することができる。変更後のデータは、対応するサンドボックスに保存することができる。
一実施形態によれば、ユーザは、what-if分析を記述するレポートを要求することができる。図2に示すように、多次元データベースサーバ上のクエリプロセッサ217は、サンドボックスAに関連するwhat-if分析に関するレポートを要求するリクエストを受信することができる。クエリスプリッタ219は、このリクエストを第1クエリおよび第2クエリに分割し、第1クエリをサンドボックスAに導き、第2クエリをベースラインデータに導くことができる。
一実施形態によれば、第1クエリおよび第2クエリは、同一のデータセットを要求する同様の構文(syntax)を含むことができる。例えば、両方のクエリは、2015年にクパチーノで販売された瓶飲料の数を表すデータと、同一の期間に亘って会社の年度利益を要求するこができる。
上述したように、サンドボックスが更新値のみをベースラインデータに格納するため、サンドボックスに導かれたクエリは、欠落値、例えば、特定のwhat-if分析で更新されていないセル内の値を含む結果を取得するすることができる。
一実施形態によれば、クエリ結果プロセッサ221は、予め定義された規則に基づいて、第1クエリおよび第2クエリからの結果を合併する複数の機能を含むことができる。
一実施形態によれば、要求されたセルがサンドボックス内に存在する場合、クエリプロセッサは、サンドボックス内のセル値を使用することができる。要求されたセルがサンドボックスに存在しない場合、クエリプロセッサは、ベースラインデータからのセル値を使用することができる。上記の規則は、クエリプロセッサがダイナミック階層を計算するときにまたは合併されたデータのストアド階層を集計するときに適用する。
図2にさらに示すように、集約および計算を既に行った合併データは、サンドボックスビューA内に表示することができる。
図3は、一実施形態に従って、多次元データベース環境にサンドボックスサポートを提供するためのシステムをさらに示す図である。
図3に示すように、ユーザAは、ベースラインデータからのベースラインデータセット313上のベースラインビュー311で作業をしながら、多次元データベースクライアントでサンドボックスAを作成することができる。
一実施形態によれば、ユーザAは、その後、サンドボックスビューAに切り替えて、ユーザAのビューに最初に表示されたベースラインデータに対してwhat-if分析を実行することができる。ベースラインデータセットに対する任意の変更は、1つ以上の更新されたセル値314として、多次元データベースサーバのサンドボックスAに保存することができる。
一実施形態によれば、ユーザAがサンドボックスビューAに対して行った任意の変更は、他のユーザが見ることができない。多次元データベースサーバは、複数のサンドボックス所有権およびセキュリティ規則を実施することによって、認証したユーザのみに特定のサンドボックスへのアクセスを与えるができる。
一実施形態によれば、サンドボックスAに保存された変更を公開することができる。サンドボックスから公開されたデータをベースラインデータに合併することができる。サンドボックスAの変更をベースラインデータに適用した後、サンドボックスAを削除することができる。
一実施形態によれば、サンドボックス内のデータを、ベースラインデータまたは他のサンドボックス内のデータと比較することができる。異なるサンドボックスの並列比較またはサンドボックスとベースラインデータとの並列比較を表示するためのダッシュボードを提供することができる。代替的には、特定のサンドボックスまたはベースラインデータからの異なるバージョンのデータを表示するために、臨時グリッドを形成することができる。
図4は一実施形態に従って、多次元データベース環境にサンドボックスサポートを提供するためのシステムをさらに示す図である。
より詳しくは、図4は、多次元データベースサーバ内で、上述したベースラインデータおよび複数のサンドボックスを格納する際に使用される複数のキューブの構造を定義するデータベースアウトラインを示す。
一実施形態によれば、データベースアウトラインは、メジャー411と、時間次元413と、セル特性次元415と、サンドボックス次元433とを含むことができる。
一実施形態によれば、サンドボックス次元は、多次元データベースサーバ内の複数のキューブを表す複数のメンバを含むことができる。図4に示すように、サンドボックス次元は、ベースラインデータメンバ435と、複数のサンドボックスメンバ(例えば、サンドボックスA437およびサンドボックスB439)とを含む。
一実施形態によれば、各サンドボックスは、特定のユーザのために作成され、サンドボックス内の変更後のデータは、ユーザAのみにアクセス可能である。
一実施形態によれば、多次元データベースサーバ内でサンドボックスを有効にするために、データベースアウトライン内の第1疎次元を、「サンドボックス」次元タイプを有し且つ平坦であるサンドボックス次元として標記する必要がある。さらに、サンドボックス次元内の各メンバ(例えば、ベースラインデータメンバ、サンドボックスAおよびサンドボックスB)に、統合演算子としてのチルダ(〜)を関連付けることができる。
一実施形態によれば、サンドボックス次元内の各メンバに関連付けられた統合演算子チルド(〜)は、次元内の子が親にロールアップしないことを示す統合プロパティを表すことができる。
一実施形態によれば、サンドボックス次元内の第1メンバは、ベースラインデータ内のメンバであってもよく、残りのメンバは、サンドボックス内のメンバであってもよい。
図4に示すように、セル特性次元は、値メンバ417、状態メンバ419およびトランザクション識別子(TID)メンバ421を含み、サンドボックス次元内のデータを記述する際に使用される属性次元であってもよい。
例えば、サンドボックス次元の各セル内の値を記述するために、複数の特性を値メンバに関連付けることができる。セル状態メンバを用いて、特定のセルがサンドボックス次元に定着する時間および方法を追跡することができる。セル状態メンバの例示値として、入力(INPUT)、ロード(LOAD)、計算(CALC)、手動エントリ(MANUAL ENTRY)、およびダイナミック(DYNAMIC)が挙げられる。トランザクション識別子メンバは、セルを変更した最新のトランザクションを特定することができる。
図5は、一実施形態に従って、多次元データベース環境にサンドボックスサポートを提供するためのシステムをさらに示す図である。
図5に示すように、ユーザのサンドボックス内のデータは、ベースラインデータに合併することができ、またはユーザの別のサンドボックスに合併することもできる。合併処理は、多次元データベースクライアントからトリガされ、多次元データベースサーバ上に設けられたサンドボックス合併プロセッサ511によって実行される。
例えば、ユーザAからの要求によって、サンドボックスA内のデータを公開することができ、ベースラインデータに合併することもできる。サンドボックスBおよびサンドボックスN513に関連付けられたユーザBからの要求によって、両方のサンドボックス内のデータをベースラインデータに合併することができる。また、ユーザBは、サンドボックスBのデータをサンドボックスNに合併するように要求することができ、またはサンドボックスNのデータをサンドボックスBに合併するように要求することができる。
一実施形態によれば、ソースサンドボックスからのデータをターゲットサンドボックスまたはベースラインデータに合併する際に、サンドボックス合併プロセッサは、サンドボックスのスライスまたはサンドボックス全体を合併することができる。
一実施形態によれば、サンドボックス合併プロセッサは、以下の例示的なシンタックスを有するコマンドで合併プロセスを実行することができる。
DATAMERGE scrMbrName trgMbrName [NOCAL] [SOURCE|TARGET]
上記のコマンドにおいて、scrMbrNameは、単一のサンドボックスメンバまたはメンバの組合であり、trgMbrNameは、単一のサンドボックスメンバである。上述したように、サンドボックス次元のメンバは、ベースラインデータおよび複数のサンドボックスを含むことができる。NOCALCは、入力状態またはロード状態を有するセルのみが合併処理においてコピーできることを示す。SOURCE|TARGETの値は、デフォルトでソース値に設定される。すなわち、ソースとターゲットとが異なる値を有する場合、ソース値を使用する。ユーザは、「ターゲット」を選択することができる。これによって、ターゲット値が欠落している場合またはターゲット状態に「合併済み」フラグが関連付けられている場合、セルは、ソースからの値で上書きされ、それ以外の場合、このセルは、無視される。
一実施形態によれば、サンドボックス合併プロセッサは、ソースサンドボックス内の欠落していないセル毎について反復に行い、SOURCE|TARGET修飾子の値に従ってそのセルをターゲット(例えば、ターゲットサンドボックスまたはベースラインデータ)にコピーすべきか否かを判断することができる。ソースサンドボックスからのセルがターゲットに合併すべきであると判断された場合、サンドボックス合併プロセッサは、このセルの値、状態およびトランザクション識別子をターゲットにコピーすることができる。また、合併プロセッサは、「合併済み」フラグをセル状態に加えることができる。
図6は、一実施形態に従って、多次元データベース環境にサンドボックスサポートを提供するための方法を示す図である。
図6に示すように、ステップ613において、1つ以上のマイクロプロセッサ上で動作する多次元データベースサーバを用意する。多次元データベースサーバは、ベースラインデータと、複数のサンドボックスとを含み、各サンドボックスは、ユーザに関連付けられ、ベースラインデータに対する1つ以上の変更を格納する。
ステップ615において、多次元データベースサーバに設けられたクエリプロセッサを用いて、ユーザからのクエリを受信する。
ステップ617において、ユーザから受信したクエリを第1クエリおよび第2クエリに分割する。
ステップ619において、クエリプロセッサは、第1クエリをベースラインデータに導き、第2クエリをユーザに関連付けられたサンドボックスに導く。
ステップ621において、クエリプロセッサは、第1クエリおよび第2クエリからの結果を合併する。
ステップ623において、クエリプロセッサは、合併したデータをユーザに返送する。
本発明は、本開示の教示に従ってプログラムされた1つ以上のプロセッサ、メモリおよび/またはコンピュータ可読記憶媒体を含む1つ以上の従来の汎用または専用コンピュータ、コンピューティング装置、機械、またはマイクロプロセッサを使用して都合よく実施することができる。ソフトウェア分野の当業者には明らかであるように、熟練したプログラマは、本開示の教示に基づいて、適切なソフトウェアのコーディングを容易に準備することができる。
いくつかの実施形態において、本発明は、命令を格納した非一時的記憶媒体またはコンピュータ可読媒体であるコンピュータプログラム製品を含み、これらの命令を用いてコンピュータをプログラムすることによって、本発明の任意の処理を実行することができる。記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む、任意の種類のディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム(分子メモリICを含む)、または、命令および/もしくはデータを格納するのに適した任意の種類の媒体もしくは装置を含むことができるが、これらに限定されない。
本発明の上記記載は、例示および説明を目的として提供される。本発明を網羅的なものまたは開示された形態そのものに限定することを意図していない。本発明の広さおよび範囲は、上記の例示的な実施形態のいずれかによって限定されるべきではない。数多くの変更および変形は、当業者にとって明らかであろう。修正例および変形例は、開示された特徴の任意可能な組み合わせを含む。実施形態は、本発明の原理およびその実際の応用を最も良く説明することによって、他の当業者がさまざまな実施形態および考えられる特定の用途に適したさまざまな変形に応じて本発明を理解できるように、選択され説明される。本発明の範囲は、添付の特許請求の範囲およびそれらの同等物によって規定されると意図する。

Claims (17)

  1. 多次元データベース環境にサンドボックスサポートを提供するためのシステムであって、
    1つ以上のマイクロプロセッサを含むコンピュータと、
    前記コンピュータ上で動作する多次元データベースサーバとを備え、前記多次元データベースサーバは、ベースラインデータと、複数のサンドボックスとを含み、各サンドボックスは、ユーザに関連付けられ、前記ベースラインデータに対する1つ以上の変更を格納し、
    前記多次元データベースサーバに設けられたクエリプロセッサを備え、
    前記クエリプロセッサは、
    ユーザから受信したクエリを第1クエリおよび第2クエリに分割し、
    前記第1クエリを前記ベースラインデータに導き、前記第2クエリを前記ユーザに関連付けられたサンドボックスに導き、
    前記第1クエリおよび前記第2クエリからの結果を結合し、
    前記結合したデータをユーザに返送し、
    前記複数のサンドボックスおよび前記ベースラインデータの各々は、前記多次元データベースサーバのデータベースアウトラインにおけるサンドボックス次元内のメンバとして定義される、システム。
  2. 前記複数のサンドボックスの各々は、特定のwhat-if分析に応じて作成される、請求項1に記載のシステム。
  3. 前記ベースラインデータは、前記多次元データベースサーバ内のキューブに格納されたデータである、請求項1または2に記載のシステム。
  4. 要求されたセルがサンドボックス内に存在する場合、前記クエリプロセッサは、前記サンドボックス内のセル値を使用し、
    要求されたセルがサンドボックス内に存在しない場合、前記クエリプロセッサは、前記ベースラインデータからセル値を取得する、請求項1〜3のいずれか1項に記載のシステム。
  5. 各サンドボックス内のデータ変更は、そのサンドボックスに関連付けられたユーザのみに利用可能である、請求項1〜4のいずれか1項に記載のシステム。
  6. 各サンドボックス内のデータ変更は、前記ベースラインデータに結合され、各ユーザに利用可能である、請求項1〜5のいずれか1項に記載のシステム。
  7. 前記データベースアウトラインは、前記サンドボックス次元内のデータを記述するためのセル特性次元をさらに含む、請求項1〜のいずれか1項に記載のシステム。
  8. 前記セル特性次元は、前記サンドボックス次元における各セルの定着状態を追跡するための状態メンバと、各セルを変更する最新のトランザクションを特定するためのトランザクション識別子とを含む、請求項に記載のシステム。
  9. 多次元データベース環境にサンドボックスサポートを提供するための方法であって、
    1つ以上のマイクロプロセッサ上で動作する多次元データベースサーバを用意するステップを備え、前記多次元データベースサーバは、ベースラインデータと、複数のサンドボックスとを含み、各サンドボックスは、ユーザに関連付けられ、前記ベースラインデータに対する1つ以上の変更を格納し、
    前記多次元データベースサーバに設けられたクエリプロセッサを用いて、ユーザからのクエリを受信するステップと、
    前記ユーザから受信した前記クエリを第1クエリおよび第2クエリに分割するステップと、
    前記第1クエリを前記ベースラインデータに導き、前記第2クエリを前記ユーザに関連付けられたサンドボックスに導くステップと、
    前記第1クエリおよび前記第2クエリからの結果を結合するステップと、
    前記結合したデータを前記ユーザに返送するステップとを備え
    前記複数のサンドボックスおよび前記ベースラインデータの各々は、前記多次元データベースサーバのデータベースアウトラインにおけるサンドボックス次元内のメンバとして定義される、方法。
  10. 前記複数のサンドボックスの各々は、特定のwhat-if分析に応じて作成される、請求項に記載の方法。
  11. 前記ベースラインデータは、前記多次元データベースサーバ内のキューブに格納されたデータである、請求項または10に記載の方法。
  12. 要求されたセルがサンドボックス内に存在する場合、前記クエリプロセッサは、前記サンドボックス内のセル値を使用し、
    要求されたセルがサンドボックス内に存在しない場合、前記クエリプロセッサは、前記ベースラインデータからセル値を取得する、請求項11のいずれか1項に記載の方法。
  13. 各サンドボックス内のデータ変更は、そのサンドボックスに関連付けられたユーザのみに利用可能である、請求項12のいずれか1項に記載の方法。
  14. 各サンドボックス内のデータ変更は、前記ベースラインデータに結合され、各ユーザに利用可能である、請求項13のいずれか1項に記載の方法。
  15. 前記データベースアウトラインは、前記サンドボックス次元内のデータを記述するためのセル特性次元をさらに含む、請求項9〜14のいずれか1項に記載の方法。
  16. 前記セル特性次元は、前記サンドボックス次元における各セルの定着状態を追跡するための状態メンバと、各セルを変更する最新の処理を特定するための処理識別子とを含む、請求項15に記載の方法。
  17. 機械可読プログラム命令を含むコンピュータプログラムであって、前記機械可読プログラム命令は、コンピュータによって実行されると、前記コンピュータに請求項16のいずれか1項に記載の方法を実行させる、コンピュータプログラム。
JP2017558691A 2015-10-23 2016-10-20 多次元データベース環境にサンドボックスサポートを提供するためのシステムおよび方法 Active JP6832292B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562245889P 2015-10-23 2015-10-23
US62/245,889 2015-10-23
PCT/US2016/057968 WO2017070385A1 (en) 2015-10-23 2016-10-20 System and method for sandboxing support in a multidimensional database environment

Publications (3)

Publication Number Publication Date
JP2018533090A JP2018533090A (ja) 2018-11-08
JP2018533090A5 JP2018533090A5 (ja) 2019-10-10
JP6832292B2 true JP6832292B2 (ja) 2021-02-24

Family

ID=57219049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017558691A Active JP6832292B2 (ja) 2015-10-23 2016-10-20 多次元データベース環境にサンドボックスサポートを提供するためのシステムおよび方法

Country Status (5)

Country Link
US (2) US11256721B2 (ja)
EP (1) EP3365809B1 (ja)
JP (1) JP6832292B2 (ja)
CN (1) CN107533569B (ja)
WO (1) WO2017070385A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10601942B2 (en) 2018-04-12 2020-03-24 Pearson Management Services Limited Systems and methods for automated module-based content provisioning
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
US11200223B2 (en) * 2018-10-18 2021-12-14 Oracle International Corporation System and method for dependency analysis in a multidimensional database environment
US20200210906A1 (en) * 2018-12-27 2020-07-02 At&T Intellectual Property I, L.P. Event-based service engine and system
CN109995776B (zh) * 2019-03-26 2021-10-26 西安纸贵互联网科技有限公司 一种互联网数据验证方法及系统
CN110135127B (zh) * 2019-04-11 2021-04-30 北京亿赛通科技发展有限责任公司 一种基于沙箱的文档分布式基线化系统及导入和分发方法
CN111026817B (zh) * 2019-12-09 2023-11-28 北京中电普华信息技术有限公司 一种多维计算方法及装置
CN112084491A (zh) * 2020-08-26 2020-12-15 天津七一二通信广播股份有限公司 一种基于沙箱机制的集群虚拟用户系统实现方法
US20220325188A1 (en) * 2021-04-13 2022-10-13 T.En Processs Technology, Inc. Crude oil stabilization
US20220358135A1 (en) * 2021-05-06 2022-11-10 Hitachi, Ltd. System and method for data and data processing management

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493679B1 (en) * 1999-05-26 2002-12-10 Wireless Valley Communications, Inc. Method and system for managing a real time bill of materials
US6766325B1 (en) * 1999-12-02 2004-07-20 Microsoft Corporation System and method for maintaining data for performing “what if” analysis
US7698348B2 (en) * 2003-12-19 2010-04-13 Kinaxis Holdings Inc. Extended database engine providing versioning and embedded analytics
US7647356B2 (en) * 2004-05-07 2010-01-12 Oracle International Corporation Methods and apparatus for facilitating analysis of large data sets
US7571192B2 (en) * 2005-06-15 2009-08-04 Oracle International Corporation Methods and apparatus for maintaining consistency during analysis of large data sets
US20070022120A1 (en) * 2005-07-25 2007-01-25 Microsoft Corporation Caching and modifying portions of a multi-dimensional database on a user device
US20080046369A1 (en) * 2006-07-27 2008-02-21 Wood Charles B Password Management for RSS Interfaces
US8024288B2 (en) * 2008-08-27 2011-09-20 Oracle International Corporation Block compression using a value-bit format for storing block-cell values
US20100241893A1 (en) * 2009-03-18 2010-09-23 Eric Friedman Interpretation and execution of a customizable database request using an extensible computer process and an available computing environment
CN101556602B (zh) * 2009-04-08 2013-07-03 王珊 一种基于差分表的内存OLAP What-if分析方法
US8271426B2 (en) * 2009-10-01 2012-09-18 Oracle International Corporation Change application for datasets using frozen and delta values
US10838957B2 (en) * 2010-06-17 2020-11-17 Microsoft Technology Licensing, Llc Slicing relational queries using spool operators
US9003231B1 (en) * 2012-04-16 2015-04-07 Google Inc. System for instantiating service instances for testing in a known state
US20130318095A1 (en) * 2012-05-14 2013-11-28 WaLa! Inc. Distributed computing environment for data capture, search and analytics
CN103136350B (zh) * 2013-02-01 2017-02-08 江苏易合大成网络科技有限公司 一种在系统平台上运行多个应用的方法及装置
US9665621B1 (en) * 2013-03-14 2017-05-30 EMC IP Holding Company LLC Accelerated query execution within a storage array
US9292525B2 (en) * 2013-06-19 2016-03-22 BlackBerry Limited; 2236008 Ontario Inc. Searching data using pre-prepared search data
US10133797B1 (en) * 2013-08-16 2018-11-20 Amazon Technologies, Inc. Distributed heterogeneous system for data warehouse management
JP6204753B2 (ja) * 2013-08-28 2017-09-27 Kddi株式会社 分散クエリ処理装置、処理方法及び処理プログラム
US11023105B2 (en) * 2013-10-02 2021-06-01 Massachusetts Institute Of Technology Systems and methods for composable analytics
US10109085B2 (en) * 2014-01-08 2018-10-23 Walmart Apollo, Llc Data perspective analysis system and method
US8751466B1 (en) * 2014-01-12 2014-06-10 Machine Intelligence Services, Inc. Customizable answer engine implemented by user-defined plug-ins
US9633200B2 (en) * 2014-09-26 2017-04-25 Oracle International Corporation Multidimensional sandboxing for financial planning
US10055470B1 (en) * 2015-04-26 2018-08-21 Ims Health Incorporated Real-time query transformation and data retrieval
US10217053B2 (en) * 2015-06-23 2019-02-26 International Business Machines Corporation Provisioning service requests in a computer system

Also Published As

Publication number Publication date
CN107533569A (zh) 2018-01-02
CN107533569B (zh) 2022-04-05
US20170116411A1 (en) 2017-04-27
EP3365809A1 (en) 2018-08-29
EP3365809B1 (en) 2020-12-09
JP2018533090A (ja) 2018-11-08
US11256721B2 (en) 2022-02-22
WO2017070385A1 (en) 2017-04-27
US20220138226A1 (en) 2022-05-05

Similar Documents

Publication Publication Date Title
JP6832292B2 (ja) 多次元データベース環境にサンドボックスサポートを提供するためのシステムおよび方法
US11704294B2 (en) System and method for slowly changing dimension and metadata versioning in a multidimensional database environment
JP6827127B2 (ja) 多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムおよび方法
US11734293B2 (en) System and method for client-side calculation in a multidimensional database environment
US11914620B2 (en) System and method for aggregating values through risk dimension hierarchies in a multidimensional database environment
US20190102447A1 (en) System and method for metadata sandboxing and what-if analysis in a multidimensional database environment
US20230084389A1 (en) System and method for providing bottom-up aggregation in a multidimensional database environment
JP6846356B2 (ja) 表形式データから、多次元データベース環境に使用されるキューブスキーマを自動的に推論するためのシステムおよび方法
AU2015369723B2 (en) Identifying join relationships based on transactional access patterns
US11086855B1 (en) Enterprise connectivity
CA2612391A1 (en) Methods and apparatus for maintaining consistency during analysis of large data sets
US11422881B2 (en) System and method for automatic root cause analysis and automatic generation of key metrics in a multidimensional database environment
JP7454643B2 (ja) 多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法
KR20160118235A (ko) 데이터 생성
US20150379585A1 (en) Single Sheet Planning
US20110040537A1 (en) Simulation for a multi-dimensional analytical system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190828

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201030

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210201

R150 Certificate of patent or registration of utility model

Ref document number: 6832292

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250