(57)【要約】  実施形態に係る多次元データベースにおける仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法が本明細書に記載されている。方法は、１つまたは複数のマイクロプロセッサを含むコンピュータにおいて、コンピュータ上で実行される多次元データベースサーバを提供することができ、多次元データベースサーバは、少なくとも１つの多次元キューブをサポートし、上記方法はさらに、１つまたは複数のマイクロプロセッサを含むコンピュータにおいて、多次元キューブに関連付けられたデータソースと、データソースによってアクセス可能なリアルタイムデータの少なくとも１つのソースとを提供することができる。上記方法は、多次元キューブによって、データソースに対してクエリを行うことができ、クエリは、リアルタイムデータの少なくとも１つのソースの識別情報を備える。上記方法は、データソースによって、多次元キューブへのオンデマンドアクセスをリアルタイムデータの少なくとも１つのソースに提供することができる。上記方法は、多次元キューブ内のリアルタイムデータの少なくとも１つのソースからの対象データを、内部に格納することなく使用することができる。
2021531579.tif 000002
【特許請求の範囲】
【請求項１】
多次元データベースにおける仮想キューブでのリアルタイムデータ集約のためのシステムであって、
１つまたは複数のマイクロプロセッサを含むコンピュータと、
前記コンピュータ上で実行される多次元データベースサーバとを備え、前記多次元データベースサーバは、少なくとも１つの多次元キューブをサポートし、前記システムはさらに、
前記多次元キューブに関連付けられたデータソースと、
前記データソースによってアクセス可能なリアルタイムデータの少なくとも１つのソースとを備え、
前記多次元キューブは、前記データソースに対してクエリを行い、前記クエリは、前記リアルタイムデータの少なくとも１つのソースの識別情報を備え、
前記データソースは、前記多次元キューブへのオンデマンドアクセスを前記リアルタイムデータの少なくとも１つのソースに提供する、システム。
【請求項２】
前記リアルタイムデータの少なくとも１つのソースからの対象データは、前記クエリの実行時に、前記多次元キューブに関連付けられた前記データソースによってフェッチされる、請求項１に記載のシステム。
【請求項３】
前記対象データは、前記データソースによってフェッチされる際に、前記多次元キューブによって１つまたは複数の動的計算に利用される、請求項２に記載のシステム。
【請求項４】
前記１つまたは複数の動的計算は、前記クエリに基づく、請求項３に記載のシステム。
【請求項５】
前記データソースは、１つまたは複数の接続を介して前記リアルタイムデータの少なくとも１つのソースにアクセスする、先行する請求項のいずれか１項に記載のシステム。
【請求項６】
前記データソースによってアクセス可能な前記リアルタイムデータの少なくとも１つのソースは、ビッグデータソースを備える、先行する請求項のいずれか１項に記載のシステム。
【請求項７】
前記ビッグデータソースは、複数のソースデータアグリゲータを備え、
前記データソースは、前記多次元キューブへのオンデマンドアクセスを前記複数のソースデータアグリゲータのうちの少なくとも１つに提供する、請求項６に記載のシステム。
【請求項８】
多次元データベースにおける仮想キューブでのリアルタイムデータ集約のための方法であって、
１つまたは複数のマイクロプロセッサを含むコンピュータにおいて、前記コンピュータ上で実行される多次元データベースサーバを提供するステップを備え、前記多次元データベースサーバは、少なくとも１つの多次元キューブをサポートし、前記方法はさらに、
１つまたは複数のマイクロプロセッサを含むコンピュータにおいて、前記多次元キューブに関連付けられたデータソースを提供するステップと、
前記多次元キューブによって、前記データソースに対してクエリを行うステップとを備え、前記クエリは、前記データソースにアクセス可能なリアルタイムデータの少なくとも１つのソースの識別情報を備え、前記方法はさらに、
前記データソースによって、前記多次元キューブへのオンデマンドアクセスを前記リアルタイムデータの少なくとも１つのソースに提供するステップと、
前記多次元キューブ内の前記リアルタイムデータの少なくとも１つのソースからの対象データを、内部に格納することなく使用するステップとを備える、方法。
【請求項９】
前記リアルタイムデータの少なくとも１つのソースからの対象データは、前記クエリの実行時に、前記多次元キューブに関連付けられた前記データソースによってフェッチされる、請求項８に記載の方法。
【請求項１０】
前記対象データは、前記データソースによってフェッチされる際に、前記多次元キューブによって１つまたは複数の動的計算に利用される、請求項９に記載の方法。
【請求項１１】
前記１つまたは複数の動的計算は、前記クエリに基づく、請求項１０に記載の方法。
【請求項１２】
前記データソースは、１つまたは複数の接続を介して前記リアルタイムデータの少なくとも１つのソースにアクセスする、請求項８〜請求項１１のいずれか１項に記載の方法。
【請求項１３】
前記データソースによってアクセス可能な前記リアルタイムデータの少なくとも１つのソースは、ビッグデータソースを備える、請求項８〜請求項１２のいずれか１項に記載の方法。
【請求項１４】
前記ビッグデータソースは、複数のソースデータアグリゲータを備え、
前記データソースは、前記多次元キューブへのオンデマンドアクセスを前記複数のソースデータアグリゲータのうちの少なくとも１つに提供する、請求項１３に記載の方法。
【請求項１５】
多次元データベースにおける仮想キューブでのリアルタイムデータ集約のための非一時的なコンピュータ読取可能記憶媒体であって、前記非一時的なコンピュータ読取可能記憶媒体は、読み取られて実行されると、コンピュータにステップを実行させ、前記ステップは、
１つまたは複数のマイクロプロセッサを含む前記コンピュータにおいて、前記コンピュータ上で実行される多次元データベースサーバを提供するステップを備え、前記多次元データベースサーバは、少なくとも１つの多次元キューブをサポートし、前記ステップはさらに、
１つまたは複数のマイクロプロセッサを含む前記コンピュータにおいて、前記多次元キューブに関連付けられたデータソースを提供するステップと、
前記多次元キューブによって、前記データソースに対してクエリを行うステップとを備え、前記クエリは、前記データソースにアクセス可能なリアルタイムデータの少なくとも１つのソースの識別情報を備え、前記ステップはさらに、
前記データソースによって、前記多次元キューブへのオンデマンドアクセスを前記リアルタイムデータの少なくとも１つのソースに提供するステップと、
前記多次元キューブ内の前記リアルタイムデータの少なくとも１つのソースからの対象データを、内部に格納することなく使用するステップとを備える、非一時的なコンピュータ読取可能記憶媒体。
【請求項１６】
前記リアルタイムデータの少なくとも１つのソースからの対象データは、前記クエリの実行時に、前記多次元キューブに関連付けられた前記データソースによってフェッチされる、請求項１５に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１７】
前記対象データは、前記データソースによってフェッチされる際に、前記多次元キューブによって１つまたは複数の動的計算に利用される、請求項１６に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１８】
前記１つまたは複数の動的計算は、前記クエリに基づく、請求項１７に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１９】
前記データソースは、１つまたは複数の接続を介して前記リアルタイムデータの少なくとも１つのソースにアクセスする、請求項１５〜請求項１８のいずれか１項に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項２０】
前記データソースによってアクセス可能な前記リアルタイムデータの少なくとも１つのソースは、ビッグデータソースを備え、
前記ビッグデータソースは、複数のソースデータアグリゲータを備え、
前記データソースは、前記多次元キューブへのオンデマンドアクセスを前記複数のソースデータアグリゲータのうちの少なくとも１つに提供する、請求項１５〜請求項１９のいずれか１項に記載の非一時的なコンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権表示
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権保有者は、この特許文献または特許開示が特許商標庁の包袋または記録に掲載されているため、この特許文献または特許開示を誰でも複写複製できることに対して異議はないが、その他の点では全ての如何なる著作権をも保有する。
【０００２】
優先権の主張：
本願は、２０１９年４月３日に出願された出願番号第１６／３７４，４０２号である「多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法（SYSTEM AND METHOD FOR REAL TIME DATA AGGREGATION IN A VIRTUAL CUBE IN A MULTIDIMENSIONAL DATABASE ENVIRONMENT）」と題される米国特許出願、および、２０１８年７月１９日に出願された出願番号第６２／７００，７６２号である「多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法（SYSTEM AND METHOD FOR REAL TIME DATA AGGREGATION IN A VIRTUAL CUBE IN A MULTIDIMENSIONAL DATABASE ENVIRONMENT）」と題される米国仮特許出願に対する優先権を主張し、これらの出願は引用によって本明細書に援用される。
【０００３】
発明の分野：
本発明の実施形態は、一般にデータベースおよびデータウェアハウジングに関し、特に多次元データベース環境における根本原因分析および重要なメトリクスの自動生成のためのシステムおよび方法に関する。
【背景技術】
【０００４】
背景：
多次元データベースコンピューティング環境は、企業が重要なビジネス情報を適切な人々に必要なときに届けることを可能にし、複数の既存のデータソースからのデータを活用および統合し、フィルタリングされた情報をエンドユーザコミュニティに、それらのユーザのニーズに最も適合する形式で配信する能力を含む。ユーザは、リアルタイムで、なじみのあるビジネス次元に沿ってデータと対話して利用することができ、思考スピードアナリティクスが可能になる。これらは、本発明の実施形態を使用することができるタイプの環境のいくつかの例である。
【発明の概要】
【課題を解決するための手段】
【０００５】
概要：
ある実施形態に従うと、ある実施形態に係る多次元データベースにおける仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法が本明細書に記載されている。方法は、１つまたは複数のマイクロプロセッサを含むコンピュータにおいて、上記コンピュータ上で実行される多次元データベースサーバを提供することができ、上記多次元データベースサーバは、少なくとも１つの多次元キューブをサポートし、上記方法はさらに、１つまたは複数のマイクロプロセッサを含むコンピュータにおいて、上記多次元キューブに関連付けられたデータソースを提供することができる。上記方法は、上記多次元キューブによって、上記データソースに対してクエリを行うことができ、上記クエリは、上記データソースにアクセス可能なリアルタイムデータの少なくとも１つのソースの識別情報を備える。上記方法は、上記データソースによって、上記多次元キューブへのオンデマンドアクセスを上記リアルタイムデータの少なくとも１つのソースに提供することができる。上記方法は、上記多次元キューブ内の上記リアルタイムデータの少なくとも１つのソースからの対象データを、内部に格納することなく使用することができる。
【図面の簡単な説明】
【０００６】
【図１】ある実施形態に係る、多次元データベース環境の一例を示す図である。
【図２】ある実施形態に係る、例示的な多次元データベース環境を示す図である。
【図３】ある実施形態に係る、動的計算のための例示的な実施形態を示す図である。
【図４】ある実施形態に係る、多次元データベース環境における外部データに対する動的計算を示す図である。
【図５】ある実施形態に係る、多次元データベース環境における外部データに対する動的計算を示す図である。
【図６】ある実施形態に係る、動的計算連続体を示す図である。
【図７】ある実施形態に係る、仮想キューブでのリアルタイムデータ集約のためのシステムを示す図である。
【図８】ある実施形態に係る、仮想キューブでのリアルタイムデータ集約のためのシステムを示す図である。
【図９】多次元データベースにおける仮想キューブでのリアルタイムデータ集約のための方法のフローチャートである。
【発明を実施するための形態】
【０００７】
詳細な説明：
上記は、他の特徴とともに、同封の明細書、特許請求の範囲および図面を参照すると明らかになるであろう。具体的詳細は、さまざまな実施形態を理解できるようにするために記載されている。しかし、これらの具体的詳細がなくてもさまざまな実施形態を実施できることは明らかであろう。同封の明細書および図面は、限定的であるよう意図されてはいない。
【０００８】
多次元データベース環境は、その一例がＯｒａｃｌｅ  Ｅｓｓｂａｓｅを含んでいるのだが、この多次元データベース環境を使用して、場合によっては複数のデータソースからの大量のデータを統合して、フィルタリングされた情報をエンドユーザに、それらのユーザの特定の要求に応えるような態様で配信することができる。
【０００９】
図１は、ある実施形態に係る、多次元データベース環境１００の一例を示す図である。
図１に示されるように、ある実施形態に従うと、データベース層として動作する多次元データベース環境は、１つまたは複数の多次元データベースサーバシステム１０２を含み得て、１つまたは複数の多次元データベースサーバシステム１０２の各々は、物理コンピュータリソースまたはコンポーネント１０４（たとえば、マイクロプロセッサ／ＣＰＵ、物理メモリ、ネットワークコンポーネント）と、オペレーティングシステム１０６と、１つまたは複数の多次元データベースサーバ１１０（たとえば、Ｅｓｓｂａｓｅサーバ）とを含み得る。
【００１０】
ある実施形態に従うと、中間層１２０は、たとえばプロバイダサービス１２２（たとえば、ハイペリオンプロバイダサービス）、管理サービス１２４（たとえば、Ｅｓｓｂａｓｅ管理サービス）またはスタジオ／統合サービス１２６（たとえば、Ｅｓｓｂａｓｅスタジオ／Ｅｓｓｂａｓｅ統合サービス）などの１つまたは複数のサービスを含み得る。中間層は、多次元データベース環境とともに使用するために、ＯＤＢＣ／ＪＤＢＣ１２７，１２８または他のタイプのインターフェイスを介して、メタデータカタログ１２９および／または１つまたは複数のデータソース１３０（たとえば、リレーショナルデータベース）へのアクセスを提供することができる。
【００１１】
ある実施形態に従うと、１つまたは複数のデータソースは、多次元データベースの提供に使用するために、ＯＤＢＣ／ＪＤＢＣ１３２または他のタイプのインターフェイスを介して、１つまたは複数の多次元データベースサーバによってアクセス可能でもある。
【００１２】
ある実施形態に従うと、クライアント層１４０は、多次元データベース（たとえば、スマートビュー、スプレッドシートアドイン、スマートサーチ、管理サービス、ＭａｘＬ、ＸＭＬＡ、ＣＡＰＩまたはＶＢ  ＡＰＩアプリケーション、オラクル・ビジネス・インテリジェンス・エンタープライズ・エディション・プラス、または他のタイプの多次元データベースクライアントなど）へのアクセスを可能にする１つまたは複数の多次元データベースクライアント１４２（たとえば、Ｅｓｓｂａｓｅサーバクライアント）を含み得る。クライアント層は、たとえば管理サービスコンソール１４４またはスタジオ／統合サービスコンソール１４６などの、中間層におけるサービスとともに使用するためのコンソールも含み得る。
【００１３】
ある実施形態に従うと、クライアント層と中間層とデータベース層との間の通信は、ＴＣＰ／ＩＰ、ＨＴＴＰまたは他のタイプのネットワーク通信プロトコルのうちの１つ以上によって提供することができる。
【００１４】
ある実施形態に従うと、多次元データベースサーバは、１つまたは複数のデータソースからのデータを統合して、多次元データベース、データ構造またはキューブ１５０を提供することができ、次いで、多次元データベース、データ構造またはキューブ１５０にアクセスして、フィルタリングされた情報をエンドユーザに提供することができる。
【００１５】
一般に、多次元データベースにおける各データ値は、キューブの１つのセルに格納され、特定のデータ値は、その座標をキューブの次元に沿って指定することによって参照可能である。１つの次元からのメンバの、１つまたは複数の他の次元の各々からのメンバとの交点がデータ値を表す。
【００１６】
たとえば、売上げ志向型ビジネスアプリケーションで使用され得るキューブ１６２を示す図１に示されるように、クエリが「売上高」を示す場合、システムは、このクエリを、全ての「売上高」データ値を含むデータベース内のデータ値１６４のスライスまたは層として解釈することができ、「売上高」は、「実際」および「予算」と交差している。多次元データベースにおける特定のデータ値１６６を参照するために、クエリは、たとえば「売上高、実際、１月」を指定することによって各次元上のメンバを指定することができる。データベースをさまざまにスライスすることによって、データのさまざまな観点が提供される。たとえば、「２月」のデータ値のスライス１６８は、時間／年次元が「２月」に固定されたそれらのデータ値の全てを検討する。
【００１７】
データベースアウトライン
ある実施形態に従うと、多次元データベースの開発は、データベースアウトラインの作成から始まり、このデータベースアウトラインは、データベース内のメンバ間の構造的関係を定義し、データベース内のデータを編成し、連結および数学的関係を定義する。データベースアウトラインの階層木またはデータ構造内に、各次元は、１つまたは複数のメンバを備え、これらの１つまたは複数のメンバは、他のメンバをさらに備えていてもよい。次元の仕様は、その個々のメンバの値をどのように連結するかをシステムに指示する。連結は、木のブランチの中の一群のメンバである。
【００１８】
次元およびメンバ
ある実施形態に従うと、次元は、データベースアウトラインにおける最も高い連結レベルを表す。部門機能（たとえば、時間、勘定、製品ライン、市場、事業部）に関連するビジネスプランの構成要素を表すために標準次元が選択されてもよい。標準次元に関連付けられる属性次元は、ユーザがメンバ属性または特徴に基づいて標準次元のメンバをグループ化して分析することを可能にする。メンバ（たとえば、製品Ａ、製品Ｂ、製品Ｃ）は、次元の個々の構成要素である。
【００１９】
次元およびメンバ関係
ある実施形態に従うと、多次元データベースは、家族に関する用語（親、子、兄弟、子孫および先祖）および階層に関する用語（世代およびレベル、ルートおよびリーフ）を使用して、データベースアウトライン内のメンバの役割および関係を説明する。
【００２０】
ある実施形態に従うと、親は、その下にブランチを有するメンバである。たとえば、「利幅」は、「売上高」および「売上原価」（ＣＯＧＳ）の親であってもよい。子は、その上に親を有するメンバである。上記の例では、「売上高」および「売上原価」が、親である「利幅」の子である。兄弟は、同一世代内の同一の直接の親の子である。
【００２１】
ある実施形態に従うと、子孫は、親の下のブランチの中のメンバである。たとえば、「利益」、「在庫」および「比率」は、尺度の子孫であってもよく、この場合、「利益」、「在庫」および「比率」の子も尺度の子孫である。先祖は、メンバの上のブランチの中のメンバである。上記の例では、「利幅」、「利益」および尺度が「売上高」の先祖であってもよい。
【００２２】
ある実施形態に従うと、ルートは、ブランチの中の最上位のメンバである。たとえば、尺度は、「利益」、「在庫」および「比率」のルートであってもよく、したがって、「利益」、「在庫」および「比率」の子のルートであってもよい。リーフ（レベル０）メンバは、子を持たない。たとえば、期首「在庫」、追加および期末「在庫」がリーフメンバであってもよい。
【００２３】
ある実施形態に従うと、世代とは、次元内の連結レベルのことをいう。木のルートブランチは、「世代１」であると考えられ、世代番号は、ルートからリーフメンバに向かって大きくなっていく。レベルとは、次元内のブランチのことをいい、世代で使用された番号順序とは逆に番号付けられ、レベル番号は、リーフメンバからそのルートに向かって小さくなっていく。
【００２４】
ある実施形態に従うと、ユーザは、世代またはレベルに名前を割り当てて、その名前をその世代またはレベル内の全てのメンバの省略表現として使用することができる。
【００２５】
疎および密な次元
多次元データベース内のデータセットは、多くの場合、２つの特徴を共有する。すなわち、データがスムーズかつ均一に配信されないこと、および、メンバの組み合わせの大部分についてはデータが存在しないことである。
【００２６】
ある実施形態に従うと、これに対処するために、システムは、２つのタイプの標準次元、すなわち疎な次元および密な次元を認識することができる。疎な次元は、利用可能なデータ位置が埋められる割合が比較的低い次元であり、密な次元は、次元のあらゆる組み合わせにおいて１つまたは複数のセルが占められる確率が比較的高い次元である。多くの多次元データベースは、メンバの組み合わせの大部分についてデータ値を欠いているという点において、元来疎である。
【００２７】
データブロックおよびインデックスシステム
ある実施形態に従うと、多次元データベースは、データブロックおよびインデックスを使用して、データを格納してデータにアクセスする。このシステムは、疎な標準次元のメンバの固有の各組み合わせについて多次元アレイまたはデータブロックを作成することができ、各データブロックは、その疎な次元のメンバの組み合わせのための密な次元のメンバを表す。各データブロックについてインデックスが作成され、このインデックスは、疎な標準次元のメンバの組み合わせを表し、少なくとも１つのデータ値が存在する疎な標準次元のメンバの固有の各組み合わせについて入力またはポインタを含む。
【００２８】
ある実施形態に従うと、多次元データベースサーバは、データ値を検索する際、インデックスによって提供されるポインタを使用して、適切なデータブロックを突き止め、そのデータブロック内でデータ値を含むセルを突き止めることができる。
【００２９】
管理サービス
ある実施形態に従うと、管理サービス（たとえば、Ｅｓｓｂａｓｅ管理サービス）は、ユーザがサーバ、アプリケーションおよびデータベースを設計、開発、維持および管理することを可能にする単一アクセスポイントを提供する。
【００３０】
スタジオ
ある実施形態に従うと、スタジオ（たとえば、Ｅｓｓｂａｓｅスタジオ）は、データモデル化、キューブ設計および分析アプリケーション構築に関連するタスクを実行するためのウィザード方式のユーザインターフェイスを提供する。
【００３１】
スプレッドシートアドイン
ある実施形態に従うと、スプレッドシートアドインは、多次元データベースをスプレッドシートと統合して、接続、ピボット、ドリルダウンおよび計算などの高度なコマンドをサポートする。
【００３２】
統合サービス
ある実施形態に従うと、統合サービス（たとえば、Ｅｓｓｂａｓｅ統合サービス）は、多次元データベースに格納されたデータとリレーショナルデータベースに格納されたデータとの間の統合に使用するためのメタデータ方式の環境を提供する。
【００３３】
プロバイダサービス
ある実施形態に従うと、プロバイダサービス（たとえば、ハイペリオンプロバイダサービス）は、Ｊａｖａ（登録商標）ＡＰＩ、スマートビューおよびＸＭＬＡクライアントのためのデータソースプロバイダとして動作する。
【００３４】
スマートビュー
ある実施形態に従うと、スマートビューは、たとえばハイペリオン・フィナンシャル・マネジメント（Hyperion Financial Management）、ハイペリオン・プランニング（Hyperion Planning）およびハイペリオン・エンタープライズ・パフォーマンス・マネジメント・ワークスペース（Hyperion Enterprise Performance Management Workspace）データのための共通のインターフェイスを提供する。
【００３５】
開発者製品
ある実施形態に従うと、開発者製品は、カスタマイズされた企業分析アプリケーションの迅速な作成、管理およびデプロイを可能にする。
【００３６】
ライフサイクル管理
ある実施形態に従うと、ライフサイクル管理（たとえば、ハイペリオン・エンタープライズ・パフォーマンス・マネジメント・システム・ライフサイクル・マネジメント（Hyperion Enterprise Performance Management System Lifecycle Management））は、企業パフォーマンス管理製品がアプリケーション、リポジトリまたは個々の人工物を製品環境全体にわたって移動させることを可能にするための手段を提供する。
【００３７】
ＯＬＡＰ
ある実施形態に従うと、オンライン分析処理（ＯＬＡＰ）は、ユーザが企業データを分析することを可能にする環境を提供する。たとえば、財務部門は、予算編成、活動基準原価計算、財務成績分析および財務モデリングなどのアプリケーションにＯＬＡＰを使用して、「ジャストインタイム」の情報を提供することができる。
【００３８】
ある実施形態に従うと、ＯＬＡＰシステムは、複数の次元においてデータを編成することができ、データセットの検索者／ユーザがさまざまな次元を横断する有向検索を行って最終的に対象の結果に到達することを可能にする。ＯＬＡＰシステムは、データを次元の交点にあるものと見なすことができる。言い換えれば、ＯＬＡＰシステムの根底にあるデータは、全ての次元のクロス積の具体例である多次元データベースとして編成されて格納されることができる。これにより、ユーザ／検索者は、アドホックな態様で対象の次元に沿って詳細の階層を横断して、特定の対象データに到達することができる。緩やかに変化するデータは、現在のデータセット内のメタデータとして表すことができる。
【００３９】
仮想キューブでのリアルタイムデータ集約
ある実施形態に従うと、従来のシステムでは、多次元データベースキューブの利点のうちの１つは、基になる全てのデータ（たとえば、ソースデータ）が多次元データベースにロードされるというものであった。これにより、多次元データベースが各々の要求された分析についてデータを取り出さなくてもよいので分析の高速化が可能になり、また、データが多次元データベースの箇所でロードされるので計算が高速化された。しかし、ビッグデータの傾向が続いているので、全てのソースデータを多次元データベースにロードすることが厄介になり、状況によっては、パフォーマンスの低下につながる場合もある。リアルタイムデータ集約をサポートすることによって、多次元データベースは、全てが同一のリレーショナルデータベース（たとえば、ソースデータ）を参照する（分散された）複数のキューブを有することができる能力を有する。ロードされたソースからデータを取り出す代わりに、多次元データベースは、ソースデータ位置または複数のソースデータ位置を照会して、リアルタイムでデータを集約することができる。
【００４０】
図２は、ある実施形態に係る、例示的な多次元データベース環境を示す図である。
ある実施形態に従うと、多次元データベースサーバ２００内には１つまたは複数のデータベースキューブ２１０があり得る。これらのキューブの各々から、１つまたは複数のパーティション２１１を生成することができる。パーティションを使用して、複数のキューブにわたるデータへのユーザ２２０のアクセスを簡略化することができる。パーティションは、ユーザおよび管理者が、複製パーティション化スキーム、透過性パーティション化スキームまたはリンクパーティション化スキームを使用して、分析のためにデータおよびメタデータの特定のサブセットを選択することを可能にする。
【００４１】
ある実施形態に従うと、キューブ２１０には、別のキューブ２０２、データベース２０３、データ２０４（たとえば、カンマ区切り可変シートの形態）および／またはスプレッドシート２０５などの、いくつかの外部データソースからのデータを格納することができる。（特定の外部データソースのみが図に示されているが、さらなるおよびさまざまな他のデータソースにアクセスして、キューブ２１０にロードすることができるということを当業者は認識するであろう。）しかし、従来のシステムでは、全ての外部データは、別のキューブ２０２からのものであろうと、データベース２０３からのものであろうと、ＣＳＶファイル２０４からのものであろうと、スプレッドシート２０５からのものであろうと、まずキューブ２１０にロードされなければならない。
【００４２】
ある実施形態に従うと、ソースデータが比較的小さい従来のシステムでは、多次元データベースサーバへのソースデータのロードは、これがデータ集約も計算も可能にするので、多次元データベース環境の強みであると考えることができる。計算および集約は、多次元データベース環境内にあるデータに対して行われる。このデータは、それ自体のリポジトリにおいてロードされ、集約され、計算される。
【００４３】
図３は、ある実施形態に係る、動的計算のための例示的な実施形態を示す図である。
ある実施形態に従うと、図３は、多次元データベース環境を利用した場合に得られるさらなる利点を示している。これは、動的計算と集約とを混成させるという考え方である。
【００４４】
ある実施形態に従うと、動的計算３００は、いくつかのロードされた値を備え、データベースのサイズを小さくすることができる。動的計算において、ロードされた値Ａ  ３０１，Ｂ  ３０２，Ｃ  ３０３，Ｄ  ３０４およびＥ  ３０５（外部ソース３２０（または、２つ以上の外部ソース）から、動的計算３００をホストしている多次元データベースにロードされる）をリアルタイムで動的計算に使用することができる。これは、ロードされて格納された値の上でメトリクスを計算することができるリアルタイムの能力をユーザに提供する。これらのメトリクスは、たとえばＦ  ３０６，Ｇ  ３０７，Ｈ  ３０８，Ｉ  ３０９およびＪ  ３１０を備え得る。しかし、計算は、格納された値（すなわち、既に外部ソースからロードされてキューブに格納された値）の上で行われる。さらに、これらのメトリクスは、多次元データベース内に格納することができ、多次元データベースのフットプリントをさらに増加させる。
【００４５】
ある実施形態に従うと、次いで、動的計算３００に示されるような依存関係分析に基づいて、キューブにロードされたデータのサイズを小さくすることができる。このように、キューブにロードされるかまたはユーザによって供給される必要があるデータ次元の数が少なくなるので、キューブ内に格納されるデータが少なくなる。
【００４６】
ある実施形態に従うと、ロードされた値に対する動的計算は、データベースのサイズを小さくすることができる。また、それは、ロードされて格納された値の上でメトリクスを計算することができるリアルタイムの能力を提供する。しかし、多次元データベースにロードされて格納された値（たとえば、リーフ値）の上で計算が行われるので、データベースの全体サイズは依然としてかなり大きいであろう。なぜなら、外部ソースからの全ての値がロードされて格納され、これらの値の上で動的計算が実行される（しかし、それら自体は格納されない）からである。
【００４７】
図４は、ある実施形態に係る、多次元データベース環境における外部データに対する動的計算を示す図である。
【００４８】
ある実施形態に従うと、動的計算４００は、図３に示されるような格納された値に依拠する代わりに、（ＳＱＬデータベースインターフェイスなどのデータベースインターフェイスを介して）外部ソース４２０（または、他の記憶場所タイプ）に及ぶことができ、外部ソース４２０には、値Ａ  ４０１，Ｂ  ４０２，Ｃ  ４０３，Ｄ  ４０４およびＥ  ４０５が位置しており、オンデマンドで（動的に）それらが引っ張り出される。このようなフェッチ動作は、たとえば動的計算メトリクスが実行される場合に起こり得る。たとえば、メトリクスＦ  ４０６の実行が望まれるまたは呼び出される場合、システムおよび方法は、外部ソース４２０から値Ａ  ４０１およびＢ  ４０２をオンデマンドでフェッチすることができ、次いでこれらの値Ａ  ４０１およびＢ  ４０２をメトリクスＦの判断に使用し、このメトリクスＦを動的計算４００内で使用することができる。しかし、ＡおよびＢの値は、格納されず、その代わりに使用後に廃棄されるため、多次元データベースサーバ環境において動的計算が利用するストレージフットプリントを最小化する。
【００４９】
ある実施形態に従うと、外部ソース４２０から引っ張り出される値は、ユーザクエリまたはキューブ（動的計算の位置）からのクエリに基づいて判断される。このように、要求された／対象のデータのみがアクセスされ、当該外部ソースにあり得る他のデータは、そのソースにおけるそのデータに依拠する呼び出しまたは要求がなされるまで無視される（たとえば、ロードされない）。
【００５０】
ある実施形態に従うと、このようにして、キューブ内の全ての値が動的に計算されて、全てのデータがデータソースから直接引っ張り出される場合、キューブはゼロフットプリントを有する。すなわち、全てのデータは、リアルタイムでテーブルから直接やって来て、いかなる動的計算も、ロードおよび格納されないこれらの値の上で行われる。このようなシステムおよび方法は、ゼロフットプリントを有する（値がロードおよび格納されない）ことに加えて、高可用性ならびにゼロダウンタイムバックアップおよびパッチングのメリットも提供する。
【００５１】
ある実施形態に従うと、値が外部ソースからフェッチされる場合、これらの値は、多次元データベースサーバにおいて格納またはキャッシュされない。その代わりに、これらの値は、キューブにおいて直接（たとえば、動的計算に）使用される。
【００５２】
他の実施形態に従うと、システムおよび方法は、外部ソースからフェッチされた値のキャッシングをサポートすることができる。これは、たとえば一定の時間間隔で行うことができる。このような状況では、一例として、リアルタイムでフェッチされたデータは、多次元データベース環境においてキャッシュされたデータに、構成された時間間隔で保存／上書きされることができる。これは、たとえばキャッシュされたバックアップを有することが望ましい場合または履歴傾向を見ることが望ましい場合に行うことができる。このような状況では、依然として、多次元データベースキューブがゼロフットプリントを有していると言うことができる。なぜなら、多次元データベースキューブがクラッシュするかまたは壊れた場合に、全てのキャッシュされたデータをパージすることができ、新たな多次元データベースキューブは、以前の多次元データベースキューブを参照することなく新たなキャッシュを開始させるように構成され得るからである。
【００５３】
図５は、ある実施形態に係る、多次元データベース環境における外部データに対する動的計算を示す図である。
【００５４】
ある実施形態に従うと、動的計算５００は、図３に示されるような格納された値のみに依拠する代わりに、および外部ソース５２０からの値のフェッチのみに依拠する代わりに、ハイブリッドアプローチを利用することができ、このハイブリッドアプローチでは、値Ｃ  ５０３およびＥ  ５０５などの頻繁に使用される値はロードされる一方、Ａ  ５０１，Ｂ  ５０２およびＤ  ５０４などのそれほど頻繁に使用されない他の値は、外部ソースにとどまって、外部ソース５２０（または、他の記憶場所タイプ）におけるフェッチ動作を介して（たとえば、ＳＱＬデータベースインターフェイスなどのデータベースインターフェイスを介して）到達される。このハイブリッドアプローチにより、特定の値をロードする一方で他の値をオンデマンドで（動的に）外部ソースから引っ張り出すことができる。このようなフェッチ動作は、たとえば動的計算メトリクスが実行される場合に起こり得る。たとえば、メトリクスＧ  ５０７の実行が望まれるまたは呼び出される場合、システムおよび方法は、外部ソースから値Ｄ  ５０４をオンデマンドでフェッチして、ローカルストレージからの値Ｅ  ５０５をメトリクスＧの判断に使用されるように利用することができ、このメトリクスＧを動的計算５００内で使用することができる。しかし、Ｄの値は、格納されず、その代わりに使用後に廃棄されるため、多次元データベースサーバ環境において動的計算が利用するストレージフットプリントを減少させる。
【００５５】
ある実施形態に従うと、外部ソース５２０から引っ張り出される値は、ユーザクエリまたはキューブ（動的算出の位置）からのクエリに基づいて判断される。このように、要求された／対象のデータのみがアクセスされ、当該外部ソースにあり得る他のデータは、そのソースにおけるそのデータに依拠する呼び出しまたは要求がなされるまで無視される（たとえば、ロードされない）。
【００５６】
ある実施形態に従うと、このようにして、キューブ内の全ての値が動的に計算され、いくつかの値は格納され、いくつかはデータソースから直接引っ張り出される場合、キューブは、全てのデータが格納されていた場合よりも小さいフットプリントを有する。また、どの値がロードされて格納されるかおよびどの値がソースに保持されているだけであるかをアクティブにおよび自動的に選択することによって、多次元データベースのパフォーマンスを向上させることができ、これは、ロードおよび格納されないそれらの値のサイズを小さくし、またロードされて格納されたそれらの値について同一のパフォーマンスレベルを保持することによって可能である。
【００５７】
図６は、ある実施形態に係る、動的計算連続体を示す図である。
ある実施形態に従うと、動的計算連続体６００内では、一方の側（左側）に、全てのデータが多次元データベースキューブ内にロードされて格納されるキューブが存在する。これは、データが比較的小さく、頻繁な変更または更新を受けない（たとえば、ユーザが１日１回それらのデータをリフレッシュする必要がある）場合に望ましい。連続体の他方の側（右端側）には、全てのデータが外部からロードされたリーフデータであるキューブが存在する。これらの状況は、大量のリーフデータがある組織において、またはソースデータが１日に複数回変化するかまたは絶えずリフレッシュされる場合（たとえば、ユーザが通貨データなどの動的に変更されるデータの影響を見る必要がある場合）に望ましい。
【００５８】
ある実施形態に従うと、全てのデータが外部からロードされる場合には、多次元データベースキューブは、ディザスタリカバリについて心配しなくてもよい。キューブがクラッシュして全ての動的計算を失っても、外部データソースは影響を受けず、キューブは、外部データソースから引っ張り出された値で再開することができる。
【００５９】
ある実施形態に従うと、これら２つの極端な場合の組み合わせが存在する。たとえば、ユーザは、構成可能な期間ごとに、キューブが外部ソースからデータに到達して引っ張り出して、このデータをキャッシュすることを要求することができる。しかし、データはキャッシュされる（および、使用後に捨てられる）ため、値が格納されないので、データキューブのフットプリントは依然として最小化される。
【００６０】
図７は、ある実施形態に係る、仮想キューブでのリアルタイムデータ集約のためのシステムを示す図である。
【００６１】
ある実施形態に従うと、多次元データベースサーバ７０７（たとえば、Ｅｓｓｂａｓｅサーバ）。多次元データベースサーバ７０７は、ドリルスルー７０３、データおよび次元ロード７０４、セキュリティフィルタ７０５およびパーティション７０６などのいくつかのサービスを提供する。このようなサービスは、データソース７０２に対して提供されることができ、データソース７０２は、接続７０１に基づく／接続７０１の上にデプロイされた抽象テーブル表現であり得る。
【００６２】
ある実施形態に従うと、たとえば、接続７０１は、外部データソース（たとえば、ＣＳＶファイル７１０、データベース７１１（たとえば、クラウドもしくはオンプレミス）、ビジネスインテリジェンスもしくはデータ視覚化ソース７１２、別の多次元データベースキューブ７１３（たとえば、Ｅｓｓｂａｓｅ）、ＳＱＬデータベース７１４、ＨＩＶＥ７１５、または他のデータベース（ＳＱＬサーバ、ＤＢ２、Ｔｅｒａｄａｔａなど）７１６）に合わせて定義されることができる。この接続は、たとえば、Ｅｓｓｂａｓｅ接続、ファイル接続、ＪＤＢＣ接続、物理的接続、または、選択された外部データソースと連携して通信することができる他の任意のタイプの接続を備え得る。この接続の上にデータソース７０２を定義することができる。このデータソースは、たとえば、選択された外部データソースに基づくデータ構造を備え得る。たとえば、エクセルシートが、選択された外部データソースである場合、ファイル接続の上に、データソースは、エクセルシートのいくつかの列、行、タブおよびパラメータを備えるデータ構造を定義することができる。そして、これは、多次元データベースサーバがこれらのサービスを介して作用し得るデータソースを定義する。同様に、１つの接続に対して複数のデータソースを定義することもできる。
【００６３】
ある実施形態に従うと、多次元データベースサーバは、次いで、たとえばデータソースに対してパーティションサービスを利用することができ、パーティションサービスは、上記のように、ユーザおよび管理者が、複製パーティション化スキーム、透過性パーティション化スキームまたはリンクパーティション化スキームを使用して、分析のためにデータおよびメタデータの特定のサブセットをデータソースから選択することを可能にし得る。
【００６４】
ある実施形態に従うと、多次元データベースサーバは、たとえばデータ次元およびロードサービスを利用して、選択されたデータを多次元データベースサーバにロードすることもできる（たとえば、上記の図３に図示）。
【００６５】
ある実施形態に従うと、多次元データベースサーバは、たとえばドリルスルーサービスを利用して、多次元データベースサーバのフットプリントを最小化するように、選択されたデータをリアルタイムで動的にフェッチすることもできる（たとえば、上記の図４に図示）。
【００６６】
ある実施形態に従うと、多次元データベースサーバは、複数のサービスを互いに連携して利用することもできる。たとえば、多次元データベースサーバは、１つのデータソースに対してパーティションサービスならびにデータ次元およびロードサービスおよびドリルスルーサービスを利用することができる。これにより、たとえば一部のデータをロードして格納し、他のデータを動的にフェッチすることができ、それらのデータについてのみ、構成されたパーティションに次元を適用可能である。
【００６７】
ある実施形態に従うと、接続は、任意の数の外部データソース（ＣＳＶファイル７１０、データベース７１１（たとえば、クラウドもしくはオンプレミス）、ビジネスインテリジェンスもしくはデータ視覚化ソース７１２、別の多次元データベースキューブ７１３（たとえば、Ｅｓｓｂａｓｅ）、ＳＱＬデータベース７１４、ＨＩＶＥ７１５、または他のデータベース（ＳＱＬサーバ、ＤＢ２、Ｔｅｒａｄａｔａなど）７１６など）であり得る。
【００６８】
ある実施形態に従うと、このようにして、これは、キューブ７０７が接続に対して直接的にデータソースをドリルスルーすることを可能にし、これは、任意の数のデータリポジトリであり得る。次いで、要求された／対象のデータをリアルタイムでキューブ７０７に引き込むことができ、次いで、キューブ７０７は、リアルタイムデータをキューブ７０７内に格納することなく、データを動的計算に使用することができる。
【００６９】
ビッグデータの上の仮想キューブでのリアルタイムデータ集約
ある実施形態に従うと、ますます多くの外部データが「ビッグデータ」（たとえば、ペタバイトの情報）の文脈においてコンパイルされている。ビッグデータクラスタの上の仮想キューブでリアルタイムデータ集約を行うために、ソース集約エージェントがビッグデータクラスタ内にデプロイされることができる。次いで、ビッグデータクラスタ内のそれらの集約クライアントについて、リアルタイムのパーティション化された多次元データベースキューブを開始することができる（たとえば、集約エージェント当たり１つのキューブ、複数の集約クライアントのための１つのキューブ、または１つの集約クライアントのための複数のキューブであり、全てシステムの要件に依存する）。
【００７０】
ある実施形態に従うと、次いで、リアルタイムのパーティション化された多次元データベースキューブの上に透過性パーティションが存在し得る。これにより、クエリを分散させることによるスケーリング、ソース集約、動的計算、およびソースデータへのリアルタイムアクセスが可能になる（すなわち、ソースデータをロードおよび格納しない）。
【００７１】
図８は、ある実施形態に係る、仮想キューブでのリアルタイムデータ集約のためのシステムを示す図である。
【００７２】
ある実施形態に従うと、ソース集約エージェント（図示せず）は、ビッグデータクラスタ８２０内にデプロイされることができる。ソース集約クライアントは、たとえばソースデータのサイズを（たとえば、ペタバイトからテラバイトまたはギガバイトに）指数関数的に小さくすることができる。集約されたビッグデータの上での集約のためのリアルタイムのパーティション化された多次元キューブ８１０，８１１，８１２，８１３は、集約エージェントを有するソースデータよりも上のレベルに位置することができ、各々のリアルタイムのパーティション化された多次元キューブは、データのサイズをさらに減少させ、各キューブは、ビッグデータソースまたはソース集約エージェントのうちの１つまたは複数のソース集約エージェントのいずれかからデータを動的にフェッチすることを担当する。１つまたは複数の透過性パーティション８００は、リアルタイムキューブ８１０，８１１，８１２，８１３の上に位置することができる。このように、システムおよび方法は、クエリを分散させることによるスケーリング、ソース集約、動的計算、およびソースデータへのリアルタイムアクセスを実現することができる。
【００７３】
ある実施形態に従うと、ソース集約エージェントを有するデータレイクは、ビッグデータセットのサイズを非常に小さくすることができる。そして、リアルタイムのパーティション化された多次元データベースキューブ８１０，８１１，８１２および８１３は、集約されたデータの上に位置し、（上記のように）リアルタイムでデータにアクセスし、データをより管理可能なサイズにさらに小さくすることができる。これらのパーティション化された多次元データベースキューブの各々は、地理的属性などの１つまたは複数の属性に関連付けられることができる。たとえば、アグリゲータを有するビッグデータセットが世界各地からのデータを備え得る場合、各キューブ８１０，８１１，８１２，８１３は、たとえば、その割り当てられた地理的範囲（たとえば、北アメリカ、南アメリカ、アフリカ、ヨーロッパなど）に関連付けられたデータのみを動的にフェッチすることができる。
【００７４】
ある実施形態に従うと、パーティション化されたキューブ８１０，８１１，８１２，８１３においてデータがキャッシュ／計算されると、上記のように、別のパーティション化された多次元データベースキューブ（たとえば、透過性パーティション）８００は、パーティション化されたキューブ８１０，８１１，８１２，８１３からのデータにリアルタイムでアクセスすることができる。
【００７５】
ある実施形態に従うと、このようにして、ビッグデータソースからのデータは、キューブ７００に動的に引き込まれることができ、キューブ７００では、ユーザは、はるかに効率的な態様で所望の計算を処理して実行することができる。
【００７６】
ある実施形態に従うと、仮想キューブでのリアルタイムデータ集約から生じるいくつかの利点がある。たとえば、このようなシステムおよび方法は、式の中のテーブルデータへのリアルタイムアクセスおよび集約を提供する。その上、ソースデータに対する更新はすぐに実施され、これは、制約付きの実行可能な計画をユーザが実現することを手助けする「揮発性の」データドライバ（たとえば、通貨）をモデル化する際に重要である。
【００７７】
上記のように、ある実施形態では、仮想キューブでのリアルタイムデータ集約は、ゼロフットプリントも提供する。これは、ひいては、バックアップの必要性をなくし、ゼロダウンタイムパッチングも提供する。複数のキューブが同一の表形式データによって駆動され得るので、高可用性も提供される。
【００７８】
ある実施形態に従うと、仮想キューブでのリアルタイムデータ集約は、同一キューブから複数の地理的位置およびデータセンタへのアクティブ−アクティブスケーリングを提供する。これにより、多数のユーザへのスケーリング、このようなユーザに対するレイテンシの減少が可能になる。再構築も高速化される。なぜなら、現在のところ、ほとんど全ての再構築時間がデータリシェイプに費やされているからである。これは、リシェイプすべき格納されたデータがないときにはそれを回避する。その上、上記の計算連続体により、ユーザは、どのデータ集約および格納モデルがそれらにとって適切であるかを選択することができ、個別化を向上させることができる。
【００７９】
図９は、多次元データベースにおける仮想キューブでのリアルタイムデータ集約のための方法のフローチャートである。
【００８０】
ステップ９１０において、この方法は、１つまたは複数のマイクロプロセッサを含むコンピュータにおいて、コンピュータ上で実行される多次元データベースサーバを提供することができ、多次元データベースサーバは、少なくとも１つの多次元キューブをサポートし、この方法はさらに、１つまたは複数のマイクロプロセッサを含むコンピュータにおいて、多次元キューブに関連付けられたデータソースを提供することができる。
【００８１】
ステップ９２０において、この方法は、多次元キューブによって、データソースに対してクエリを行うことができ、クエリは、データソースにアクセス可能なリアルタイムデータの少なくとも１つのソースの識別情報を備える。
【００８２】
ステップ９３０において、この方法は、多次元キューブによって、データソースに対してクエリを行うことができ、クエリは、データソースにアクセス可能なリアルタイムデータの少なくとも１つのソースの識別情報を備える。
【００８３】
ステップ９４０において、この方法は、多次元キューブによって、データソースに対してクエリを行うことができ、クエリは、データソースにアクセス可能なリアルタイムデータの少なくとも１つのソースの識別情報を備える。
【００８４】
本発明のさまざまな実施形態について上記したが、それらは限定ではなく例として提示されているということが理解されるべきである。これらの実施形態は、本発明の原理およびその実際的用途を説明するために選択されて説明された。これらの実施形態は、本発明が利用されるシステムおよび方法を示しており、新たなおよび／または改良された特徴を提供することによって、および／または、リソース利用の減少、容量の増加、効率の向上およびレイテンシの減少などのメリットを提供することによってシステムおよび方法のパフォーマンスを向上させる。
【００８５】
いくつかの実施形態では、本発明の特徴は、全体または一部が、プロセッサと、メモリなどの記憶媒体と、他のコンピュータと通信するためのネットワークカードとを含むコンピュータにおいて実現される。いくつかの実施形態では、本発明の特徴は、コンピュータの１つまたは複数のクラスタが、ローカルエリアネットワーク（ＬＡＮ）、スイッチファブリックネットワーク（たとえば、インフィニバンド）またはワイドエリアネットワーク（ＷＡＮ）などのネットワークによって接続される分散コンピューティング環境において実現される。分散コンピューティング環境は、単一の位置に全てのコンピュータを有していてもよく、またはＷＡＮによって接続されたさまざまな遠隔の地理的位置にコンピュータのクラスタを有していてもよい。
【００８６】
いくつかの実施形態では、本発明の特徴は、全体または一部が、ウェブ技術を使用してセルフサービスの計量の態様でユーザに届けられる共有の融通性のあるリソースに基づいて、クラウドコンピューティングシステムの一部として、またはクラウドコンピューティングシステムのサービスとして、クラウドにおいて実現される。（アメリカ国立標準技術研究所によって定義されるように）クラウドの特徴は５つある。すなわち、オンデマンド・セルフサービス、幅広いネットワークアクセス、リソースの共用、スピーディな拡張性、およびサービスが計測可能であること、である。クラウド実装モデルは、パブリック、プライベートおよびハイブリッドを含む。クラウドサービスモデルは、ソフトウェア・アズ・ア・サービス（ＳａａＳ）、プラットフォーム・アズ・ア・サービス（ＰａａＳ）、データベース・アズ・ア・サービス（ＤＢａａＳ）、およびインフラストラクチャ・アズ・ア・サービス（ＩａａＳ）を含む。本明細書におけるクラウドは、ハードウェアと、ソフトウェアと、ネットワークと、共有の融通性のあるリソースをセルフサービスの計量の態様でユーザに届けるウェブ技術との組み合わせである。本明細書におけるクラウドは、別段の定めがない限り、パブリッククラウドの実施形態、プライベートクラウドの実施形態、ハイブリッドクラウドの実施形態、ならびにクラウドＳａａＳ、クラウドＤＢａａＳ、クラウドＰａａＳおよびクラウドＩａａＳを含むがこれらに限定されない全てのクラウド実装モデルを包含する。
【００８７】
いくつかの実施形態では、本発明の特徴は、ハードウェア、ソフトウェア、ファームウェアもしくはそれらの組み合わせを使用して、またはハードウェア、ソフトウェア、ファームウェアもしくはそれらの組み合わせの助けを借りて、実現される。いくつかの実施形態では、本発明の特徴は、本発明の１つまたは複数の機能を実行するように構成またはプログラムされたプロセッサを使用して実現される。いくつかの実施形態では、プロセッサは、本明細書に記載されている機能を実行するように設計されたシングルチップもしくはマルチチッププロセッサ、デジタル信号プロセッサ（ＤＳＰ）、システムオンチップ（ＳＯＣ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは他のプログラマブルロジックデバイス、ステートマシン、ディスクリートのゲートもしくはトランジスタロジック、ディスクリートのハードウェアコンポーネント、またはそれらの任意の組み合わせである。いくつかの実現例では、本発明の特徴は、所与の機能に特有の回路によって実現されてもよい。他の実現例では、これらの特徴は、たとえばコンピュータ読取可能記憶媒体上に格納された命令を使用して特定の機能を実行するように構成されたプロセッサにおいて実現されてもよい。
【００８８】
いくつかの実施形態では、本発明の特徴は、処理システムおよび／またはネットワーキングシステムのハードウェアを制御するため、ならびに、プロセッサおよび／またはネットワークが本発明の特徴を利用する他のシステムと対話することを可能にするためのソフトウェアおよび／またはファームウェアに組み込まれる。このようなソフトウェアまたはファームウェアは、アプリケーションコード、デバイスドライバ、オペレーティングシステム、仮想マシン、ハイパーバイザ、アプリケーションプログラミングインターフェイス、プログラミング言語および実行環境／コンテナを含み得るが、これらに限定されるものではない。適切なソフトウェアコーディングは、ソフトウェア分野における当業者に明らかであるように、本開示の教示に基づいて熟練のプログラマによって容易に準備することができる。
【００８９】
いくつかの実施形態では、本発明は、命令が格納された記憶媒体またはコンピュータ読取可能媒体であるコンピュータプログラム製品を含み、これらの命令を使用して、本発明のプロセスまたは機能のうちのいずれかを実行するようにコンピュータなどのシステムをプログラムまたはそうでなければ構成することができる。記憶媒体またはコンピュータ読取可能媒体は、フロッピー（登録商標）ディスク、光ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロドライブおよび光磁気ディスクを含む任意のタイプのディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム（分子メモリＩＣを含む）、または、命令および／もしくはデータを格納するのに適した任意のタイプの媒体もしくはデバイスを含み得るが、これらに限定されるものではない。特定の実施形態では、記憶媒体またはコンピュータ読取可能媒体は、非一時的な記憶媒体または非一時的なコンピュータ読取可能媒体である。
【００９０】
したがって、多次元データベースにおける仮想キューブでのリアルタイムデータ集約をサポートするためのシステムおよび方法について１つの観点から説明してきた。ある実施形態に従うと、本明細書に記載されているシステムおよび方法は、多次元データベースにおいてリアルタイムデータ集約をサポートすることができる能力を提供する。多次元データベースは、全てが同一のリレーショナルデータベース（たとえば、ソースデータ）を参照する（分散された）複数のキューブを有することができる能力を有している。ロードされたソースからデータを取り出す代わりに、多次元データベースは、ソースデータ位置または複数のソースデータ位置を照会して、リアルタイムでデータを集約することができる。
【００９１】
上記の説明は、網羅的であるよう意図されたものではなく、本発明を開示されている厳密な形態に限定するよう意図したものでもない。また、特定の一連のトランザクションおよびステップを使用して本発明の実施形態を説明してきたが、本発明の範囲が記載されている一連のトランザクションおよびステップに限定されないということは当業者に明らかであるべきである。さらに、ハードウェアおよびソフトウェアの特定の組み合わせを使用して本発明の実施形態を説明してきたが、ハードウェアおよびソフトウェアの他の組み合わせも本発明の範囲内であるということが認識されるべきである。さらに、さまざまな実施形態は、本発明の特徴の特定の組み合わせを説明しているが、特徴の異なる組み合わせが本発明の範囲内であって１つの実施形態の特徴を別の実施形態に組み込むことができるものとして当業者に明らかであるということが理解されるべきである。さらに、形状、詳細、実現および用途の点でのさまざまな追加、削減、削除、変化、ならびに他の変形および変更が本発明の精神および範囲から逸脱することなく本明細書においてなされてもよいということが当業者に明らかであろう。本発明のより広い精神および範囲は、以下の特許請求の範囲およびそれらの等価物によって定義されるよう意図される。
【図１】
2021531579.tif 000003
【図２】
2021531579.tif 000004
【図３】
2021531579.tif 000005
【図４】
2021531579.tif 000006
【図５】
2021531579.tif 000007
【図６】
2021531579.tif 000008
【図７】
2021531579.tif 000009
【図８】
2021531579.tif 000010
【図９】
2021531579.tif 000011
【手続補正書】
【提出日】令和3年3月25日(2021.3.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
多次元データベースにおける仮想キューブでのリアルタイムデータ集約のためのシステムであって、
１つまたは複数のマイクロプロセッサを含むコンピュータと、
前記コンピュータ上で実行される多次元データベースサーバとを備え、前記多次元データベースサーバは、少なくとも１つの多次元キューブをサポートし、前記システムはさらに、
前記多次元キューブに関連付けられたデータソースと、
前記データソースによってアクセス可能なリアルタイムデータの少なくとも１つのソースとを備え、
前記多次元キューブは、前記データソースに対してクエリを行い、前記クエリは、前記リアルタイムデータの少なくとも１つのソースの識別情報を備え、
前記データソースは、前記多次元キューブへのオンデマンドアクセスを前記リアルタイムデータの少なくとも１つのソースに提供する、システム。
【請求項２】
前記リアルタイムデータの少なくとも１つのソースからの対象データは、前記クエリの実行時に、前記多次元キューブに関連付けられた前記データソースによってフェッチされる、請求項１に記載のシステム。
【請求項３】
前記対象データは、前記データソースによってフェッチされる際に、前記多次元キューブによって１つまたは複数の動的計算に利用される、請求項２に記載のシステム。
【請求項４】
前記１つまたは複数の動的計算は、前記クエリに基づく、請求項３に記載のシステム。
【請求項５】
前記データソースは、１つまたは複数の接続を介して前記リアルタイムデータの少なくとも１つのソースにアクセスする、請求項１〜４のいずれか１項に記載のシステム。
【請求項６】
前記データソースによってアクセス可能な前記リアルタイムデータの少なくとも１つのソースは、ビッグデータソースを備える、請求項１〜５のいずれか１項に記載のシステム。
【請求項７】
前記ビッグデータソースは、複数のソースデータアグリゲータを備え、
前記データソースは、前記多次元キューブへのオンデマンドアクセスを前記複数のソースデータアグリゲータのうちの少なくとも１つに提供する、請求項６に記載のシステム。
【請求項８】
多次元データベースにおける仮想キューブでのリアルタイムデータ集約のための方法であって、
１つまたは複数のマイクロプロセッサを含むコンピュータにおいて、前記コンピュータ上で実行される多次元データベースサーバを提供するステップを備え、前記多次元データベースサーバは、少なくとも１つの多次元キューブをサポートし、前記方法はさらに、
１つまたは複数のマイクロプロセッサを含むコンピュータにおいて、前記多次元キューブに関連付けられたデータソースを提供するステップと、
前記多次元キューブによって、前記データソースに対してクエリを行うステップとを備え、前記クエリは、前記データソースにアクセス可能なリアルタイムデータの少なくとも１つのソースの識別情報を備え、前記方法はさらに、
前記データソースによって、前記多次元キューブへのオンデマンドアクセスを前記リアルタイムデータの少なくとも１つのソースに提供するステップと、
前記多次元キューブ内の前記リアルタイムデータの少なくとも１つのソースからの対象データを、内部に格納することなく使用するステップとを備える、方法。
【請求項９】
前記リアルタイムデータの少なくとも１つのソースからの対象データは、前記クエリの実行時に、前記多次元キューブに関連付けられた前記データソースによってフェッチされる、請求項８に記載の方法。
【請求項１０】
前記対象データは、前記データソースによってフェッチされる際に、前記多次元キューブによって１つまたは複数の動的計算に利用される、請求項９に記載の方法。
【請求項１１】
前記１つまたは複数の動的計算は、前記クエリに基づく、請求項１０に記載の方法。
【請求項１２】
前記データソースは、１つまたは複数の接続を介して前記リアルタイムデータの少なくとも１つのソースにアクセスする、請求項８〜請求項１１のいずれか１項に記載の方法。
【請求項１３】
前記データソースによってアクセス可能な前記リアルタイムデータの少なくとも１つのソースは、ビッグデータソースを備える、請求項８〜請求項１２のいずれか１項に記載の方法。
【請求項１４】
前記ビッグデータソースは、複数のソースデータアグリゲータを備え、
前記データソースは、前記多次元キューブへのオンデマンドアクセスを前記複数のソースデータアグリゲータのうちの少なくとも１つに提供する、請求項１３に記載の方法。
【請求項１５】
請求項８〜１４のいずれかに記載の方法をコンピュータに実行させるためのプログラム。
【国際調査報告】
2021531579.tif 000012
2021531579.tif 000013