IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オラクル・インターナショナル・コーポレイションの特許一覧

特許7454643多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法
<>
  • 特許-多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法 図1
  • 特許-多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法 図2
  • 特許-多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法 図3
  • 特許-多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法 図4
  • 特許-多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法 図5
  • 特許-多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法 図6
  • 特許-多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法 図7
  • 特許-多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法 図8
  • 特許-多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-13
(45)【発行日】2024-03-22
(54)【発明の名称】多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法
(51)【国際特許分類】
   G06F 16/28 20190101AFI20240314BHJP
【FI】
G06F16/28
【請求項の数】 15
【外国語出願】
(21)【出願番号】P 2022206971
(22)【出願日】2022-12-23
(62)【分割の表示】P 2021502778の分割
【原出願日】2019-04-17
(65)【公開番号】P2023040076
(43)【公開日】2023-03-22
【審査請求日】2023-01-10
(31)【優先権主張番号】62/700,762
(32)【優先日】2018-07-19
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/374,402
(32)【優先日】2019-04-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ラマイヤー,クマール
(72)【発明者】
【氏名】ベルヤエフ,ビクター
(72)【発明者】
【氏名】ロイトマン,アレクセイ
(72)【発明者】
【氏名】ライヒマン,ナターシャ
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特表2010-539616(JP,A)
【文献】米国特許出願公開第2017/0116411(US,A1)
【文献】特開2002-108896(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
多次元データベースにおける仮想キューブでのリアルタイムデータ集約のためのシステムであって、
1つまたは複数のマイクロプロセッサを含むコンピュータと、
前記コンピュータ上で実行される多次元データベースサーバと
前記多次元データベースサーバに記憶された多次元データベースと、
前記多次元データベースの複数のリアルタイムデータキューブとを備え、前記複数のリアルタイムデータキューブの各々は、データ属性と関連付けられ、
前記システムはさらに、
前記多次元データベースの透過性パーティションを備え、前記透過性パーティションは、前記複数のリアルタイムデータキューブの上に存在し、
前記システムはさらに、
前記多次元データベースサーバのプロバイダサービスを備え、前記プロバイダサービスは、前記多次元データベースの外部のリアルタイムデータのソースを含むデータベースへの複数の接続を含み、前記リアルタイムデータのソースは、複数のソースデータ集約クライアントを含み、
前記多次元データベースに向けられたクエリに応答して、前記複数のリアルタイムデータキューブの各々は、前記プロバイダサービスに対してクエリを行なうように構成され、前記クエリは、前記多次元データベースの外部の前記リアルタイムデータのソースの識別情報を含み、
前記プロバイダサービスは、前記複数のリアルタイムデータキューブの各々へ、前記多次元データベースの外部の前記リアルタイムデータのソースを含む前記データベースへの前記複数の接続および前記複数のソースデータ集約クライアントを介して、オンデマンドアクセスを提供し、
前記クエリに応答したデータは、前記リアルタイムデータのソースから取り出されて、前記クエリに応答した前記データが前記多次元データベース内に格納されることなく前記多次元データベース内で使用される、システム。
【請求項2】
前記クエリに応答した前記データは、前記クエリの実行時に、前プロバイダサービスによってフェッチされる、請求項1に記載のシステム。
【請求項3】
前記クエリに応答した前記データは、前記プロバイダサービスによってフェッチされる際に、前記多次元データベースによって1つまたは複数の動的計算に利用される、請求項2に記載のシステム。
【請求項4】
前記1つまたは複数の動的計算は、前記クエリに基づく、請求項3に記載のシステム。
【請求項5】
前記透過性パーティションは、前記複数のリアルタイムデータキューブおよび前記多次元データベース内に格納された1つまたは複数のデータキューブの上に存在する、請求項1~4のいずれか1項に記載のシステム。
【請求項6】
前記複数のソースデータ集約クライアントの各々は、前記多次元データベースの前記複数のリアルタイムデータキューブの独立した1つと関連付けられている、請求項1~5のいずれか1項に記載のシステム。
【請求項7】
前記複数のソースデータ集約クライアントは、ビッグプロバイダサービスのビッグデータクラスタの内部に配置される、請求項1~5のいずれか1項に記載のシステム。
【請求項8】
多次元データベースにおける仮想キューブでのリアルタイムデータ集約のための方法であって、
1つまたは複数のマイクロプロセッサを含むコンピュータを提供するステップ
前記コンピュータ上で多次元データベースサーバを動作させるステップと、
前記多次元データベースサーバに多次元データベースを記憶するステップと、
前記多次元データベースサーバ上に前記多次元データベースの複数のリアルタイムデータキューブを作成するステップとを備え、前記複数のリアルタイムデータキューブの各々は、データ属性と関連付けられ、
前記方法はさらに、
前記多次元データベースサーバ上に前記多次元データベースの透過性パーティションを作成するステップを備え、前記透過性パーティションは、前記複数のリアルタイムデータキューブの上に存在し、
前記方法はさらに、
前記多次元データベースサーバのプロバイダサービスを動作させて、前記多次元データベースの外部のリアルタイムデータのソースを含むデータベースへの複数の接続を提供するステップを備え、前記リアルタイムデータのソースは、複数のソースデータ集約クライアントを含み、
前記方法はさらに、
前記多次元データベースに向けられたクエリを受けるステップと、
前記複数のリアルタイムデータキューブ、前記プロバイダサービスに対してクエリを行なうステップとを備え、前記クエリは、前記多次元データベースの外部の前記リアルタイムデータのソースの識別情報を含み
前記方法はさらに、
前記複数のリアルタイムデータキューブの各々に、前記多次元データベースの外部の前記リアルタイムデータのソースを含む前記データベースへの前記複数の接続を介して、オンデマンドアクセスを提供するステップと、
前記多次元データベース内の前記リアルタイムデータのソースからの前記クエリに応答したデータを、前記クエリに応答した前記データが前記多次元データベース内に格納されることなく使用するステップとを備える、方法。
【請求項9】
前記クエリに応答した前記データは、前記クエリの実行時に、前プロバイダサービスによってフェッチされる、請求項8に記載の方法。
【請求項10】
前記クエリに応答した前記データは、前記プロバイダサービスによってフェッチされる際に、前記多次元データベースによって1つまたは複数の動的計算に利用される、請求項9に記載の方法。
【請求項11】
前記1つまたは複数の動的計算は、前記クエリに基づく、請求項10に記載の方法。
【請求項12】
前記透過性パーティションは、前記複数のリアルタイムデータキューブおよび前記多次元データベース内に格納された1つまたは複数のデータキューブの上に存在する、請求項8~11のいずれか1項に記載の方法。
【請求項13】
前記複数のソースデータ集約クライアントの各々は、前記多次元データベースの前記複数のリアルタイムデータキューブの独立した1つと関連付けられている、請求項8~12のいずれか1項に記載の方法。
【請求項14】
前記複数のソースデータ集約クライアントは、ビッグプロバイダサービスのビッグデータクラスタの内部に配置される、請求項8~12のいずれか1項に記載の方法。
【請求項15】
コンピュータに請求項8~14のいずれか1項に記載の方法を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
著作権表示
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権保有者は、この特許文献または特許開示が特許商標庁の包袋または記録に掲載されているため、この特許文献または特許開示を誰でも複写複製できることに対して異議はないが、その他の点では全ての如何なる著作権をも保有する。
【0002】
優先権の主張:
本願は、2019年4月3日に出願された出願番号第16/374,402号である「多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法(SYSTEM AND METHOD FOR REAL TIME DATA AGGREGATION IN A VIRTUAL CUBE IN A MULTIDIMENSIONAL DATABASE ENVIRONMENT)」と題される米国特許出願、および
、2018年7月19日に出願された出願番号第62/700,762号である「多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法(SYSTEM AND METHOD FOR REAL TIME DATA AGGREGATION IN A VIRTUAL CUBE IN A MULTIDIMENSIONAL DATABASE ENVIRONMENT)」と題される米国仮特許出願に対する優先
権を主張し、これらの出願は引用によって本明細書に援用される。
【0003】
発明の分野:
本発明の実施形態は、一般にデータベースおよびデータウェアハウジングに関し、特に多次元データベース環境における根本原因分析および重要なメトリクスの自動生成のためのシステムおよび方法に関する。
【背景技術】
【0004】
背景:
多次元データベースコンピューティング環境は、企業が重要なビジネス情報を適切な人々に必要なときに届けることを可能にし、複数の既存のデータソースからのデータを活用および統合し、フィルタリングされた情報をエンドユーザコミュニティに、それらのユーザのニーズに最も適合する形式で配信する能力を含む。ユーザは、リアルタイムで、なじみのあるビジネス次元に沿ってデータと対話して利用することができ、思考スピードアナリティクスが可能になる。これらは、本発明の実施形態を使用することができるタイプの環境のいくつかの例である。
【発明の概要】
【課題を解決するための手段】
【0005】
概要:
ある実施形態に従うと、ある実施形態に係る多次元データベースにおける仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法が本明細書に記載されている。方法は、1つまたは複数のマイクロプロセッサを含むコンピュータにおいて、上記コンピュータ上で実行される多次元データベースサーバを提供することができ、上記多次元データベースサーバは、少なくとも1つの多次元キューブをサポートし、上記方法はさらに、1つまたは複数のマイクロプロセッサを含むコンピュータにおいて、上記多次元キューブに関連付けられたデータソースを提供することができる。上記方法は、上記多次元キューブによって、上記データソースに対してクエリを行うことができ、上記クエリは、上記データソースにアクセス可能なリアルタイムデータの少なくとも1つのソースの識別情報を備える。上記方法は、上記データソースによって、上記多次元キューブへのオンデマンド
アクセスを上記リアルタイムデータの少なくとも1つのソースに提供することができる。上記方法は、上記多次元キューブ内の上記リアルタイムデータの少なくとも1つのソースからの対象データを、内部に格納することなく使用することができる。
【図面の簡単な説明】
【0006】
図1】ある実施形態に係る、多次元データベース環境の一例を示す図である。
図2】ある実施形態に係る、例示的な多次元データベース環境を示す図である。
図3】ある実施形態に係る、動的計算のための例示的な実施形態を示す図である。
図4】ある実施形態に係る、多次元データベース環境における外部データに対する動的計算を示す図である。
図5】ある実施形態に係る、多次元データベース環境における外部データに対する動的計算を示す図である。
図6】ある実施形態に係る、動的計算連続体を示す図である。
図7】ある実施形態に係る、仮想キューブでのリアルタイムデータ集約のためのシステムを示す図である。
図8】ある実施形態に係る、仮想キューブでのリアルタイムデータ集約のためのシステムを示す図である。
図9】多次元データベースにおける仮想キューブでのリアルタイムデータ集約のための方法のフローチャートである。
【発明を実施するための形態】
【0007】
詳細な説明:
上記は、他の特徴とともに、同封の明細書、特許請求の範囲および図面を参照すると明らかになるであろう。具体的詳細は、さまざまな実施形態を理解できるようにするために記載されている。しかし、これらの具体的詳細がなくてもさまざまな実施形態を実施できることは明らかであろう。同封の明細書および図面は、限定的であるよう意図されてはいない。
【0008】
多次元データベース環境は、その一例がOracle Essbaseを含んでいるのだが、この多次元データベース環境を使用して、場合によっては複数のデータソースからの大量のデータを統合して、フィルタリングされた情報をエンドユーザに、それらのユーザの特定の要求に応えるような態様で配信することができる。
【0009】
図1は、ある実施形態に係る、多次元データベース環境100の一例を示す図である。
図1に示されるように、ある実施形態に従うと、データベース層として動作する多次元データベース環境は、1つまたは複数の多次元データベースサーバシステム102を含み得て、1つまたは複数の多次元データベースサーバシステム102の各々は、物理コンピュータリソースまたはコンポーネント104(たとえば、マイクロプロセッサ/CPU、物理メモリ、ネットワークコンポーネント)と、オペレーティングシステム106と、1つまたは複数の多次元データベースサーバ110(たとえば、Essbaseサーバ)とを含み得る。
【0010】
ある実施形態に従うと、中間層120は、たとえばプロバイダサービス122(たとえば、ハイペリオンプロバイダサービス)、管理サービス124(たとえば、Essbase管理サービス)またはスタジオ/統合サービス126(たとえば、Essbaseスタジオ/Essbase統合サービス)などの1つまたは複数のサービスを含み得る。中間層は、多次元データベース環境とともに使用するために、ODBC/JDBC127,128または他のタイプのインターフェイスを介して、メタデータカタログ129および/または1つまたは複数のデータソース130(たとえば、リレーショナルデータベース)へのアクセスを提供することができる。
【0011】
ある実施形態に従うと、1つまたは複数のデータソースは、多次元データベースの提供に使用するために、ODBC/JDBC132または他のタイプのインターフェイスを介して、1つまたは複数の多次元データベースサーバによってアクセス可能でもある。
【0012】
ある実施形態に従うと、クライアント層140は、多次元データベース(たとえば、スマートビュー、スプレッドシートアドイン、スマートサーチ、管理サービス、MaxL、XMLA、CAPIまたはVB APIアプリケーション、オラクル・ビジネス・インテリジェンス・エンタープライズ・エディション・プラス、または他のタイプの多次元データベースクライアントなど)へのアクセスを可能にする1つまたは複数の多次元データベースクライアント142(たとえば、Essbaseサーバクライアント)を含み得る。クライアント層は、たとえば管理サービスコンソール144またはスタジオ/統合サービスコンソール146などの、中間層におけるサービスとともに使用するためのコンソールも含み得る。
【0013】
ある実施形態に従うと、クライアント層と中間層とデータベース層との間の通信は、TCP/IP、HTTPまたは他のタイプのネットワーク通信プロトコルのうちの1つ以上によって提供することができる。
【0014】
ある実施形態に従うと、多次元データベースサーバは、1つまたは複数のデータソースからのデータを統合して、多次元データベース、データ構造またはキューブ150を提供することができ、次いで、多次元データベース、データ構造またはキューブ150にアクセスして、フィルタリングされた情報をエンドユーザに提供することができる。
【0015】
一般に、多次元データベースにおける各データ値は、キューブの1つのセルに格納され、特定のデータ値は、その座標をキューブの次元に沿って指定することによって参照可能である。1つの次元からのメンバの、1つまたは複数の他の次元の各々からのメンバとの交点がデータ値を表す。
【0016】
たとえば、売上げ志向型ビジネスアプリケーションで使用され得るキューブ162を示す図1に示されるように、クエリが「売上高」を示す場合、システムは、このクエリを、全ての「売上高」データ値を含むデータベース内のデータ値164のスライスまたは層として解釈することができ、「売上高」は、「実際」および「予算」と交差している。多次元データベースにおける特定のデータ値166を参照するために、クエリは、たとえば「売上高、実際、1月」を指定することによって各次元上のメンバを指定することができる。データベースをさまざまにスライスすることによって、データのさまざまな観点が提供される。たとえば、「2月」のデータ値のスライス168は、時間/年次元が「2月」に固定されたそれらのデータ値の全てを検討する。
【0017】
データベースアウトライン
ある実施形態に従うと、多次元データベースの開発は、データベースアウトラインの作成から始まり、このデータベースアウトラインは、データベース内のメンバ間の構造的関係を定義し、データベース内のデータを編成し、連結および数学的関係を定義する。データベースアウトラインの階層木またはデータ構造内に、各次元は、1つまたは複数のメンバを備え、これらの1つまたは複数のメンバは、他のメンバをさらに備えていてもよい。次元の仕様は、その個々のメンバの値をどのように連結するかをシステムに指示する。連結は、木のブランチの中の一群のメンバである。
【0018】
次元およびメンバ
ある実施形態に従うと、次元は、データベースアウトラインにおける最も高い連結レベ
ルを表す。部門機能(たとえば、時間、勘定、製品ライン、市場、事業部)に関連するビジネスプランの構成要素を表すために標準次元が選択されてもよい。標準次元に関連付けられる属性次元は、ユーザがメンバ属性または特徴に基づいて標準次元のメンバをグループ化して分析することを可能にする。メンバ(たとえば、製品A、製品B、製品C)は、次元の個々の構成要素である。
【0019】
次元およびメンバ関係
ある実施形態に従うと、多次元データベースは、家族に関する用語(親、子、兄弟、子孫および先祖)および階層に関する用語(世代およびレベル、ルートおよびリーフ)を使用して、データベースアウトライン内のメンバの役割および関係を説明する。
【0020】
ある実施形態に従うと、親は、その下にブランチを有するメンバである。たとえば、「利幅」は、「売上高」および「売上原価」(COGS)の親であってもよい。子は、その上に親を有するメンバである。上記の例では、「売上高」および「売上原価」が、親である「利幅」の子である。兄弟は、同一世代内の同一の直接の親の子である。
【0021】
ある実施形態に従うと、子孫は、親の下のブランチの中のメンバである。たとえば、「利益」、「在庫」および「比率」は、尺度の子孫であってもよく、この場合、「利益」、「在庫」および「比率」の子も尺度の子孫である。先祖は、メンバの上のブランチの中のメンバである。上記の例では、「利幅」、「利益」および尺度が「売上高」の先祖であってもよい。
【0022】
ある実施形態に従うと、ルートは、ブランチの中の最上位のメンバである。たとえば、尺度は、「利益」、「在庫」および「比率」のルートであってもよく、したがって、「利益」、「在庫」および「比率」の子のルートであってもよい。リーフ(レベル0)メンバは、子を持たない。たとえば、期首「在庫」、追加および期末「在庫」がリーフメンバであってもよい。
【0023】
ある実施形態に従うと、世代とは、次元内の連結レベルのことをいう。木のルートブランチは、「世代1」であると考えられ、世代番号は、ルートからリーフメンバに向かって大きくなっていく。レベルとは、次元内のブランチのことをいい、世代で使用された番号順序とは逆に番号付けられ、レベル番号は、リーフメンバからそのルートに向かって小さくなっていく。
【0024】
ある実施形態に従うと、ユーザは、世代またはレベルに名前を割り当てて、その名前をその世代またはレベル内の全てのメンバの省略表現として使用することができる。
【0025】
疎および密な次元
多次元データベース内のデータセットは、多くの場合、2つの特徴を共有する。すなわち、データがスムーズかつ均一に配信されないこと、および、メンバの組み合わせの大部分についてはデータが存在しないことである。
【0026】
ある実施形態に従うと、これに対処するために、システムは、2つのタイプの標準次元、すなわち疎な次元および密な次元を認識することができる。疎な次元は、利用可能なデータ位置が埋められる割合が比較的低い次元であり、密な次元は、次元のあらゆる組み合わせにおいて1つまたは複数のセルが占められる確率が比較的高い次元である。多くの多次元データベースは、メンバの組み合わせの大部分についてデータ値を欠いているという点において、元来疎である。
【0027】
データブロックおよびインデックスシステム
ある実施形態に従うと、多次元データベースは、データブロックおよびインデックスを使用して、データを格納してデータにアクセスする。このシステムは、疎な標準次元のメンバの固有の各組み合わせについて多次元アレイまたはデータブロックを作成することができ、各データブロックは、その疎な次元のメンバの組み合わせのための密な次元のメンバを表す。各データブロックについてインデックスが作成され、このインデックスは、疎な標準次元のメンバの組み合わせを表し、少なくとも1つのデータ値が存在する疎な標準次元のメンバの固有の各組み合わせについて入力またはポインタを含む。
【0028】
ある実施形態に従うと、多次元データベースサーバは、データ値を検索する際、インデックスによって提供されるポインタを使用して、適切なデータブロックを突き止め、そのデータブロック内でデータ値を含むセルを突き止めることができる。
【0029】
管理サービス
ある実施形態に従うと、管理サービス(たとえば、Essbase管理サービス)は、ユーザがサーバ、アプリケーションおよびデータベースを設計、開発、維持および管理することを可能にする単一アクセスポイントを提供する。
【0030】
スタジオ
ある実施形態に従うと、スタジオ(たとえば、Essbaseスタジオ)は、データモデル化、キューブ設計および分析アプリケーション構築に関連するタスクを実行するためのウィザード方式のユーザインターフェイスを提供する。
【0031】
スプレッドシートアドイン
ある実施形態に従うと、スプレッドシートアドインは、多次元データベースをスプレッドシートと統合して、接続、ピボット、ドリルダウンおよび計算などの高度なコマンドをサポートする。
【0032】
統合サービス
ある実施形態に従うと、統合サービス(たとえば、Essbase統合サービス)は、多次元データベースに格納されたデータとリレーショナルデータベースに格納されたデータとの間の統合に使用するためのメタデータ方式の環境を提供する。
【0033】
プロバイダサービス
ある実施形態に従うと、プロバイダサービス(たとえば、ハイペリオンプロバイダサービス)は、Java(登録商標)API、スマートビューおよびXMLAクライアントのためのデータソースプロバイダとして動作する。
【0034】
スマートビュー
ある実施形態に従うと、スマートビューは、たとえばハイペリオン・フィナンシャル・マネジメント(Hyperion Financial Management)、ハイペリオン・プランニング(Hyperion Planning)およびハイペリオン・エンタープライズ・パフォーマンス・マネジメント・ワークスペース(Hyperion Enterprise Performance Management Workspace)データのための共通のインターフェイスを提供する。
【0035】
開発者製品
ある実施形態に従うと、開発者製品は、カスタマイズされた企業分析アプリケーションの迅速な作成、管理およびデプロイを可能にする。
【0036】
ライフサイクル管理
ある実施形態に従うと、ライフサイクル管理(たとえば、ハイペリオン・エンタープラ
イズ・パフォーマンス・マネジメント・システム・ライフサイクル・マネジメント(Hyperion Enterprise Performance Management System Lifecycle Management))は、企業パフォーマンス管理製品がアプリケーション、リポジトリまたは個々の人工物を製品環境全体にわたって移動させることを可能にするための手段を提供する。
【0037】
OLAP
ある実施形態に従うと、オンライン分析処理(OLAP)は、ユーザが企業データを分析することを可能にする環境を提供する。たとえば、財務部門は、予算編成、活動基準原価計算、財務成績分析および財務モデリングなどのアプリケーションにOLAPを使用して、「ジャストインタイム」の情報を提供することができる。
【0038】
ある実施形態に従うと、OLAPシステムは、複数の次元においてデータを編成することができ、データセットの検索者/ユーザがさまざまな次元を横断する有向検索を行って最終的に対象の結果に到達することを可能にする。OLAPシステムは、データを次元の交点にあるものと見なすことができる。言い換えれば、OLAPシステムの根底にあるデータは、全ての次元のクロス積の具体例である多次元データベースとして編成されて格納されることができる。これにより、ユーザ/検索者は、アドホックな態様で対象の次元に沿って詳細の階層を横断して、特定の対象データに到達することができる。緩やかに変化するデータは、現在のデータセット内のメタデータとして表すことができる。
【0039】
仮想キューブでのリアルタイムデータ集約
ある実施形態に従うと、従来のシステムでは、多次元データベースキューブの利点のうちの1つは、基になる全てのデータ(たとえば、ソースデータ)が多次元データベースにロードされるというものであった。これにより、多次元データベースが各々の要求された分析についてデータを取り出さなくてもよいので分析の高速化が可能になり、また、データが多次元データベースの箇所でロードされるので計算が高速化された。しかし、ビッグデータの傾向が続いているので、全てのソースデータを多次元データベースにロードすることが厄介になり、状況によっては、パフォーマンスの低下につながる場合もある。リアルタイムデータ集約をサポートすることによって、多次元データベースは、全てが同一のリレーショナルデータベース(たとえば、ソースデータ)を参照する(分散された)複数のキューブを有することができる能力を有する。ロードされたソースからデータを取り出す代わりに、多次元データベースは、ソースデータ位置または複数のソースデータ位置を照会して、リアルタイムでデータを集約することができる。
【0040】
図2は、ある実施形態に係る、例示的な多次元データベース環境を示す図である。
ある実施形態に従うと、多次元データベースサーバ200内には1つまたは複数のデータベースキューブ210があり得る。これらのキューブの各々から、1つまたは複数のパーティション211を生成することができる。パーティションを使用して、複数のキューブにわたるデータへのユーザ220のアクセスを簡略化することができる。パーティションは、ユーザおよび管理者が、複製パーティション化スキーム、透過性パーティション化スキームまたはリンクパーティション化スキームを使用して、分析のためにデータおよびメタデータの特定のサブセットを選択することを可能にする。
【0041】
ある実施形態に従うと、キューブ210には、別のキューブ202、データベース203、データ204(たとえば、カンマ区切り可変シートの形態)および/またはスプレッドシート205などの、いくつかの外部データソースからのデータを格納することができる。(特定の外部データソースのみが図に示されているが、さらなるおよびさまざまな他のデータソースにアクセスして、キューブ210にロードすることができるということを当業者は認識するであろう。)しかし、従来のシステムでは、全ての外部データは、別のキューブ202からのものであろうと、データベース203からのものであろうと、CS
Vファイル204からのものであろうと、スプレッドシート205からのものであろうと、まずキューブ210にロードされなければならない。
【0042】
ある実施形態に従うと、ソースデータが比較的小さい従来のシステムでは、多次元データベースサーバへのソースデータのロードは、これがデータ集約も計算も可能にするので、多次元データベース環境の強みであると考えることができる。計算および集約は、多次元データベース環境内にあるデータに対して行われる。このデータは、それ自体のリポジトリにおいてロードされ、集約され、計算される。
【0043】
図3は、ある実施形態に係る、動的計算のための例示的な実施形態を示す図である。
ある実施形態に従うと、図3は、多次元データベース環境を利用した場合に得られるさらなる利点を示している。これは、動的計算と集約とを混成させるという考え方である。
【0044】
ある実施形態に従うと、動的計算300は、いくつかのロードされた値を備え、データベースのサイズを小さくすることができる。動的計算において、ロードされた値A 301,B 302,C 303,D 304およびE 305(外部ソース320(または、2つ以上の外部ソース)から、動的計算300をホストしている多次元データベースにロードされる)をリアルタイムで動的計算に使用することができる。これは、ロードされて格納された値の上でメトリクスを計算することができるリアルタイムの能力をユーザに提供する。これらのメトリクスは、たとえばF 306,G 307,H 308,I 309およびJ 310を備え得る。しかし、計算は、格納された値(すなわち、既に外部ソースからロードされてキューブに格納された値)の上で行われる。さらに、これらのメトリクスは、多次元データベース内に格納することができ、多次元データベースのフットプリントをさらに増加させる。
【0045】
ある実施形態に従うと、次いで、動的計算300に示されるような依存関係分析に基づいて、キューブにロードされたデータのサイズを小さくすることができる。このように、キューブにロードされるかまたはユーザによって供給される必要があるデータ次元の数が少なくなるので、キューブ内に格納されるデータが少なくなる。
【0046】
ある実施形態に従うと、ロードされた値に対する動的計算は、データベースのサイズを小さくすることができる。また、それは、ロードされて格納された値の上でメトリクスを計算することができるリアルタイムの能力を提供する。しかし、多次元データベースにロードされて格納された値(たとえば、リーフ値)の上で計算が行われるので、データベースの全体サイズは依然としてかなり大きいであろう。なぜなら、外部ソースからの全ての値がロードされて格納され、これらの値の上で動的計算が実行される(しかし、それら自体は格納されない)からである。
【0047】
図4は、ある実施形態に係る、多次元データベース環境における外部データに対する動的計算を示す図である。
【0048】
ある実施形態に従うと、動的計算400は、図3に示されるような格納された値に依拠する代わりに、(SQLデータベースインターフェイスなどのデータベースインターフェイスを介して)外部ソース420(または、他の記憶場所タイプ)に及ぶことができ、外部ソース420には、値A 401,B 402,C 403,D 404およびE 405が位置しており、オンデマンドで(動的に)それらが引っ張り出される。このようなフェッチ動作は、たとえば動的計算メトリクスが実行される場合に起こり得る。たとえば、メトリクスF 406の実行が望まれるまたは呼び出される場合、システムおよび方法は、外部ソース420から値A 401およびB 402をオンデマンドでフェッチすることができ、次いでこれらの値A 401およびB 402をメトリクスFの判断に使用
し、このメトリクスFを動的計算400内で使用することができる。しかし、AおよびBの値は、格納されず、その代わりに使用後に廃棄されるため、多次元データベースサーバ環境において動的計算が利用するストレージフットプリントを最小化する。
【0049】
ある実施形態に従うと、外部ソース420から引っ張り出される値は、ユーザクエリまたはキューブ(動的計算の位置)からのクエリに基づいて判断される。このように、要求された/対象のデータのみがアクセスされ、当該外部ソースにあり得る他のデータは、そのソースにおけるそのデータに依拠する呼び出しまたは要求がなされるまで無視される(たとえば、ロードされない)。
【0050】
ある実施形態に従うと、このようにして、キューブ内の全ての値が動的に計算されて、全てのデータがデータソースから直接引っ張り出される場合、キューブはゼロフットプリントを有する。すなわち、全てのデータは、リアルタイムでテーブルから直接やって来て、いかなる動的計算も、ロードおよび格納されないこれらの値の上で行われる。このようなシステムおよび方法は、ゼロフットプリントを有する(値がロードおよび格納されない)ことに加えて、高可用性ならびにゼロダウンタイムバックアップおよびパッチングのメリットも提供する。
【0051】
ある実施形態に従うと、値が外部ソースからフェッチされる場合、これらの値は、多次元データベースサーバにおいて格納またはキャッシュされない。その代わりに、これらの値は、キューブにおいて直接(たとえば、動的計算に)使用される。
【0052】
他の実施形態に従うと、システムおよび方法は、外部ソースからフェッチされた値のキャッシングをサポートすることができる。これは、たとえば一定の時間間隔で行うことができる。このような状況では、一例として、リアルタイムでフェッチされたデータは、多次元データベース環境においてキャッシュされたデータに、構成された時間間隔で保存/上書きされることができる。これは、たとえばキャッシュされたバックアップを有することが望ましい場合または履歴傾向を見ることが望ましい場合に行うことができる。このような状況では、依然として、多次元データベースキューブがゼロフットプリントを有していると言うことができる。なぜなら、多次元データベースキューブがクラッシュするかまたは壊れた場合に、全てのキャッシュされたデータをパージすることができ、新たな多次元データベースキューブは、以前の多次元データベースキューブを参照することなく新たなキャッシュを開始させるように構成され得るからである。
【0053】
図5は、ある実施形態に係る、多次元データベース環境における外部データに対する動的計算を示す図である。
【0054】
ある実施形態に従うと、動的計算500は、図3に示されるような格納された値のみに依拠する代わりに、および外部ソース520からの値のフェッチのみに依拠する代わりに、ハイブリッドアプローチを利用することができ、このハイブリッドアプローチでは、値C 503およびE 505などの頻繁に使用される値はロードされる一方、A 501,B 502およびD 504などのそれほど頻繁に使用されない他の値は、外部ソースにとどまって、外部ソース520(または、他の記憶場所タイプ)におけるフェッチ動作を介して(たとえば、SQLデータベースインターフェイスなどのデータベースインターフェイスを介して)到達される。このハイブリッドアプローチにより、特定の値をロードする一方で他の値をオンデマンドで(動的に)外部ソースから引っ張り出すことができる。このようなフェッチ動作は、たとえば動的計算メトリクスが実行される場合に起こり得る。たとえば、メトリクスG 507の実行が望まれるまたは呼び出される場合、システムおよび方法は、外部ソースから値D 504をオンデマンドでフェッチして、ローカルストレージからの値E 505をメトリクスGの判断に使用されるように利用することが
でき、このメトリクスGを動的計算500内で使用することができる。しかし、Dの値は、格納されず、その代わりに使用後に廃棄されるため、多次元データベースサーバ環境において動的計算が利用するストレージフットプリントを減少させる。
【0055】
ある実施形態に従うと、外部ソース520から引っ張り出される値は、ユーザクエリまたはキューブ(動的算出の位置)からのクエリに基づいて判断される。このように、要求された/対象のデータのみがアクセスされ、当該外部ソースにあり得る他のデータは、そのソースにおけるそのデータに依拠する呼び出しまたは要求がなされるまで無視される(たとえば、ロードされない)。
【0056】
ある実施形態に従うと、このようにして、キューブ内の全ての値が動的に計算され、いくつかの値は格納され、いくつかはデータソースから直接引っ張り出される場合、キューブは、全てのデータが格納されていた場合よりも小さいフットプリントを有する。また、どの値がロードされて格納されるかおよびどの値がソースに保持されているだけであるかをアクティブにおよび自動的に選択することによって、多次元データベースのパフォーマンスを向上させることができ、これは、ロードおよび格納されないそれらの値のサイズを小さくし、またロードされて格納されたそれらの値について同一のパフォーマンスレベルを保持することによって可能である。
【0057】
図6は、ある実施形態に係る、動的計算連続体を示す図である。
ある実施形態に従うと、動的計算連続体600内では、一方の側(左側)に、全てのデータが多次元データベースキューブ内にロードされて格納されるキューブが存在する。これは、データが比較的小さく、頻繁な変更または更新を受けない(たとえば、ユーザが1日1回それらのデータをリフレッシュする必要がある)場合に望ましい。連続体の他方の側(右端側)には、全てのデータが外部からロードされたリーフデータであるキューブが存在する。これらの状況は、大量のリーフデータがある組織において、またはソースデータが1日に複数回変化するかまたは絶えずリフレッシュされる場合(たとえば、ユーザが通貨データなどの動的に変更されるデータの影響を見る必要がある場合)に望ましい。
【0058】
ある実施形態に従うと、全てのデータが外部からロードされる場合には、多次元データベースキューブは、ディザスタリカバリについて心配しなくてもよい。キューブがクラッシュして全ての動的計算を失っても、外部データソースは影響を受けず、キューブは、外部データソースから引っ張り出された値で再開することができる。
【0059】
ある実施形態に従うと、これら2つの極端な場合の組み合わせが存在する。たとえば、ユーザは、構成可能な期間ごとに、キューブが外部ソースからデータに到達して引っ張り出して、このデータをキャッシュすることを要求することができる。しかし、データはキャッシュされる(および、使用後に捨てられる)ため、値が格納されないので、データキューブのフットプリントは依然として最小化される。
【0060】
図7は、ある実施形態に係る、仮想キューブでのリアルタイムデータ集約のためのシステムを示す図である。
【0061】
ある実施形態に従うと、多次元データベースサーバ707(たとえば、Essbaseサーバ)。多次元データベースサーバ707は、ドリルスルー703、データおよび次元ロード704、セキュリティフィルタ705およびパーティション706などのいくつかのサービスを提供する。このようなサービスは、データソース702に対して提供されることができ、データソース702は、接続701に基づく/接続701の上にデプロイされた抽象テーブル表現であり得る。
【0062】
ある実施形態に従うと、たとえば、接続701は、外部データソース(たとえば、CSVファイル710、データベース711(たとえば、クラウドもしくはオンプレミス)、ビジネスインテリジェンスもしくはデータ視覚化ソース712、別の多次元データベースキューブ713(たとえば、Essbase)、SQLデータベース714、HIVE715、または他のデータベース(SQLサーバ、DB2、Teradataなど)716)に合わせて定義されることができる。この接続は、たとえば、Essbase接続、ファイル接続、JDBC接続、物理的接続、または、選択された外部データソースと連携して通信することができる他の任意のタイプの接続を備え得る。この接続の上にデータソース702を定義することができる。このデータソースは、たとえば、選択された外部データソースに基づくデータ構造を備え得る。たとえば、エクセルシートが、選択された外部データソースである場合、ファイル接続の上に、データソースは、エクセルシートのいくつかの列、行、タブおよびパラメータを備えるデータ構造を定義することができる。そして、これは、多次元データベースサーバがこれらのサービスを介して作用し得るデータソースを定義する。同様に、1つの接続に対して複数のデータソースを定義することもできる。
【0063】
ある実施形態に従うと、多次元データベースサーバは、次いで、たとえばデータソースに対してパーティションサービスを利用することができ、パーティションサービスは、上記のように、ユーザおよび管理者が、複製パーティション化スキーム、透過性パーティション化スキームまたはリンクパーティション化スキームを使用して、分析のためにデータおよびメタデータの特定のサブセットをデータソースから選択することを可能にし得る。
【0064】
ある実施形態に従うと、多次元データベースサーバは、たとえばデータ次元およびロードサービスを利用して、選択されたデータを多次元データベースサーバにロードすることもできる(たとえば、上記の図3に図示)。
【0065】
ある実施形態に従うと、多次元データベースサーバは、たとえばドリルスルーサービスを利用して、多次元データベースサーバのフットプリントを最小化するように、選択されたデータをリアルタイムで動的にフェッチすることもできる(たとえば、上記の図4に図示)。
【0066】
ある実施形態に従うと、多次元データベースサーバは、複数のサービスを互いに連携して利用することもできる。たとえば、多次元データベースサーバは、1つのデータソースに対してパーティションサービスならびにデータ次元およびロードサービスおよびドリルスルーサービスを利用することができる。これにより、たとえば一部のデータをロードして格納し、他のデータを動的にフェッチすることができ、それらのデータについてのみ、構成されたパーティションに次元を適用可能である。
【0067】
ある実施形態に従うと、接続は、任意の数の外部データソース(CSVファイル710、データベース711(たとえば、クラウドもしくはオンプレミス)、ビジネスインテリジェンスもしくはデータ視覚化ソース712、別の多次元データベースキューブ713(たとえば、Essbase)、SQLデータベース714、HIVE715、または他のデータベース(SQLサーバ、DB2、Teradataなど)716など)であり得る。
【0068】
ある実施形態に従うと、このようにして、これは、キューブ707が接続に対して直接的にデータソースをドリルスルーすることを可能にし、これは、任意の数のデータリポジトリであり得る。次いで、要求された/対象のデータをリアルタイムでキューブ707に引き込むことができ、次いで、キューブ707は、リアルタイムデータをキューブ707内に格納することなく、データを動的計算に使用することができる。
【0069】
ビッグデータの上の仮想キューブでのリアルタイムデータ集約
ある実施形態に従うと、ますます多くの外部データが「ビッグデータ」(たとえば、ペタバイトの情報)の文脈においてコンパイルされている。ビッグデータクラスタの上の仮想キューブでリアルタイムデータ集約を行うために、ソース集約エージェントがビッグデータクラスタ内にデプロイされることができる。次いで、ビッグデータクラスタ内のそれらの集約クライアントについて、リアルタイムのパーティション化された多次元データベースキューブを開始することができる(たとえば、集約エージェント当たり1つのキューブ、複数の集約クライアントのための1つのキューブ、または1つの集約クライアントのための複数のキューブであり、全てシステムの要件に依存する)。
【0070】
ある実施形態に従うと、次いで、リアルタイムのパーティション化された多次元データベースキューブの上に透過性パーティションが存在し得る。これにより、クエリを分散させることによるスケーリング、ソース集約、動的計算、およびソースデータへのリアルタイムアクセスが可能になる(すなわち、ソースデータをロードおよび格納しない)。
【0071】
図8は、ある実施形態に係る、仮想キューブでのリアルタイムデータ集約のためのシステムを示す図である。
【0072】
ある実施形態に従うと、ソース集約エージェント(図示せず)は、ビッグデータクラスタ820内にデプロイされることができる。ソース集約クライアントは、たとえばソースデータのサイズを(たとえば、ペタバイトからテラバイトまたはギガバイトに)指数関数的に小さくすることができる。集約されたビッグデータの上での集約のためのリアルタイムのパーティション化された多次元キューブ810,811,812,813は、集約エージェントを有するソースデータよりも上のレベルに位置することができ、各々のリアルタイムのパーティション化された多次元キューブは、データのサイズをさらに減少させ、各キューブは、ビッグデータソースまたはソース集約エージェントのうちの1つまたは複数のソース集約エージェントのいずれかからデータを動的にフェッチすることを担当する。1つまたは複数の透過性パーティション800は、リアルタイムキューブ810,811,812,813の上に位置することができる。このように、システムおよび方法は、クエリを分散させることによるスケーリング、ソース集約、動的計算、およびソースデータへのリアルタイムアクセスを実現することができる。
【0073】
ある実施形態に従うと、ソース集約エージェントを有するデータレイクは、ビッグデータセットのサイズを非常に小さくすることができる。そして、リアルタイムのパーティション化された多次元データベースキューブ810,811,812および813は、集約されたデータの上に位置し、(上記のように)リアルタイムでデータにアクセスし、データをより管理可能なサイズにさらに小さくすることができる。これらのパーティション化された多次元データベースキューブの各々は、地理的属性などの1つまたは複数の属性に関連付けられることができる。たとえば、アグリゲータを有するビッグデータセットが世界各地からのデータを備え得る場合、各キューブ810,811,812,813は、たとえば、その割り当てられた地理的範囲(たとえば、北アメリカ、南アメリカ、アフリカ、ヨーロッパなど)に関連付けられたデータのみを動的にフェッチすることができる。
【0074】
ある実施形態に従うと、パーティション化されたキューブ810,811,812,813においてデータがキャッシュ/計算されると、上記のように、別のパーティション化された多次元データベースキューブ(たとえば、透過性パーティション)800は、パーティション化されたキューブ810,811,812,813からのデータにリアルタイムでアクセスすることができる。
【0075】
ある実施形態に従うと、このようにして、ビッグデータソースからのデータは、キューブ700に動的に引き込まれることができ、キューブ700では、ユーザは、はるかに効率的な態様で所望の計算を処理して実行することができる。
【0076】
ある実施形態に従うと、仮想キューブでのリアルタイムデータ集約から生じるいくつかの利点がある。たとえば、このようなシステムおよび方法は、式の中のテーブルデータへのリアルタイムアクセスおよび集約を提供する。その上、ソースデータに対する更新はすぐに実施され、これは、制約付きの実行可能な計画をユーザが実現することを手助けする「揮発性の」データドライバ(たとえば、通貨)をモデル化する際に重要である。
【0077】
上記のように、ある実施形態では、仮想キューブでのリアルタイムデータ集約は、ゼロフットプリントも提供する。これは、ひいては、バックアップの必要性をなくし、ゼロダウンタイムパッチングも提供する。複数のキューブが同一の表形式データによって駆動され得るので、高可用性も提供される。
【0078】
ある実施形態に従うと、仮想キューブでのリアルタイムデータ集約は、同一キューブから複数の地理的位置およびデータセンタへのアクティブ-アクティブスケーリングを提供する。これにより、多数のユーザへのスケーリング、このようなユーザに対するレイテンシの減少が可能になる。再構築も高速化される。なぜなら、現在のところ、ほとんど全ての再構築時間がデータリシェイプに費やされているからである。これは、リシェイプすべき格納されたデータがないときにはそれを回避する。その上、上記の計算連続体により、ユーザは、どのデータ集約および格納モデルがそれらにとって適切であるかを選択することができ、個別化を向上させることができる。
【0079】
図9は、多次元データベースにおける仮想キューブでのリアルタイムデータ集約のための方法のフローチャートである。
【0080】
ステップ910において、この方法は、1つまたは複数のマイクロプロセッサを含むコンピュータにおいて、コンピュータ上で実行される多次元データベースサーバを提供することができ、多次元データベースサーバは、少なくとも1つの多次元キューブをサポートし、この方法はさらに、1つまたは複数のマイクロプロセッサを含むコンピュータにおいて、多次元キューブに関連付けられたデータソースを提供することができる。
【0081】
ステップ920において、この方法は、多次元キューブによって、データソースに対してクエリを行うことができ、クエリは、データソースにアクセス可能なリアルタイムデータの少なくとも1つのソースの識別情報を備える。
【0082】
ステップ930において、この方法は、多次元キューブによって、データソースに対してクエリを行うことができ、クエリは、データソースにアクセス可能なリアルタイムデータの少なくとも1つのソースの識別情報を備える。
【0083】
ステップ940において、この方法は、多次元キューブによって、データソースに対してクエリを行うことができ、クエリは、データソースにアクセス可能なリアルタイムデータの少なくとも1つのソースの識別情報を備える。
【0084】
本発明のさまざまな実施形態について上記したが、それらは限定ではなく例として提示されているということが理解されるべきである。これらの実施形態は、本発明の原理およびその実際的用途を説明するために選択されて説明された。これらの実施形態は、本発明が利用されるシステムおよび方法を示しており、新たなおよび/または改良された特徴を提供することによって、および/または、リソース利用の減少、容量の増加、効率の向上
およびレイテンシの減少などのメリットを提供することによってシステムおよび方法のパフォーマンスを向上させる。
【0085】
いくつかの実施形態では、本発明の特徴は、全体または一部が、プロセッサと、メモリなどの記憶媒体と、他のコンピュータと通信するためのネットワークカードとを含むコンピュータにおいて実現される。いくつかの実施形態では、本発明の特徴は、コンピュータの1つまたは複数のクラスタが、ローカルエリアネットワーク(LAN)、スイッチファブリックネットワーク(たとえば、インフィニバンド)またはワイドエリアネットワーク(WAN)などのネットワークによって接続される分散コンピューティング環境において実現される。分散コンピューティング環境は、単一の位置に全てのコンピュータを有していてもよく、またはWANによって接続されたさまざまな遠隔の地理的位置にコンピュータのクラスタを有していてもよい。
【0086】
いくつかの実施形態では、本発明の特徴は、全体または一部が、ウェブ技術を使用してセルフサービスの計量の態様でユーザに届けられる共有の融通性のあるリソースに基づいて、クラウドコンピューティングシステムの一部として、またはクラウドコンピューティングシステムのサービスとして、クラウドにおいて実現される。(アメリカ国立標準技術研究所によって定義されるように)クラウドの特徴は5つある。すなわち、オンデマンド・セルフサービス、幅広いネットワークアクセス、リソースの共用、スピーディな拡張性、およびサービスが計測可能であること、である。クラウド実装モデルは、パブリック、プライベートおよびハイブリッドを含む。クラウドサービスモデルは、ソフトウェア・アズ・ア・サービス(SaaS)、プラットフォーム・アズ・ア・サービス(PaaS)、データベース・アズ・ア・サービス(DBaaS)、およびインフラストラクチャ・アズ・ア・サービス(IaaS)を含む。本明細書におけるクラウドは、ハードウェアと、ソフトウェアと、ネットワークと、共有の融通性のあるリソースをセルフサービスの計量の態様でユーザに届けるウェブ技術との組み合わせである。本明細書におけるクラウドは、別段の定めがない限り、パブリッククラウドの実施形態、プライベートクラウドの実施形態、ハイブリッドクラウドの実施形態、ならびにクラウドSaaS、クラウドDBaaS、クラウドPaaSおよびクラウドIaaSを含むがこれらに限定されない全てのクラウド実装モデルを包含する。
【0087】
いくつかの実施形態では、本発明の特徴は、ハードウェア、ソフトウェア、ファームウェアもしくはそれらの組み合わせを使用して、またはハードウェア、ソフトウェア、ファームウェアもしくはそれらの組み合わせの助けを借りて、実現される。いくつかの実施形態では、本発明の特徴は、本発明の1つまたは複数の機能を実行するように構成またはプログラムされたプロセッサを使用して実現される。いくつかの実施形態では、プロセッサは、本明細書に記載されている機能を実行するように設計されたシングルチップもしくはマルチチッププロセッサ、デジタル信号プロセッサ(DSP)、システムオンチップ(SOC)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブルロジックデバイス、ステートマシン、ディスクリートのゲートもしくはトランジスタロジック、ディスクリートのハードウェアコンポーネント、またはそれらの任意の組み合わせである。いくつかの実現例では、本発明の特徴は、所与の機能に特有の回路によって実現されてもよい。他の実現例では、これらの特徴は、たとえばコンピュータ読取可能記憶媒体上に格納された命令を使用して特定の機能を実行するように構成されたプロセッサにおいて実現されてもよい。
【0088】
いくつかの実施形態では、本発明の特徴は、処理システムおよび/またはネットワーキングシステムのハードウェアを制御するため、ならびに、プロセッサおよび/またはネットワークが本発明の特徴を利用する他のシステムと対話することを可能にするためのソフトウェアおよび/またはファームウェアに組み込まれる。このようなソフトウェアまたは
ファームウェアは、アプリケーションコード、デバイスドライバ、オペレーティングシステム、仮想マシン、ハイパーバイザ、アプリケーションプログラミングインターフェイス、プログラミング言語および実行環境/コンテナを含み得るが、これらに限定されるものではない。適切なソフトウェアコーディングは、ソフトウェア分野における当業者に明らかであるように、本開示の教示に基づいて熟練のプログラマによって容易に準備することができる。
【0089】
いくつかの実施形態では、本発明は、命令が格納された記憶媒体またはコンピュータ読取可能媒体であるコンピュータプログラム製品を含み、これらの命令を使用して、本発明のプロセスまたは機能のうちのいずれかを実行するようにコンピュータなどのシステムをプログラムまたはそうでなければ構成することができる。記憶媒体またはコンピュータ読取可能媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD-ROM、マイクロドライブおよび光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム(分子メモリICを含む)、または、命令および/もしくはデータを格納するのに適した任意のタイプの媒体もしくはデバイスを含み得るが、これらに限定されるものではない。特定の実施形態では、記憶媒体またはコンピュータ読取可能媒体は、非一時的な記憶媒体または非一時的なコンピュータ読取可能媒体である。
【0090】
したがって、多次元データベースにおける仮想キューブでのリアルタイムデータ集約をサポートするためのシステムおよび方法について1つの観点から説明してきた。ある実施形態に従うと、本明細書に記載されているシステムおよび方法は、多次元データベースにおいてリアルタイムデータ集約をサポートすることができる能力を提供する。多次元データベースは、全てが同一のリレーショナルデータベース(たとえば、ソースデータ)を参照する(分散された)複数のキューブを有することができる能力を有している。ロードされたソースからデータを取り出す代わりに、多次元データベースは、ソースデータ位置または複数のソースデータ位置を照会して、リアルタイムでデータを集約することができる。
【0091】
上記の説明は、網羅的であるよう意図されたものではなく、本発明を開示されている厳密な形態に限定するよう意図したものでもない。また、特定の一連のトランザクションおよびステップを使用して本発明の実施形態を説明してきたが、本発明の範囲が記載されている一連のトランザクションおよびステップに限定されないということは当業者に明らかであるべきである。さらに、ハードウェアおよびソフトウェアの特定の組み合わせを使用して本発明の実施形態を説明してきたが、ハードウェアおよびソフトウェアの他の組み合わせも本発明の範囲内であるということが認識されるべきである。さらに、さまざまな実施形態は、本発明の特徴の特定の組み合わせを説明しているが、特徴の異なる組み合わせが本発明の範囲内であって1つの実施形態の特徴を別の実施形態に組み込むことができるものとして当業者に明らかであるということが理解されるべきである。さらに、形状、詳細、実現および用途の点でのさまざまな追加、削減、削除、変化、ならびに他の変形および変更が本発明の精神および範囲から逸脱することなく本明細書においてなされてもよいということが当業者に明らかであろう。本発明のより広い精神および範囲は、以下の特許請求の範囲およびそれらの等価物によって定義されるよう意図される。
図1
図2
図3
図4
図5
図6
図7
図8
図9