JP2008544382A - 関係データベースクエリと多次元データベースクエリとを変換するシステムおよび方法 - Google Patents
関係データベースクエリと多次元データベースクエリとを変換するシステムおよび方法 Download PDFInfo
- Publication number
- JP2008544382A JP2008544382A JP2008517290A JP2008517290A JP2008544382A JP 2008544382 A JP2008544382 A JP 2008544382A JP 2008517290 A JP2008517290 A JP 2008517290A JP 2008517290 A JP2008517290 A JP 2008517290A JP 2008544382 A JP2008544382 A JP 2008544382A
- Authority
- JP
- Japan
- Prior art keywords
- data
- query
- data source
- schema
- olap
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
未知の構成のデータソースを既知の構成のデータソースにマッピングする方法であって、メタデータ要求を未知の構成のデータソースにサブミットするステップと、未知の構成のデータソースから受け取ったメタデータに基づいて、既知の構成から関係スキーマを生成するステップと、生成された関係スキーマのメタデータを返すステップであって、返されるメタデータは未知の構成のデータソースを既知の構成にマッピングするステップと、を含む方法。好ましい実施形態では、未知の構成のデータソースは多次元データベースであり、既知の構成はスター関係スキーマまたはスノーフレーク関係スキーマである。
Description
本発明は、オンライン分析処理(OLAP)の分野に関し、特にOLAPおよび非OLAPツールが多様な多次元データベースにアクセスできるようにするシステムおよび方法に関する。
オンライン分析処理(OLAP)および意思決定支援システム(DSS)は、考えられる様々な情報のビューへの高速双方向アクセスを提供することにより、管理職者が洞察を得られるようにする。
こういったシステムは、通常はデータウェアハウスに収容される良質で一貫性のあるデータへのアクセスに依存する。データウェアハウスは、組織の広範囲のデータベースおよびデータソースからのデータを統合する。データウェアハウスはOLAPシステムの1つの構成要素にすぎない。OLAPシステムは、基本的なナビゲーションおよび閲覧(多くの場合「スライスアンドダイス(slice and dice)」として知られている)および計算から時系列およびモデリング等のより本格的な分析に及ぶ機能を提供する。
OLAPシステムは、データをOLAP機能の提供のために最適化された専用データベース(データウェアハウス)に移すことにより実施されることがある。多くの場合、受け入れ側のデータストレージの設計は多次元である。
多次元データベース(MDB)は、データウェアハウスおよびOLAP用途に向けて最適化されたデータベースの一種である。
OLAPシステムは、それぞれいくつかの次元を有する多次元キューブ、すなわちハイパーキューブを定義するために使用され、ハイパーキューブでの動作をサポートするはずである。動作としては、例えば、スライシング、値のグループ化、ドリルダウン、ロールアップ、キューブの異なるハイパープレーンまたは射影の表示、代数演算、および集成体型動作が挙げられる。
MDBは、ほぼ例外なく既存の関係データベースからの入力を使用して作成される。したがって、大半のOLAPシステムは、関係データベースからデータを読み取ってOLAPキューブに入れる内蔵ツールまたはインタフェースを有する。
この関連で、図1を参照してデータウェアハウスの概要を示す。情報がまず、別個のサーバによりオペレーションソースから抽出され、次にクリーニングおよび変換が行われて、データウェアハウスにロードされる(ETL)。多くの場合、OLTP(オンライントランザクション処理)システムから導出される生産データは、異種のリモートリポジトリの集まりに常駐し、1つのクリーンストアに統合できるようになるまでには相当なマッサージを受けなければならない。
データは、リモートソースから抜き出されるとデータウェアハウスに配置され、この時点では大抵、関係データベースである。データウェアハウス自体は、一企業規模のエンティティおよび/または企業データの何等かのサブセットをそれぞれ含む一連のデータマートとして構築することができる。いずれの場合でも、DSSシステムに実際に分析機能を供給するのはOLAPサーバの仕事になる。
実際には、ROLAP(関係OLAP)およびMOLAP(多次元OLAP)として知られている2つの形態のOLAPサーバがある。これらの違いは、システムの内部がどのように編成されるかに関係する。概念上、それぞれの目的は類似する。
最後に、フロントエンドツールが、ユーザフレンドリ(多くの場合、グラフィカル)インタフェースを、システムを利用する知識労働者に提供する。
ROLAPデータベースは、多くの場合、周知のスタースキームまたはスノーフレークスキームで並べられ、ファクトテーブルを示す中央のプライマリテーブルが次元テーブルを示すいくつかのセカンダリテーブルに関連付けられる。1つのファクトテーブルが多くの次元テーブルに関連付けられる。ファクトテーブルは、計算のベースとなるデータを含む。ファクトテーブル内のデータは最も詳細な情報を含む。次元テーブルは、計算をグループ化したいデータを含む。他のテーブルに基づく計算から生じるテーブル内のデータは、集計データと示される。
オープンデータベース接続(ODBC)を使用して、データを既存の関係データベースからインポートして、OLAP用の多次元データベースを作成することができる。
2つの主要なOLAP製品は、ハイペリオンソリューション(Hyperion Solution)のエスベース(Essbase)およびオラクル(Oracle)のエクスプレスサーバ(Express Server)である。ハイペリオンエスベースは、エスベースインテグレーションサービス(EIS:Essbase Integration Services)を介してメタデータ駆動環境を提供して、ハイペリオンエスベースに構築されたビジネス分析アプリケーションを関係データベースに記憶されている詳細データと統合する。EISは、ビジネス分析アプリケーションの作成、開発、および管理の時間および費用を劇的に削減するグラフィカルツールスイート、データ統合サービス、およびメタデータカタログを提供する。EISは、データおよびメタデータを、IBM DB2、オラクル、テラデータ(Teradata)、マイクロソフト(Microsoft)SQLサーバ、サイベース(Sybase)、およびインフォミックス(Informix)を含むすべての主要な関係データベースからデータをハイペリオンエスベースに移す方法を提供する。
OLAP市場に伴う問題の1つは、成長しているが、断片化した市場であることである。競合製品間の相互運用性は、非標準API(アプリケーションプログラムインタフェース)、他のこのような基本技術、および競争の圧力により、あったとしても最小であった。多次元データベースの主要なクエリ言語はMDXであり、これはOLAPデータベースを照会するために作成され、分析アプリケーションの分野内で広く利用されるようになった。MDXは、OLAP用OLE DBの言語構成要素をなし、多次元データソースのクエリ発行の標準としてマイクロソフト株式会社により設計された。
データの多次元概念ビュー、次元動作、集計、直観的データ操作、および報告を提供するために、広範囲のソフトウェアツールがOLAPユーザに提供されている。しかし、こういったツールは高価であり、多くの場合、OLAP市場範囲の独自のMDBインプリメンテーションと相互運用性がない。
したがって、この相互運用性の制約に取り組む必要がある。
本発明の利点は、多次元データベースがデータを異なる種類の多次元データベースから調達できるようにし、それにより、異なるデータベースベンダーからのデータベース間に相互運用性を提供することである。
本発明の別の利点は、多次元データベースを特にサポートしない関係データベースツールを多次元データベースと併せて使用できるようにすることである。例えば、マイクロソフトエクセル(Microsoft Excel)のSQL機能を本発明の一実施形態と併せて使用して、多次元データソースを読み取ることができる。
本発明は、SQLクエリを発行して関係データベースからデータをインポートする現在のOLAPサーバの機能を利用し、この既存の機能を使用することで、ソースOLAPキューブ内にあるデータを宛先OLAPキューブに移し、その結果、宛先OLAPキューブで動作可能な分析ツールをソースOLAPキューブデータに対して使用することができるようになる。
広い態様では、本発明は、関係データベースクエリを多次元データベースクエリに変換するシステム、方法、およびインタフェースを提供する。通常、こういった関係クエリはSQLクエリであるのに対して、多次元データベースクエリはMDXクエリである。
本発明の第1の態様によれば、未知の構成のデータソースを既知の構成のデータソースにマッピングする方法であって、
a.メタデータ要求を未知の構成のデータソースにサブミットするステップと、
b.未知の構成のデータソースから受け取ったメタデータに基づいて、既知の構成から関係スキーマを生成するステップと、
c.生成された関係スキーマのメタデータを返すステップであって、返されるメタデータは未知の構成のデータソースを既知の構成にマッピングするステップと、
を含む方法が提供される。
a.メタデータ要求を未知の構成のデータソースにサブミットするステップと、
b.未知の構成のデータソースから受け取ったメタデータに基づいて、既知の構成から関係スキーマを生成するステップと、
c.生成された関係スキーマのメタデータを返すステップであって、返されるメタデータは未知の構成のデータソースを既知の構成にマッピングするステップと、
を含む方法が提供される。
第1の態様の一実施形態では、未知の構成のデータソースは多次元データベースである。
第1の態様のさらなる一実施形態では、既知の構成はスタースキーマまたはスノーフレークスキーマである。
本発明の利点は、新しいキューブをデータソースに動的に追加できることである。
第1の態様のさらなる一実施形態では、方法は、
a.データ消費者から、生成された関係スキーマに対するデータクエリを受け取るステップと、
b.受け取ったクエリをデータソースによりサポートされる1つまたは複数のクエリに変換するステップであって、それにより、データソースからデータを検索するステップと、
c.データソースから検索されたデータをデータ消費者に返すステップと、
を含む。
a.データ消費者から、生成された関係スキーマに対するデータクエリを受け取るステップと、
b.受け取ったクエリをデータソースによりサポートされる1つまたは複数のクエリに変換するステップであって、それにより、データソースからデータを検索するステップと、
c.データソースから検索されたデータをデータ消費者に返すステップと、
を含む。
本発明の第2の態様は、データソースにサブミットされるクエリを変換する方法であって、クエリはデータソースによりサポートされない言語のものであり、方法は、
a.データ消費者からクエリを受け取るステップであって、クエリは既知の構成のスキーマに基づくステップと、
b.受け取ったクエリを、データソースによりサポートされる1つまたは複数のクエリに変換するステップであって、それにより、上記既知の構成から生成されたスキーマおよび上記データソースからのメタデータを使用してデータソースからデータを検索するステップと、
c.上記データソースから検索されたデータをデータ消費者に返すステップと、
を含む方法を提供する。
a.データ消費者からクエリを受け取るステップであって、クエリは既知の構成のスキーマに基づくステップと、
b.受け取ったクエリを、データソースによりサポートされる1つまたは複数のクエリに変換するステップであって、それにより、上記既知の構成から生成されたスキーマおよび上記データソースからのメタデータを使用してデータソースからデータを検索するステップと、
c.上記データソースから検索されたデータをデータ消費者に返すステップと、
を含む方法を提供する。
本発明の第3の態様は、データ消費者により発行される、データソースによりサポートされていない言語のクエリをデータソースがサポートする言語のクエリに変換するアダプタであって、
a.既知の構成の関係スキーマを生成する手段と、
b.上記既知の構成に対するクエリを受け取るインタフェースと、
c.データソースを表すモデルオブジェクトを含むメタデータモデルと、
d.上記データソースを上記既知の構成でデータ消費者に提示する変換アルゴリズムと、
を備えるアダプタを提供する。
a.既知の構成の関係スキーマを生成する手段と、
b.上記既知の構成に対するクエリを受け取るインタフェースと、
c.データソースを表すモデルオブジェクトを含むメタデータモデルと、
d.上記データソースを上記既知の構成でデータ消費者に提示する変換アルゴリズムと、
を備えるアダプタを提供する。
各種態様の一実施形態では、未知の構成のデータソースは多次元データベースであり、既知の構成はスター関係スキーマまたはスノーフレーク関係スキーマであり、データソースのサポートされる言語MDXであり、サポートされない言語はSQLである。
本発明の一実施形態では、アダプタは、SQLを入力とし、MDXクエリを多次元データソースに対して実行するODBCドライバである。
本発明のさらなる実施形態では、アダプタは、多次元キューブのスタースキーマまたはスノーフレークスキーマで、関係テーブルの概念セットに基づいてビューを提示して、OLAPデータベースシステムにインポートする。さらなる実施形態では、多次元キューブはSAP BW(ビジネス情報ウェアハウス)キューブであり、OLAPデータベースシステムは、ハイペリオン統合サービス(EIS)を有するハイペリオンエスベースである。
特定の一実施形態では、アダプタは、ODBC、JDBC、またはOLE−DBを介してアクセスされるODBCドライバである。
一実施形態または緒実施形態をこれより単なる例として、図面を参照して説明する。
以下を参照により援用する。
[GoF95]E.ガンマ(Gamma)、R.ヘルム(Helm)、R.ジョンソン(Johnson)、J.ブリシデス(Vlissides):Design Patterns−Elements of Reusable Object−Oriented Software、アディソン−ウェスレイ(Addison−Wesley)、1995年
[POSA1]F.ブッシュマン(Buschmann)、R.ムニエ(Meunier)、H.ローネルト(Rohnert)、P.ゾンメルラード(Sommerlad)、M.スタル(Stal):Pattern−Oriented Software Architecture−A System of Patterns−第1巻、ウィリー(Wiley)、1996年
[DevGuide]シンバテクノロジーズ(Simba Technologies):Development Guide For Windows
[GoF95]E.ガンマ(Gamma)、R.ヘルム(Helm)、R.ジョンソン(Johnson)、J.ブリシデス(Vlissides):Design Patterns−Elements of Reusable Object−Oriented Software、アディソン−ウェスレイ(Addison−Wesley)、1995年
[POSA1]F.ブッシュマン(Buschmann)、R.ムニエ(Meunier)、H.ローネルト(Rohnert)、P.ゾンメルラード(Sommerlad)、M.スタル(Stal):Pattern−Oriented Software Architecture−A System of Patterns−第1巻、ウィリー(Wiley)、1996年
[DevGuide]シンバテクノロジーズ(Simba Technologies):Development Guide For Windows
以下の説明では、同様の符号は図中の同様の構造を指す。以下の定義により、多次元ビューを反映した、OLAPにとって基本的な概念を紹介する。
「次元」はデータを分類する構造である。一般に使用される次元としては、顧客、製品、および時間が挙げられる。通常、次元には1つまたは複数の階層が関連付けられる。メジャー(measure)と組み合わせられたいくつかの別個の次元により、エンドユーザがビジネスでの質問に答えられるようにする。例えば、月でデータを分類する時間次元は、質問「1月または6月は製品の売り上げが多かったか」に答えるのに役立つ。
「メジャー」は、調べて分析できるデータ、通常は数値および加算を含む。通常、1つまたは複数の次元が所与のメジャーを分類し、これは「次元化」と記述される。
「階層」は、親子関係で次元要素を編成する手段として順序付きレベルを使用する論理構造である。通常、エンドユーザはレベルをドリルダウンまたはドリルアップすることで階層を拡張または折り畳むことができる。
「レベル」は階層中の位置である。例えば、時間次元は、日、月、四半期、および年のレベルでデータを表す階層を有し得る。
「属性」は、エンドユーザがデータ選択のために指定できる次元の要素の記述的特徴である。例えば、エンドユーザは、カラー属性を使用して製品を選択することができる。いくつかの属性は、他のテーブルへのキーまたは関係を表すことができる。
「クエリ」は、クエリの結果セットと呼ばれる特定のデータセットの仕様である。仕様は、データの選択、集計、計算、または他の操作を要求することができる。このような操作が要求される場合、それはクエリに固有の部分である。
「スキーマ」は関係データベースオブジェクトの集まりである。2種類のスキーマ、すなわちスタースキーマおよびスノーフレークスキーマがデータウェアハウスの特徴である。スタースキーマは、1つまたは複数の次元テーブルに関係する1つまたは複数のファクトテーブルを含む。関係は、外部キーおよびメタデータを通して定義される。スノーフレークスキーマは、スタースキーマを一部または完全に正規化して、次元テーブル内で値が重複する数を低減したものである。
例えば、スタースキーマは、4列、すなわち市、州、地域、および国を有する1つの地理次元テーブルを有し得る。市列のみが主に一意の値を有するのに対して、その他の列では重複する値の数が増える。スノーフレークスキーマは、3つの関係する地理次元テーブルを有することができ、1つのテーブルには、市と州との関係を定義する2つの列(市および州)があり、第2のテーブルには、州と国との関係を定義する2つの列(州および国)があり、第3のテーブルには、地域と国との関係を定義する2つの列(地域および国)がある。
「キューブ」は多次元データの論理編成である。通常、キューブの次元は次元値を含み、キューブの本体はメジャー値を含む。例えば、売り上げデータは、時間、製品、および顧客の各次元からの値を次元に含み、売り上げメジャーからの値を本体に含むキューブに編成することができる。
「メタデータ」−通常、OLAPアプリケーションは、分析する情報を蓄える関係データベースと異なる概念モデルを利用する。そのため、OLAPアプリケーションが実行されると、要求されたデータが関係データベースからフェッチされ、OLAPアプリケーションが使用できる多次元形態に変換される。データを正しくフェッチして処理するためには、フェッチされる関係データベースの列とこれら列の役割とを識別しなければならない。この識別はメタデータにより行われる。
メタデータは、データを正しくフェッチして計算するために関係データベース内のデータおよびオブジェクトを記述するデータである。一般に、メタデータは、データソースが存在すること、ならびにそのデータソース内のデータの構造および特徴を意味するものと解釈することができる。例えば、販売個数(unitsSold)メジャーが存在すること、販売個数メジャーが数値を含むこと、ならびに販売個数メジャーが地理および製品により次元化されることはメタデータとみなされる。これとは対照的に、1998年にフロリダ州タラハシー(Tallahassee,Fla.)で製品が30個売れたことはデータとみなされる。次元メンバに関して、地理次元が存在すること、およびこれがメンバとしてストリング値を含むことは、メタデータの別の例であるが、地理が特定のストリング「フロリダ州タラハシー」を含むことはデータである。同様に、地理に対して定義される標準と呼ばれる階層があること、およびこれが市、州、および地域と呼ばれる3つのレベルを含むことはすべてメタデータとみなされるが、「フロリダ州タラハシー」が「フロリダ(Fla.)」の子であることはデータとみなされる。
したがって、メタデータは、OLAPアプリケーションが分析のために多次元オブジェクトを定義できるように、関係データベース内で利用可能なデータについてOLAPアプリケーションに通知するために使用される。OLAPアプリケーションは、実行されると、これら多次元オブジェクトをインスタンス化し、データベースからフェッチされたデータを投入する。
関係データベースの基本データモデルは、1列または複数列のデータを含むテーブルである。関係データベーステーブル内のデータはすべて、列で記憶される。これとは対照的に、基本多次元データモデルはキューブであり、メジャー、次元、および属性を含む。したがって、関係データベース内の特定の列からのデータが、多次元形態でメジャーとして機能するのか、次元として機能するか、それとも属性として機能するのかを識別することが重要である。さらに、どの列が関係データベースからのデータのインデックス付け及びフェッチのためのキーであるかをメタデータに識別させることが重要である。これら判断はメタデータおよび制約として記憶される。
特に、メタデータは、関係データベーステーブルに記憶されているファクトに対応するものとして多次元メジャーを定義する。用語「ファクト」は、通常、関係データベースで使用され、用語「メジャー」は、通常、多次元アプリケーションで使用される。したがって、メジャーはファクトテーブルに配置される。通常、ファクトテーブルは2種類の列、すなわちメジャー(またはファクト)および次元テーブルへの外部キーである。メジャーは、売り上げまたはコスト等の分析するデータを含む。本発明の一実施態様では、列がメジャーとして識別されるべき数値データ型または日データ型を有する必要がある。さらに頻繁に、メジャーは数値および加算である。次元テーブル内の1つまたは複数の列が、ファクトテーブルへの制約を形成する。これら制約は、ファクトテーブル内の外部キーおよびメタデータのうちの一方または両方により定義される。
次元は、OLAPアプリケーションデータを識別して分類する。関係データベースシステムでは、次元メンバは次元テーブルに記憶される。各列は階層内の特定のレベルを表す。スタースキーマでは、列はすべて同じテーブル内にあり、スノーフレークスキーマでは、列は各レベル毎に別個のテーブル内にある。通常、メジャーは多次元であるため、メジャー内の1つの値が各次元のメンバにより有意であると見なされなければならない。例えば、販売メジャーは、製品、地理的エリア、および時間の次元を有し得る。販売メジャー内の値(37854)は、製品(DVDプレーヤ)、地理的エリア(環太平洋)、および時間(2001年3月)により適格であると見なされた場合のみ意味を持つ。データウェアハウスで次元を定義すると、メタデータが作成されることに加えてデータベース次元オブジェクトが作成される。次元オブジェクトは、次元テーブル内の列間の親子関係の詳細を含み、データを含まない。データベース次元オブジェクトは、データウェアハウスを最適化するためにサマリアドバイザおよびクエリリライトにより使用される。しかし、多次元側では、次元は、個々の製品の名称、地理的エリア、および時間期間等のデータを含まない。OLAP APIは、メタデータ、次元オブジェクト、および次元テーブルを使用して、次元を構築する。
階層は、レベルに従ってデータを編成する一つの方法である。次元は、分析および表示のために異なる集計レベルのデータを一緒に効率的に操作できるように階層的に構造化される。各次元は少なくとも1つのレベルを有さなければならない。各レベルは階層内の位置を表す。レベルは、集計のためにデータをグループ化し、計算のために内部で使用される。ベース(または最低)レベルよりも上の各レベルは、それ未満のレベルの集計合計を表す。例えば、時間次元は時間次元階層のレベルに日、週、四半期、および年を有し得る。売り上げメジャーのデータが日で記憶される場合、より高いレベルの時間次元により、売り上げデータを週、四半期、および年に正しく集計することができる。異なるレベルにある階層のメンバは、1対多の親子関係を有する。例えば、「QTR1」および「QTR2」は「YR2001」の子であり、したがって、「YR2001」は「QTR1」および「QTR2」の親である。2つ以上の階層が次元に対して定義される場合、階層は同じベースレベルを有さなければならない。例えば、暦年に1つ、会計年に1つ、合計2つの階層を時間次元に定義することができる。両方の階層はベースレベルに日を使用する。次元の全レベルは次元テーブルに記憶される。次元は複数の階層を有することができるが、それらはすべて同じベースレベルを有さなければならない。そのレベルの値は、次元テーブルをファクトテーブルに結合するために使用されるキーに記憶される。
属性は、特定のレベルにある次元メンバについての補助情報を提供する。時間期間の「T296」の値のように次元メンバ自体は意味を持たないため、多くの場合、属性は表示に使用される。例えば、従業員数(ENUM)、姓(LAST_NAME)、名(FIRST_NAME)、および内線番号(TELNO)に列があり得る。ENUMは、キー列であり、その値は従業員を一意に識別するため、レベルに最適な選択である。ENUMはまたNUMBERデータ型も有し、インデックスの作成がテキスト列よりも効率的になる。LAST_NAME、FIRST_NAME、およびTELNOは属性である。ENUMにより次元化されても、これらはビジネス測度ではなく記述テキストであるため、適したメジャーにならない。属性には、次元階層の特定のレベルが関連付けられ、そのレベルと同じテーブルに記憶されなければならない。
図2を参照して、本発明の一実施形態による、データ消費者により発行されるクエリをデータソース202のクエリに変換するアダプタ180の構造を示す。アダプタは、APIブリッジ182(JDBC等の特定の接続に向けて構成される)、ウィンドウズ(Windows)またはユニックス(Unix)アプリケーションがデータにアクセスするためのデータアクセスインタフェースを提供するODBCシェル184、ODBC関数呼び出しを処理し、SQL文をパーズし、データベースレコードマネージャ(DRM)200を通してデータにアクセスする最適なプランを生成するクエリプロセッサ186であって、データベースレコードマネージャ(DRM)200はデータソース202にマッピングするための低レベル関数セットを提供するクエリプロセッサ186、通常はSQLエンジンを含む。DRM200は、クエリプロセッサ186を介して受け取ったSQL要求をOLAPアクセスクエリに変換して、多次元データソース202にアクセスする。DRMは各データソースに向けてカスタマイズされる。アダプタ180の新規の態様をより詳細に以下において説明する。APIブリッジ182、ODBCシェル184、およびクエリプロセッサ186は、通常、当分野において周知であるため、詳細に説明しないと理解されたい。クエリプロセッサ186の一実施態様の一例は、ODBC2.5標準およびSQL−92シンタックスをサポートするシンバテクノロジーズ(Simba Technologies)によるシンバエンジン(SimbaEngine)として知られているSQLエンジンである。
アダプタの中心には、変換層206およびOLAPアクセス層208を含むDRM200がある。一実施形態では、変換層206は仮想スタースキームまたはスノーフレークスキームをクエリエンジン186に提示する。変換層206の下には、多次元データソース202と通信するOLAPアクセス層208がある。OLAPアクセス層208は、特定の多次元データソース202との作業に関わる詳細をカプセル化する。本実施形態を、MDX言語をサポートする多次元データソース202に関連して説明するが、本発明のアダプタはあらゆる多次元データソースと通信するように拡張可能である。
本発明の特定の一実施態様を、ハイペリオンエスベース統合サービス(EIS)を使用してSAP BWに接続するODBCドライバの提供に関連して説明する。ODBCドライバは、ODBCドライバ開発用のSDKである、先に参照したシンバエンジンを使用して開発された。
上述したように、MDXは、多次元データソースとの通信に使用される最も一般的な言語であり、現在、SAP BW、マイクロソフト分析サービス(Microsoft Analysis Services)、ハイペリオンエスベース、アプリックス(Applix)iTM1、MISアレア(MIS Alea)、INEA、アレリ(Aleri)、アームストロングレイングEPO(Armstrong Laing EPO)、デシシス(Descisys)のテラソルブ(TeraSolve)等によりサポートされている。
MDXはクエリ言語であるが、MDXデータソースに接続するために使用されるアクセスプロトコルは、OLAP用OLE DB(ODBO)またはアナリシス用XML(XMLA)である。したがって、本発明によるアダプタは、ODBOまたはXMLAを介してあらゆるMDXデータソースに接続することができる。
動作に関して、アダプタ180はスタービューまたはスノーフレークビューのキューブを提示する。データ消費者は、仮想スター/スノーフレークに対するSQLクエリを生成する。アダプタ180は、SQL文をパーズし、SQL文の遂行に適当なMDX文を生成する。複数のMDX文が必要な場合、アダプタはその結果を再び一緒に組み立てる。
一実施形態では、アダプタ180は、要求されるデータ量を低減し、できるだけ多量の処理をデータソースのMDXエンジンに委ね、アダプタ180が行う必要のある作業量を低減するように最適化することができる。
上述したように、変換エンジン206は、キューブのメタデータをスター/スノーフレークスキーマにマッピングする。アダプタ180は、SQLストリングに応答し、SQLストリングを1つまたは複数のMDX文にマッピングまたは変換することができ、MDX文を生成する。アダプタは、join文を処理し、結果として得られたデータが正にSQL文が要求したものであるようにMDX文により返されたデータをフィルタリングする。
図3を参照して、アダプタ180を使用してSAP BW等のソース多次元データベース202から、EISを介するハイペリオンエスベース等のOLAPシステム302内の宛先キューブ301にインポートする構造の高レベル図を示す。以下に、OLAPシステム302からアダプタ180へのシナリオおよびアクション、ODBCインタフェースを介してOLAPシステムから使用可能な関係スキーマへの多次元データベース概念のマッピング、上記マッピングを遂行するためのアダプタ180内のデータフロー、ならびにアダプタサブシステムでの責任区分およびデータフローの理解について説明する。
好ましい実施形態では、アダプタは関係スキーマのXMLモデル304を供給して、OLAPシステム内の多次元キューブのモデリングプロセスを簡易化する。
以下、DRM200を概念およびサブシステムの視点から説明する。概念の視点では、データモデルおよびデータモデルのプロセス間での変換について説明する。サブシステムの視点はデータモデルの具体的な観点であり、個別のより具体的な概念への機能のカプセル化を提供する。
上述したように、アダプタは、多次元スキーマを関係スキーマにマッピングするODBCドライバである。これにより、OLAPシステムは、ODBCインタフェースを使用してデータを多次元データからロードできるようになる。例えば、EISと併せてアダプタを使用するプロセスは、ウェアハウスからキューブを選択し、最終的にXMLモデルを生成するプロセスを通してユーザをガイドするウィザードを除き、他の任意のODBCドライバを使用するプロセスと同様である。アダプタの動作は、以下の使用事例を最初に参照することで最もよく理解することができる。
使用事例
以下に、アダプタが果たす基本的な使用事例を概説する。アダプタの使用に関わる主なアクティビティは、DSNの作成、アダプタへのログイン、OLAPモデルの構築、およびデータの抽出を含む。OLAPシステムは、アダプタが生成するXMLモデルを自動的にインポートすることができる。図4は基本的な使用事例400を示す。データベースの接続に各種規格およびプロトコルが存在し、分析ツールについての同様であることに留意されたい。上述したように、本発明の使用事例をSAP BWおよびハイペリオンエスベース製品の文脈で説明するが、本発明の教示は他のデータベースシステムおよび分析ツールに容易に適用することができる。
以下に、アダプタが果たす基本的な使用事例を概説する。アダプタの使用に関わる主なアクティビティは、DSNの作成、アダプタへのログイン、OLAPモデルの構築、およびデータの抽出を含む。OLAPシステムは、アダプタが生成するXMLモデルを自動的にインポートすることができる。図4は基本的な使用事例400を示す。データベースの接続に各種規格およびプロトコルが存在し、分析ツールについての同様であることに留意されたい。上述したように、本発明の使用事例をSAP BWおよびハイペリオンエスベース製品の文脈で説明するが、本発明の教示は他のデータベースシステムおよび分析ツールに容易に適用することができる。
DSN(データソース名)の作成
使用事例400は、アダプタおよびデータベースフロントエンドがクライアントコンピュータにインストールされた後、ユーザ402がODBCデータソース管理者制御パネル(図示せず)を使用して新規のDSNを作成すると開始される。DSNがODBCドライバを通してデータベースに接続を提供することは周知である。1つまたは複数のGUIダイアログが、ウェアハウスに接続するために、システム名、ユーザ名、パスワード、クライアント、および使用言語の入力を促す。正しくない情報が入力された場合、ユーザがDSNの作成をキャンセルするか、または正しい情報を入力するまで、情報の入力が促され続ける。
使用事例400は、アダプタおよびデータベースフロントエンドがクライアントコンピュータにインストールされた後、ユーザ402がODBCデータソース管理者制御パネル(図示せず)を使用して新規のDSNを作成すると開始される。DSNがODBCドライバを通してデータベースに接続を提供することは周知である。1つまたは複数のGUIダイアログが、ウェアハウスに接続するために、システム名、ユーザ名、パスワード、クライアント、および使用言語の入力を促す。正しくない情報が入力された場合、ユーザがDSNの作成をキャンセルするか、または正しい情報を入力するまで、情報の入力が促され続ける。
ウェアハウスが接続を確立すると、別のダイアログが、カタログのリストを表示し、DSNと併せて使用するカタログの入力を促す。OLAPシステムが使用できるDSNが作成される。
OLAPシステムが実行されると、新規モデルが作成されるか、またはアダプタを使用して作成された既存のモデルまたはアウトラインが選択されて、開かれる。アダプタを使用して作成されたDSNが選択され、ユーザ名およびパスワードが入力される。OLAPシステムはアダプタに接続され、選択されたモデルまたはアウトラインが開かれる。
XMLモデルの生成
OLAPシステムが実行され、アダプタにログインすると、イベントの流れは、ユーザが現在のDSNのカタログ内のキューブリストからキューブを選択することである。OLAPシステムは、選択されたキューブ名を供給する、アダプタ内のストアドプロシージャを実行する。アダプタは、キューブについてのメタデータ情報を検索し、多次元から関係へのマッピングというタイトルで後述するステップに概説するマッピングを実行する。アダプタは、マッピングに基づいてXMLモデルを作成し、ストアドプロシージャからOLAPシステムにマッピングを返す。これが行われてしまえば、OLAPシステムはXMLモデルを受け取り、これを使用してOLAPモデルをキューブに作成することができる。
OLAPシステムが実行され、アダプタにログインすると、イベントの流れは、ユーザが現在のDSNのカタログ内のキューブリストからキューブを選択することである。OLAPシステムは、選択されたキューブ名を供給する、アダプタ内のストアドプロシージャを実行する。アダプタは、キューブについてのメタデータ情報を検索し、多次元から関係へのマッピングというタイトルで後述するステップに概説するマッピングを実行する。アダプタは、マッピングに基づいてXMLモデルを作成し、ストアドプロシージャからOLAPシステムにマッピングを返す。これが行われてしまえば、OLAPシステムはXMLモデルを受け取り、これを使用してOLAPモデルをキューブに作成することができる。
データの抽出
OLAPシステムが実行され、メタアウトライン[NTD:メタ−アウトラインが何か]がロードされる。ユーザは、メタ−アウトラインのメンバまたはデータのロードを選択する。OLAPシステムは、検索するデータを指定する1つまたは複数のSQL文をアダプタに送る。アダプタは、各SQL文で要求されたテーブルを判断し、1つまたは複数のMDX文を実行して、各SQL文を満足させる。アダプタは、多次元キューブから返された結果をテーブルフォーマットに変換し、そのテーブルをOLAPシステムに返す。選択されたデータが、アダプタからOLAPシステムフォーマットに抽出される。
OLAPシステムが実行され、メタアウトライン[NTD:メタ−アウトラインが何か]がロードされる。ユーザは、メタ−アウトラインのメンバまたはデータのロードを選択する。OLAPシステムは、検索するデータを指定する1つまたは複数のSQL文をアダプタに送る。アダプタは、各SQL文で要求されたテーブルを判断し、1つまたは複数のMDX文を実行して、各SQL文を満足させる。アダプタは、多次元キューブから返された結果をテーブルフォーマットに変換し、そのテーブルをOLAPシステムに返す。選択されたデータが、アダプタからOLAPシステムフォーマットに抽出される。
多次元から関係スキーマへのマッピング
このセクションでは、キューブ/ODBO概念の関係スキーマへのマッピングについて概説する。このマッピングは、アダプタがXMLモデルを作成するステップおよびデータを抽出するステップを行えるようにするために行われる。
このセクションでは、キューブ/ODBO概念の関係スキーマへのマッピングについて概説する。このマッピングは、アダプタがXMLモデルを作成するステップおよびデータを抽出するステップを行えるようにするために行われる。
テーブルの説明
図5を参照して、関係テーブル500を使用したデータソース202のキューブ表現を示す。キューブは、ファクトテーブルを中心にしたスノーフレークスキーマを使用して表される。ファクトテーブルの周囲はすべて次元テーブルおよび時間テーブルである。時間次元はすべて、ファクトテーブルに結合された1つの時間テーブルに折り畳まれる。次元テーブルは、次元のフラットなデフォルト階層を表す。SAP BWでは、すべての次元は1レベルを有するデフォルト階層を有する。次元が任意の代替階層を有する場合、代替階層は2つの形態で表される。第1に、代替階層内の各レベルがテーブルとして表される。代替階層内で最低レベルを表すテーブルが次元テーブルに結合される。第2の形態では、階層内のすべてのメンバは、階層関係がメンバ/子および親の列内に含まれる親子(または再帰)テーブルで表される。
図5を参照して、関係テーブル500を使用したデータソース202のキューブ表現を示す。キューブは、ファクトテーブルを中心にしたスノーフレークスキーマを使用して表される。ファクトテーブルの周囲はすべて次元テーブルおよび時間テーブルである。時間次元はすべて、ファクトテーブルに結合された1つの時間テーブルに折り畳まれる。次元テーブルは、次元のフラットなデフォルト階層を表す。SAP BWでは、すべての次元は1レベルを有するデフォルト階層を有する。次元が任意の代替階層を有する場合、代替階層は2つの形態で表される。第1に、代替階層内の各レベルがテーブルとして表される。代替階層内で最低レベルを表すテーブルが次元テーブルに結合される。第2の形態では、階層内のすべてのメンバは、階層関係がメンバ/子および親の列内に含まれる親子(または再帰)テーブルで表される。
ファクトテーブル
図5に示す実施形態では、ファクトテーブルの名称はFactTableである。このテーブルは以下のように定義することができる。
i.各メジャーに1列。列の名称はそのメジャーの一意名である。列の内容はメジャーデータである。
ii.時間次元に1列。列の名称は最大時間次元の一意名である。列の内容は、最大時間次元からのメンバの一意名である。各非時間次元に1列。列の名称は次元の一意名である。列の内容は次元からのメンバの一意名である。
図5に示す実施形態では、ファクトテーブルの名称はFactTableである。このテーブルは以下のように定義することができる。
i.各メジャーに1列。列の名称はそのメジャーの一意名である。列の内容はメジャーデータである。
ii.時間次元に1列。列の名称は最大時間次元の一意名である。列の内容は、最大時間次元からのメンバの一意名である。各非時間次元に1列。列の名称は次元の一意名である。列の内容は次元からのメンバの一意名である。
次元テーブル
i.各次元テーブルの名称は、次元の一意名である。
ii.メンバの一意名、メンバ名、メンバキャプション、および説明を含む4列。各列の列名はMemberUniqueName、MemberName、MemberCaption、MemberDescriptionである。
iii.各特徴属性に1列。特徴属性はODBO内の次元プロパティとして表される。列名は、次元プロパティ名に次元プロパティキャプションが付いたものである。列の内容は次元プロパティの値である。
i.各次元テーブルの名称は、次元の一意名である。
ii.メンバの一意名、メンバ名、メンバキャプション、および説明を含む4列。各列の列名はMemberUniqueName、MemberName、MemberCaption、MemberDescriptionである。
iii.各特徴属性に1列。特徴属性はODBO内の次元プロパティとして表される。列名は、次元プロパティ名に次元プロパティキャプションが付いたものである。列の内容は次元プロパティの値である。
すべての次元プロパティが表される。ODBOでは、InfoObjectのKey、Short text、Medium text、およびLong textに次元プロパティがある。これらプロパティは、値が標準ODBOプロパティを通して利用可能であるため、提示されない。
レベルテーブル
i.各レベルテーブルの名称はレベルの一意名である。
ii.レベルテーブルの列は次元テーブルと同じであるが、親の一意名を含む追加の列を有することができる。この列の列名はParentUniqueNameである。この列は、階層の最上レベルを表すテーブル内で提示されない。
i.各レベルテーブルの名称はレベルの一意名である。
ii.レベルテーブルの列は次元テーブルと同じであるが、親の一意名を含む追加の列を有することができる。この列の列名はParentUniqueNameである。この列は、階層の最上レベルを表すテーブル内で提示されない。
親子テーブル
i.テーブルの名称は階層の一意名である。
ii.レベルテーブルの列は次元テーブルと同じであるが、親の一意名を含む追加の列を含む。この列の列名はParentUniqueNameである。
i.テーブルの名称は階層の一意名である。
ii.レベルテーブルの列は次元テーブルと同じであるが、親の一意名を含む追加の列を含む。この列の列名はParentUniqueNameである。
時間テーブル
i.時間テーブルの名称はTimeである。
ii.各時間次元は、メンバに一意名、メンバ名、およびメンバキャプションを含む3列を有する。各列の列名はMemberUniqueName、MemberName、MemberCaptionである。
iii.時間テーブルは、キューブ内のすべての時間次元からのメンバの空ではないクロス結合を含む。
i.時間テーブルの名称はTimeである。
ii.各時間次元は、メンバに一意名、メンバ名、およびメンバキャプションを含む3列を有する。各列の列名はMemberUniqueName、MemberName、MemberCaptionである。
iii.時間テーブルは、キューブ内のすべての時間次元からのメンバの空ではないクロス結合を含む。
時間表現
エスベースとは対照的に、SAP BWは複数の次元を使用して時間を表現する。時間次元は1つの時間テーブルに組み合わせされて、階層を構築できるようにする。BW表現の1つの悪影響は、エスベースの時間次元内の階層を手作業で構築する必要があることである。
エスベースとは対照的に、SAP BWは複数の次元を使用して時間を表現する。時間次元は1つの時間テーブルに組み合わせされて、階層を構築できるようにする。BW表現の1つの悪影響は、エスベースの時間次元内の階層を手作業で構築する必要があることである。
階層表現
階層は、階層内の各レベルに1つのテーブルがあるスノーフレークスキーマを使用して表される。階層は、親子テーブルまたは再帰テーブルを使用して表すこともできる。表現の選択によりいくつかのトレードオフが発生する。スノーフレーク表現はハイブリッド分析をサポートするが、不揃いの(またはODBOではアンバランスな)階層の最低レベルの葉のみがデータを含む。最低レベルにない葉はデータを含まない。親子表現は不揃いの階層をサポートするが、ハイブリッド分析に使用することができない。
階層は、階層内の各レベルに1つのテーブルがあるスノーフレークスキーマを使用して表される。階層は、親子テーブルまたは再帰テーブルを使用して表すこともできる。表現の選択によりいくつかのトレードオフが発生する。スノーフレーク表現はハイブリッド分析をサポートするが、不揃いの(またはODBOではアンバランスな)階層の最低レベルの葉のみがデータを含む。最低レベルにない葉はデータを含まない。親子表現は不揃いの階層をサポートするが、ハイブリッド分析に使用することができない。
MDXでは、各次元から1つだけの階層をクエリに使用することができる。その結果、ファクトテーブルは各特徴の1階層からのメンバしか含むことができない。SAP BW内では、各特徴は、特徴内のすべてのメンバを含むデフォルトのフラットな階層を含む。その結果、デフォルト階層がファクトテーブルで使用する論理的な選択である。他のすべての代替階層は、デフォルト階層内のメンバのサブセットを含む。代替の階層内には、ポストできるノードおよびポストできないノードがある。階層が作成された特徴を参照するすべてのノードは、ポスト可能なノードである。すなわち、トランザクションデータは、ポスト可能なノードに対してのみ存在する。ポストできないノードは、作成された階層の特徴を参照しない。ポストできないノードは、階層内に含めて階層の構造を改良することができるテキストノードであるか、または外部特徴ノードである。ポスト可能なノードは、階層が作成された特徴を参照するため、デフォルトのフラットな階層内にもある。規則として、スノーフレークスキーマでは、代替階層の最低レベルは、ポストできないノードを含む。結果として、代替階層の場合、データは、代替階層の最低レベルを(1)デフォルト階層を表す次元テーブルおよび(2)ファクトテーブルに結合することによりロードされる。
階層の別の表現は、階層を1つのテーブルにフラット化し、ヌルプロモーション(null promotion)を使用して、すべての葉が次元テーブルに結合されることを保証する。この手法は、実施が比較的容易な他の2つの表現よりも技術的に難しいため、採用されない。
図6を参照して、結果として以下の表を生成する、国(レベル0)、州/県(レベル1)、市(レベル2)、および地区(レベル3)の単純な階層600を示す。この階層は市特徴内にあり、他のすべてのノードは外部特徴からであると仮定する。
図7を参照して、3次元および1階層を有する単純なBWキューブに生成される関係スキーマ700を示す。
BWから関係/XMLモデルへのマッピング
以下に、SAP BW/ODBOを使用する本発明の一実施態様を説明する。したがって、以下の表は、BW/ODBOアイテムの関係モデルおよびXMLモデル両方へのマッピングを示す。
以下に、SAP BW/ODBOを使用する本発明の一実施態様を説明する。したがって、以下の表は、BW/ODBOアイテムの関係モデルおよびXMLモデル両方へのマッピングを示す。
一意名に代えてキャプションを使用することができる。一意名は技術的な名称であるのに対して、キャプションは「フレンドリ」な名称である。すべての特徴が「フレンドリ」な名称を有するわけではないことに留意されたい。その結果、キャプションに代えて技術的な名称が使用される。
データフロー
図8を参照して、本発明の一実施形態によるDRM200の概念流れ図800を示す。この図では、「ドキュメント」形状は概念データアーティファクト(データ構造)を表し、矩形形状はアーティファクトに対する変換を表し、矢印付きの線はデータフローの方向を示す。矩形に入る矢印付き線は変換への入力を表し、矩形から出る矢印付き線は変換からの出力を表す。陰影付きのデータ形状および変換形状は、基礎データのセマンティクスから独立したデータ構造および変換をそれぞれ表す。換言すれば、SAP BW等のOLAPデータソースまたは、例えばハイペリオンEIS等の関係ターゲットについて仮定がなされない。破線はアダプタドライバの層境界を表す。
図8を参照して、本発明の一実施形態によるDRM200の概念流れ図800を示す。この図では、「ドキュメント」形状は概念データアーティファクト(データ構造)を表し、矩形形状はアーティファクトに対する変換を表し、矢印付きの線はデータフローの方向を示す。矩形に入る矢印付き線は変換への入力を表し、矩形から出る矢印付き線は変換からの出力を表す。陰影付きのデータ形状および変換形状は、基礎データのセマンティクスから独立したデータ構造および変換をそれぞれ表す。換言すれば、SAP BW等のOLAPデータソースまたは、例えばハイペリオンEIS等の関係ターゲットについて仮定がなされない。破線はアダプタドライバの層境界を表す。
アダプタ180は2つの広い機能、すなわちi)メタデータをマッピングして、OLAPメタデータ210を、スター構成またはスノーフレーク構成のいずれかを有する関係スキーマおよびOLAPシステムのXMLモデルに変換すること、およびii)利用可能なメタデータを使用してデータをマッピングして、関係データをフェッチする要求(すなわち、SQLクエリ)を変換してOLAPデータ要求にし、次に、フェッチされたOLAPデータを要求された関係形態に変換することを実行する。
アダプタ180が生成するデータアーティファクトは、i)OLAPキューブに対応するスノーフレークスキーマを提供する関係データ辞書224、ii)OLAPキューブに対応するXMLモデル222、およびiii)OLAPシステムにより発行されるSQLクエリの関係結果セット(図示せず)を含む。
以下のサブセクションに、アダプタ180内のデータフローの各ステップの詳細を説明する。
メタデータ変換212
入力:OLAPメタデータ210、出力:OLAP−関係スキーマ214
メタデータ変換ステップ212は、特定のキューブ(図示せず)についてのOLAP−関係スキーマ214をOLAPメタデータ210から構築する。それは、OLAP−関係マッピングを確実に有意なものにするために必要な任意のビジネスロジックを提供する働きをする。換言すれば、確実に変換プロセスでのビジネスセマンティクス喪失がほとんど無いようにする。例えば、SAP BWインプリメンテーションの場合、アダプタのメタデータ変換により、SAP BWが時間を表す独自の方法に基づいて(すなわち、別個の次元として)時間次元テーブルに適当なスキーマが構築される。
入力:OLAPメタデータ210、出力:OLAP−関係スキーマ214
メタデータ変換ステップ212は、特定のキューブ(図示せず)についてのOLAP−関係スキーマ214をOLAPメタデータ210から構築する。それは、OLAP−関係マッピングを確実に有意なものにするために必要な任意のビジネスロジックを提供する働きをする。換言すれば、確実に変換プロセスでのビジネスセマンティクス喪失がほとんど無いようにする。例えば、SAP BWインプリメンテーションの場合、アダプタのメタデータ変換により、SAP BWが時間を表す独自の方法に基づいて(すなわち、別個の次元として)時間次元テーブルに適当なスキーマが構築される。
OLAP−関係スキーマ214
このデータ構造は、関係およびOLAPの用語の両方でスタースキーマまたはスノーフレークスキーマを記述する。このような情報は、テーブル、列、結合、キューブ、レベル、階層、次元、メジャー、およびプロパティとして含まれる。OLAP−関係スキーマ214は、アダプタ180の残りの部分が要求されるOLAP−関係マッピングを正しく実行するのに十分な情報を提供する。
このデータ構造は、関係およびOLAPの用語の両方でスタースキーマまたはスノーフレークスキーマを記述する。このような情報は、テーブル、列、結合、キューブ、レベル、階層、次元、メジャー、およびプロパティとして含まれる。OLAP−関係スキーマ214は、アダプタ180の残りの部分が要求されるOLAP−関係マッピングを正しく実行するのに十分な情報を提供する。
XMLモデルジェネレータ216
入力:OLAP−関係スキーマ214、出力:XMLモデル222
このステップは、関係ターゲットが使うためのXMLモデル222を構築する。モデルの構築に必要なすべての情報は、OLAP−関係スキーマ214から得られる。
入力:OLAP−関係スキーマ214、出力:XMLモデル222
このステップは、関係ターゲットが使うためのXMLモデル222を構築する。モデルの構築に必要なすべての情報は、OLAP−関係スキーマ214から得られる。
XMLモデル222
このデータ構造は、接続されている特定の関係キューブにより定義されるモデルDTDに準拠したXMLドキュメントである。OLAPキューブからアダプタ180により構築された関係スキーマを記述するメタデータを含む。
このデータ構造は、接続されている特定の関係キューブにより定義されるモデルDTDに準拠したXMLドキュメントである。OLAPキューブからアダプタ180により構築された関係スキーマを記述するメタデータを含む。
データ辞書投入218
入力:OLAP−関係スキーマ214、出力:関係データ辞書224
データ辞書投入218ステップは、関係データ辞書224に、OLAP−関係スキーマ214から得られた関係メタデータを投入する。これは、主テーブルおよび列メタデータを含む。
入力:OLAP−関係スキーマ214、出力:関係データ辞書224
データ辞書投入218ステップは、関係データ辞書224に、OLAP−関係スキーマ214から得られた関係メタデータを投入する。これは、主テーブルおよび列メタデータを含む。
関係データ辞書224
これは、特定のスノーフレークスキーマの関係側面のみを記述するメタデータを含む仮想テーブルの集まりである。
これは、特定のスノーフレークスキーマの関係側面のみを記述するメタデータを含む仮想テーブルの集まりである。
SQLプッシュダウン/テーブルオープン要求226
アダプタ180の観点から、要求は、クエリエンジン186(シンバエンジン等)からのSQLプッシュダウン(最適化されているケース)またはベーステーブルに対するテーブルオープン要求(最適化されていないケース)のいずれかである。根本的に、両方とも、データ消費者から発行されたSQL文に由来しており、これが次に、アダプタのクエリエンジン186の部分により処理される。簡易化のために、テーブルTオープン要求は、SQLクエリselect * from Tと概念的に等価であると考えることができる。
アダプタ180の観点から、要求は、クエリエンジン186(シンバエンジン等)からのSQLプッシュダウン(最適化されているケース)またはベーステーブルに対するテーブルオープン要求(最適化されていないケース)のいずれかである。根本的に、両方とも、データ消費者から発行されたSQL文に由来しており、これが次に、アダプタのクエリエンジン186の部分により処理される。簡易化のために、テーブルTオープン要求は、SQLクエリselect * from Tと概念的に等価であると考えることができる。
ORQジェネレータ220
入力:OLAP−関係スキーマ214、SQLプッシュダウン/テーブルオープン要求226、出力:OLAP−関係クエリ(ORQ)230、関係データ辞書224の更新
ORQジェネレータ220ステップは、フェッチするOLAPデータおよびこれを要求される関係形態にどのように変換するかを記述したORQ230を作成する。ベーステーブルに対する要求ならびに各種の最適化技法を実施して派生テーブルを生成するプッシュダウン要求を処理する。このステップは、OLAP−関係スキーマ214を入力としてとる。このステップは、これから、作成しなければならない、関係テーブルに対応するOLAPメタデータ、そのテーブルがベーステーブルであるか、それとも派生(すなわち、最適化された)テーブルであるかを識別する。このメタデータを使用して、フェッチするOLAPデータを記述するORQ230が生成される。最適化されるケースで新しい派生テーブルを作成することの悪影響として、このステップはまた、関係データ辞書224を新しいテーブルの記述子で更新する。
入力:OLAP−関係スキーマ214、SQLプッシュダウン/テーブルオープン要求226、出力:OLAP−関係クエリ(ORQ)230、関係データ辞書224の更新
ORQジェネレータ220ステップは、フェッチするOLAPデータおよびこれを要求される関係形態にどのように変換するかを記述したORQ230を作成する。ベーステーブルに対する要求ならびに各種の最適化技法を実施して派生テーブルを生成するプッシュダウン要求を処理する。このステップは、OLAP−関係スキーマ214を入力としてとる。このステップは、これから、作成しなければならない、関係テーブルに対応するOLAPメタデータ、そのテーブルがベーステーブルであるか、それとも派生(すなわち、最適化された)テーブルであるかを識別する。このメタデータを使用して、フェッチするOLAPデータを記述するORQ230が生成される。最適化されるケースで新しい派生テーブルを作成することの悪影響として、このステップはまた、関係データ辞書224を新しいテーブルの記述子で更新する。
OLAP−関係クエリ(ORQ)230
これは、フェッチされるOLAPデータならびにフェッチされたデータをフォーマットしなければならない関係構造を記述するクエリ様の仕様である。それは、一般に、OLAPアクセス層156により実行されるクエリとして働く。ORQ230は、キューブからOLAPデータ240をフェッチするMDXクエリを生成するとともに、結果得られた軸行セット(axis rowset)およびセルデータに射影およびデータ型変換を適用するバインディングを生成するのに十分な情報を伝える。
これは、フェッチされるOLAPデータならびにフェッチされたデータをフォーマットしなければならない関係構造を記述するクエリ様の仕様である。それは、一般に、OLAPアクセス層156により実行されるクエリとして働く。ORQ230は、キューブからOLAPデータ240をフェッチするMDXクエリを生成するとともに、結果得られた軸行セット(axis rowset)およびセルデータに射影およびデータ型変換を適用するバインディングを生成するのに十分な情報を伝える。
ORQ230は、コマンド(Command)デザインパターン[GoF95]のコマンド(Command)の役割を果たす。コンポジット(Composite)パターン[GoF95]に従い、raw textとしてではなくオブジェクト構造としてインプリメントすることができる。
MDXジェネレータ234
入力:ORQ230、出力:MDXクエリテンプレート238
MDXジェネレータ234は、ORQ230を入力とし、MDXクエリ238の「テンプレート」を生成する。テンプレート238は複数回「インスタンス化」して、ORQにより指定されるOLAPデータのパーティションをフェッチするMDX文を作成することができる。
入力:ORQ230、出力:MDXクエリテンプレート238
MDXジェネレータ234は、ORQ230を入力とし、MDXクエリ238の「テンプレート」を生成する。テンプレート238は複数回「インスタンス化」して、ORQにより指定されるOLAPデータのパーティションをフェッチするMDX文を作成することができる。
MDXクエリテンプレート238
これは、ORQ230を使用してMDXジェネレータ234により作成される不完全なMDX SELECT文である。それは、パーティションサイズおよびパーティション開始順によりパラメータ化される。これらパラメータが提供されると、テンプレートクエリは、ORQ230により示されたOLAPデータ240の1つのパーティションを検索する完全なMDXクエリになる。
これは、ORQ230を使用してMDXジェネレータ234により作成される不完全なMDX SELECT文である。それは、パーティションサイズおよびパーティション開始順によりパラメータ化される。これらパラメータが提供されると、テンプレートクエリは、ORQ230により示されたOLAPデータ240の1つのパーティションを検索する完全なMDXクエリになる。
バインディングジェネレータ236
入力:ORQ220、出力:バインディング242
このステップはORQ230を入力とし、OLAPデータソースからフェッチされたROWS軸行セットおよびセルデータに列射影およびデータ型変換を適用するバインディングを生成する。
入力:ORQ220、出力:バインディング242
このステップはORQ230を入力とし、OLAPデータソースからフェッチされたROWS軸行セットおよびセルデータに列射影およびデータ型変換を適用するバインディングを生成する。
バインディング242
バインディングデータ構造242は、ROWS軸行セットおよびセルデータから抽出する列ならびに所望のターゲットデータ型を記述する。この構造は、バッファレイアウトの詳細を記述し、OLAPプロバイダにより返されるデータセットの構造の知識があると想定しているため、非常に低レベルな性質のものであることに留意されたい。この構造は、バインディングジェネレータ236により生成され、データセットテーブル化/射影244ステップにおいてOLAPデータ240に適用される。
バインディングデータ構造242は、ROWS軸行セットおよびセルデータから抽出する列ならびに所望のターゲットデータ型を記述する。この構造は、バッファレイアウトの詳細を記述し、OLAPプロバイダにより返されるデータセットの構造の知識があると想定しているため、非常に低レベルな性質のものであることに留意されたい。この構造は、バインディングジェネレータ236により生成され、データセットテーブル化/射影244ステップにおいてOLAPデータ240に適用される。
データセットテーブル化/射影244
入力:OLAPデータ240、出力:フラット化OLAPデータ246
データセットテーブル化/射影244ステップは、データセットの形態のOLAPデータ240の1つのパーティションを入力としてとる。次元テーブルの場合、このデータセットはROWS軸および空のCOLUMNS軸を含む。ファクトテーブルの場合、COLUMNS軸はメジャーを含み、セルデータも同様に存在する。次元テーブルのパーティションを作成するには、このステップは単に適当なバインディングをROWS軸行セットに適用する。ファクトテーブルのパーティションを作成するには、このステップはまず、COLUMNS軸行セットをピボットさせてメジャー列を作成し、次にセルデータをROWS軸行セットからの行と結合しなければならない。この結果は、「フラット化」された2次元形態のOLAPデータのパーティションである。
入力:OLAPデータ240、出力:フラット化OLAPデータ246
データセットテーブル化/射影244ステップは、データセットの形態のOLAPデータ240の1つのパーティションを入力としてとる。次元テーブルの場合、このデータセットはROWS軸および空のCOLUMNS軸を含む。ファクトテーブルの場合、COLUMNS軸はメジャーを含み、セルデータも同様に存在する。次元テーブルのパーティションを作成するには、このステップは単に適当なバインディングをROWS軸行セットに適用する。ファクトテーブルのパーティションを作成するには、このステップはまず、COLUMNS軸行セットをピボットさせてメジャー列を作成し、次にセルデータをROWS軸行セットからの行と結合しなければならない。この結果は、「フラット化」された2次元形態のOLAPデータのパーティションである。
フラット化OLAPデータ246
フラット化OLAPデータ246データ構造は、フラット化された形態のOLAPデータの1つのパーティションを含む。これは、元のORQ230により指定される形態に従って構造化される。このデータ構造は、追加のOLAPデータを含み得るという意味で必ずしも関係的である必要はない。さらに、このデータは、データ辞書内の対応する次元/ファクトテーブルにマッチする前にさらなる変換および変形が必要であり得る。このデータ構造は、データセットテーブル化/射影ステップ244により生成され、OLAPアクセス層156のデータアクセス部分のプライマリ出力である。
フラット化OLAPデータ246データ構造は、フラット化された形態のOLAPデータの1つのパーティションを含む。これは、元のORQ230により指定される形態に従って構造化される。このデータ構造は、追加のOLAPデータを含み得るという意味で必ずしも関係的である必要はない。さらに、このデータは、データ辞書内の対応する次元/ファクトテーブルにマッチする前にさらなる変換および変形が必要であり得る。このデータ構造は、データセットテーブル化/射影ステップ244により生成され、OLAPアクセス層156のデータアクセス部分のプライマリ出力である。
データ検索232
入力:フラット化OLAPデータ246、出力:要求された行/列248
このステップは、ブロック単位でOLAPデータ240にアクセスする。OLAPアクセス層156から検索されたフラット化OLAPデータのパーティションから各ブロックを作成する。各ブロックにつき、このステップはDRM層を介してRDBMエンジンに行および列を提供する。
入力:フラット化OLAPデータ246、出力:要求された行/列248
このステップは、ブロック単位でOLAPデータ240にアクセスする。OLAPアクセス層156から検索されたフラット化OLAPデータのパーティションから各ブロックを作成する。各ブロックにつき、このステップはDRM層を介してRDBMエンジンに行および列を提供する。
要求された行/列248
これは、クエリエンジン186を介してデータ消費者が要求した行および列の集まりである。
これは、クエリエンジン186を介してデータ消費者が要求した行および列の集まりである。
以下に、上述したデータ構造のいくつかをさらに詳細に説明する。
OLAP−関係クエリ(ORQ)
簡潔に上述したように、OLAP−関係クエリ(ORQ)は、関係モデルから多次元モデルへのマッピングである。SQLクエリを、MDXクエリに容易に変換できる形態で表すために使用される。シンタックス的に有効なMDXクエリを生成するために必要な情報のすべてを含む。その結果、データ辞書またはOLAP−関係スキーマは、ORQをMDXクエリに変換する際に使用されない。OLAP−関係スキーマ内の5つの可能な種類の関係テーブルを表す5つの種類のORQクエリがある。
i.複数の次元で構成されるテーブル(例えば、SAP BWの場合での時間テーブル)を表すために使用されるコンポジットクエリ。
ii.1つの次元からの複数のレベルで構成されるテーブルを表すために使用されるマルチレベルクエリ。現在、SAP BWキューブのOLAP−関係スキーマはマルチレベルテーブルをいずれも含まない。
iii.関係スノーフレークモデルでの次元テーブルおよびレベルテーブル等の次元からの1つのレベルで構成されるテーブルを表すために使用されるレベルクエリ。
iv.次元内で1つの階層で構成される親子テーブルを表すために使用される親子クエリ。
v.ファクトテーブルを表すために使用されるファクトクエリ。
簡潔に上述したように、OLAP−関係クエリ(ORQ)は、関係モデルから多次元モデルへのマッピングである。SQLクエリを、MDXクエリに容易に変換できる形態で表すために使用される。シンタックス的に有効なMDXクエリを生成するために必要な情報のすべてを含む。その結果、データ辞書またはOLAP−関係スキーマは、ORQをMDXクエリに変換する際に使用されない。OLAP−関係スキーマ内の5つの可能な種類の関係テーブルを表す5つの種類のORQクエリがある。
i.複数の次元で構成されるテーブル(例えば、SAP BWの場合での時間テーブル)を表すために使用されるコンポジットクエリ。
ii.1つの次元からの複数のレベルで構成されるテーブルを表すために使用されるマルチレベルクエリ。現在、SAP BWキューブのOLAP−関係スキーマはマルチレベルテーブルをいずれも含まない。
iii.関係スノーフレークモデルでの次元テーブルおよびレベルテーブル等の次元からの1つのレベルで構成されるテーブルを表すために使用されるレベルクエリ。
iv.次元内で1つの階層で構成される親子テーブルを表すために使用される親子クエリ。
v.ファクトテーブルを表すために使用されるファクトクエリ。
OLAP−関係スキーマ214
OLAP−関係スキーマは、上述したように派生元のOLAPメタデータに関して合成関係スノーフレークスキーマを記述するデータ構造である。対応する物理OLAPスキーマおよび関係スキーマへのリンクを有する「論理」OLAPスキーマとして主に編成される。
OLAP−関係スキーマは、上述したように派生元のOLAPメタデータに関して合成関係スノーフレークスキーマを記述するデータ構造である。対応する物理OLAPスキーマおよび関係スキーマへのリンクを有する「論理」OLAPスキーマとして主に編成される。
以下の表はキューブの一表現である。
このキューブが「Sales(売り上げ)」という名称であり、2つのメジャー「UnitSales(販売個数)」および「Cost(コスト)」を有するものと仮定する。あらゆるレベルが各メンバに属性「UniqueName(一意名)」および「Caption(キャプション)」を定義し、「UniqueName(一意名)」が各メンバを一意に識別するものとも仮定する。これはOLAPメタデータの一般的な例であり、SAP BWメタデータの構造を反映していないことに留意されたい。図9は、スノーフレークスキーマのパーツに関連する共通する種類の情報のいくつかを示す、このキューブのOLAP−関係スキーマ900の一インプリメンテーションの一部を示す。上記図中で注目すべき3つのアイテムは、LogicalDimension、LevelLogicalHierarchy、およびLogicalLevelの各OLAP構造である。これらは、関係スキーマとしての提示のための物理OLAPスキーマの特定の構造を表す論理OLAPスキーマを表す。これら構成は、上で定義したORQの種類、すなわちコンポジット、マルチレベル、レベル、および親子に対応する。「LevelLogicalHierarchy」は、物理階層および他の種類の論理階層と区別するためにこのような名称を有する。この文脈での物理階層は、OLAPメタデータから抽出される階層である。論理階層は、基礎のOLAPメタデータからのビジネスセマンティクスを保存するようにメタデータ変換ステップにより構築される階層である。論理階層は物理階層に対応する場合もあれば、対応しない場合もある。例えば、SAP BWキューブにコンポジット時間テーブルを構築するために使用される論理階層は、1つの物理階層に対応しない。
図10は、SAP時間テーブル1000のOLAP−関係スキーマの部分を示す。この例での「CompositeLogicalHierarchy」の使用に留意されたい。実際に、この各レベルは異なる物理階層に属する。「CompositeLogicalHierarchy」構造の作成は、部分的に、ドライバの側の当て推量作業である。このため、警告が、EISに送られるXMLモデル内にコメントとして埋め込まれる。
上記例は、最適化関連の注釈、すなわち行カウントも含む。可能な場合、厳密な、または適当な行カウントがメタデータ変換により求められ、ORQジェネレータのためにOLAP−関係スキーマに含められる。
SQLからMDXへのマッピング
以下に、ODBSCEN01キューブおよび4つの次元ODB_CUST、ODB_CONT、ODB_VALTP、0CALMONTHに基づく単純なスタースキーマでのSQLからMDXのマッピングの例を提供する。SQL例は、EISがメンバまたはデータのロード中に生成し得るものに基づく。MDXが必要な演算を実行できない場合、SENが必要なSQL演算を実行することを記したメモが作成される。
以下に、ODBSCEN01キューブおよび4つの次元ODB_CUST、ODB_CONT、ODB_VALTP、0CALMONTHに基づく単純なスタースキーマでのSQLからMDXのマッピングの例を提供する。SQL例は、EISがメンバまたはデータのロード中に生成し得るものに基づく。MDXが必要な演算を実行できない場合、SENが必要なSQL演算を実行することを記したメモが作成される。
以下、1つまたは複数のSQLクエリを列挙し、その後にSQLクエリを満足させるために必要な結果を生成するMDXクエリを列挙することによりマッピングを示す。
Distinct
Distinct句内で指定された列の1つが一意の場合、Distinct句をクエリから除去することができる。MemberUniqueName列は代替階層内で一意ではないことに留意されたい。
Distinct句内で指定された列の1つが一意の場合、Distinct句をクエリから除去することができる。MemberUniqueName列は代替階層内で一意ではないことに留意されたい。
算術演算
SENが%(剰余)により要求される計算を実行する必要がある。
SENが%(剰余)により要求される計算を実行する必要がある。
スカラー関数
SENがスカラー関数により要求される計算を実行する必要がある。
SENがスカラー関数により要求される計算を実行する必要がある。
句がDistinct MemberCaptionである場合、カウントすることができない。Count distinctは、指定される列が一意である場合のみ行うことができる。
データの消費者は、以下の標準API、すなわちODBC、JDBC、OLE DB、ADO、またはADO.NETのうちの任意の1つを介してアダプタに接続することができる。消費者は、メタデータクエリをアダプタに発行して、キューブのスター/スノーフレーク仮想ビューについての情報を得ることができる。消費者は、データプロバイダに対して実行されるSQLクエリを生成する。多次元データソースが、ODBOまたはXMLAのいずれかを介してデータをエクスポーズし、渡されたMDXクエリを実行し、入力MDXクエリから生じたデータを返す。
SQLクエリのMDXクエリへの変換は、キューブではなくスター/スノーフレークとして表されるデータソースをデータ消費者に提示することにより動作する。したがって、消費者は、SQLクエリをスター/スノーフレークに対して開始する。キューブをスター/スノーフレークとしてエクスポーズするために、アダプタがキューブのメタデータを読み取り、変換アルゴリズムを使用して、スター/スノーフレークを指定された形態で消費者に提示する。もちろん、スター/スノーフレークは実際には存在せず、仮想テーブルセットである。次に、消費者がSQL文を仮想スター/スノーフレークに対して実行すると、アダプタがSQLを適当なMDX文にマッピングする。
まとめると、本発明によるアダプタは、アダプタにより返されるメンバおよびファクトデータが正確でなければならず、提示される関係スキーマにより、関係ターゲット(例えば、EIS)がソースキューブ(例えば、SAP BW)に厳密に適合した宛先データベース(例えば、エスベース)のキューブを作成できなければならないという点で高度の正確性を提供する。アダプタはデータを適時に効率的に転送するが、データを関係データベースからロードするほど高速ではないことがある。アダプタの他の緒特徴は、拡張性、移植性、柔軟性、および保全性である。
本発明を特定の好ましい1つまたは複数の態様に関連して説明したが、当業者が本明細書および添付図面を読んで理解すれば、等価の変形および変更に想到することが明らかである。特に、番号(構成要素、組立体、装置、構成物等)により参照される上記アイテムにより実行される各種機能に関連して、このようなアイテムを説明するために使用される用語(「手段」を指す用語を含む)は、本発明の本明細書に示した例示的な1つまたは複数の態様での機能を実行する、開示した構造と構造的に等価ではない場合であっても、別段に示されない限り、説明されたアイテムの指定された機能を実行する(例えば、機能的に等価の)あらゆるアイテムに対応することを意図する。さらに、本発明の特定の特徴を、いくつかの図示された態様の1つのみに関連して上述したが、このような特徴は、任意の所与または特定の用途に望ましく、有利である場合、その他の態様の1つまたは複数の特徴と組み合わせることも可能である。
図を参照した本明細書における説明は、当業者が本発明を各種の用途および装置で利用できるようにするのに十分詳細に本発明を説明するものと理解される。冒頭の特許請求の範囲において規定される本発明の趣旨および範囲から逸脱することなく、各種の変更および変形を行い得ることが容易に明らかであろう。
Claims (17)
- 未知の構成のデータソースを既知の構成のデータソースにマッピングする方法であって、
a.メタデータ要求を前記データソースにサブミットするステップと、
b.前記データソースから受け取った前記メタデータに基づいて、前記既知の構成の関係スキーマを生成するステップと、
c.前記生成された関係スキーマの前記メタデータを返すステップであって、該返されるメタデータは前記データソースを前記既知の構成にマッピングするステップと、
を含む方法。 - 前記未知の構成のデータソースは多次元データベースである、請求項1に記載の方法。
- 前記既知の構成はスタースキーマまたはスノーフレークスキーマである、請求項1に記載の方法。
- a.データ消費者から、前記生成された関係スキーマに対するデータクエリを受け取るステップと、
b.前記受け取ったクエリを前記データソースによりサポートされる1つまたは複数のクエリに変換するステップであって、それにより、前記データソースからデータを検索するステップと、
c.前記データソースから検索されたデータを前記データ消費者に返すステップと、
を含む、請求項1に記載の方法。 - データソースにサブミットされるクエリを変換する方法であって、前記クエリは前記データソースによりサポートされない言語のものであり、該方法は、
a.データ消費者からクエリを受け取るステップであって、前記クエリは既知の構成の関係スキーマに基づき、前記スキーマは前記データソースを前記既知の構成にマッピングするステップと、
b.前記受け取ったクエリを、前記データソースによりサポートされる1つまたは複数のクエリに変換するステップであって、それにより、前記データソースからデータを検索するステップと、
c.前記データソースから検索された前記データを前記データ消費者に返すステップと、
を含む方法。 - 前記クエリは構造化照会言語(SQL)クエリであり、前記データソースは多次元データベースである、請求項3に記載の方法。
- 前記多次元データベースは多次元式言語(MDX)をサポートする、請求項4に記載の方法。
- 前記既知の構成はスタースキーマまたはスノーフレークスキーマである、請求項5に記載の方法。
- 前記データソースはキューブの集まりである、請求項3に記載の方法。
- 前記クエリは前記スター/スノーフレークスキーマに対するSQLクエリである、請求項3に記載の方法。
- データ消費者により発行される、データソースによりサポートされていない言語のクエリを前記データソースがサポートする言語のクエリに変換する方法であって、
a.既知の構成の関係スキーマをデータ消費者に提示するステップと、
b.変換アルゴリズムを使用して、前記データソースを前記既知の構成で前記データ消費者に提示するステップと、
c.前記データソースを表すモデルオブジェクトを含むメタデータモデルを読み取るステップと、
d.前記既知の構成に対するクエリを受け取るステップと、
e.前記データソースから検索されたデータを前記データ消費者に返すステップと、
を含む方法。 - 前記クエリは構造化照会言語(SQL)クエリであり、前記データソースは多次元データベースである、請求項9に記載の方法。
- 前記データソースがサポートする言語は多次元式言語(MDX)である、請求項10に記載の方法。
- 前記既知の構成はスター/スノーフレークスキーマである、請求項11に記載の方法。
- 前記クエリは、前記スター/スノーフレークスキーマに対するSQLクエリである、請求項12に記載の方法。
- データ消費者により発行される、データソースによりサポートされていない言語のクエリを前記データソースがサポートする言語のクエリに変換するアダプタであって、
a.既知の構成の関係スキーマを生成する手段と、
b.前記既知の構成に対するクエリを受け取るインタフェースと、
c.前記データソースを表すモデルオブジェクトを含むメタデータモデルと、
d.前記データソースを前記既知の構成で前記データ消費者に提示する変換アルゴリズムと、
を備えるアダプタ。 - ODBCドライバ、JDBCドライバ、またはOLE−DBプロバイダのうちの1つを含むSQLドライバである、請求項14に記載のアダプタ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US69341005P | 2005-06-24 | 2005-06-24 | |
PCT/CA2006/001037 WO2006136025A1 (en) | 2005-06-24 | 2006-06-23 | System and method for translating between relational database queries and multidimensional database queries |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008544382A true JP2008544382A (ja) | 2008-12-04 |
Family
ID=37561718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008517290A Pending JP2008544382A (ja) | 2005-06-24 | 2006-06-23 | 関係データベースクエリと多次元データベースクエリとを変換するシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070027904A1 (ja) |
EP (1) | EP1896995A4 (ja) |
JP (1) | JP2008544382A (ja) |
CA (1) | CA2551030A1 (ja) |
WO (1) | WO2006136025A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011022949A (ja) * | 2009-07-21 | 2011-02-03 | Yahoo Japan Corp | ドキュメントオブジェクト・スキーマ定義間データ処理装置 |
JP2013196610A (ja) * | 2012-03-22 | 2013-09-30 | Toshiba Corp | クエリ発行装置、クエリ発行プログラム、クエリ発行方法 |
WO2014041699A1 (ja) * | 2012-09-14 | 2014-03-20 | 株式会社日立製作所 | データ分析方法、データ分析装置及びその処理プログラムを格納した記憶媒体 |
JP2018536909A (ja) * | 2015-10-23 | 2018-12-13 | オラクル・インターナショナル・コーポレイション | 表形式データから、多次元データベース環境に使用されるキューブスキーマを自動的に推論するためのシステムおよび方法 |
WO2022091205A1 (ja) * | 2020-10-27 | 2022-05-05 | 日本電信電話株式会社 | データ分析処理装置、データ分析処理方法、およびプログラム |
Families Citing this family (161)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693860B2 (en) * | 2005-03-18 | 2010-04-06 | Microsoft Corporation | Method and system to associate cell and item metadata |
US7877355B2 (en) * | 2005-04-12 | 2011-01-25 | International Business Machines Corporation | Job scheduling for automatic movement of multidimensional data between live datacubes |
US8468125B2 (en) * | 2005-04-12 | 2013-06-18 | International Business Machines Corporation | Automatically moving multidimensional data between live datacubes of enterprise software systems |
EP1746502A1 (de) * | 2005-07-06 | 2007-01-24 | Ubs Ag | Technik zur Migration einer Host-Umgebung auf eine neue Systemplattform |
US8234293B2 (en) * | 2005-09-08 | 2012-07-31 | Microsoft Corporation | Autocompleting with queries to a database |
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 |
US20070168323A1 (en) * | 2006-01-03 | 2007-07-19 | Microsoft Corporation | Query aggregation |
US10007686B2 (en) * | 2006-08-02 | 2018-06-26 | Entit Software Llc | Automatic vertical-database design |
US8086598B1 (en) | 2006-08-02 | 2011-12-27 | Hewlett-Packard Development Company, L.P. | Query optimizer with schema conversion |
US8671091B2 (en) * | 2006-08-02 | 2014-03-11 | Hewlett-Packard Development Company, L.P. | Optimizing snowflake schema queries |
US20080046721A1 (en) * | 2006-08-15 | 2008-02-21 | Thomas Zurek | Dynamic multiprovider |
US7814045B2 (en) * | 2006-10-04 | 2010-10-12 | Sap Ag | Semantical partitioning of data |
US9747349B2 (en) * | 2006-10-30 | 2017-08-29 | Execue, Inc. | System and method for distributing queries to a group of databases and expediting data access |
US20080140696A1 (en) * | 2006-12-07 | 2008-06-12 | Pantheon Systems, Inc. | System and method for analyzing data sources to generate metadata |
US8200604B2 (en) | 2007-06-29 | 2012-06-12 | Microsoft Corporation | Multi-platform business calculation rule language and execution environment |
US7702622B2 (en) * | 2007-06-29 | 2010-04-20 | Microsoft Corporation | Advanced techniques for SQL generation of performancepoint business rules |
US8020144B2 (en) * | 2007-06-29 | 2011-09-13 | Microsoft Corporation | Metadata-based application deployment |
CA2593233A1 (en) * | 2007-07-06 | 2009-01-06 | Cognos Incorporated | System and method for federated member-based data integration and reporting |
US8347207B2 (en) * | 2007-07-16 | 2013-01-01 | International Business Machines Corporation | Automatically moving annotations associated with multidimensional data between live datacubes |
US9626421B2 (en) * | 2007-09-21 | 2017-04-18 | Hasso-Plattner-Institut Fur Softwaresystemtechnik Gmbh | ETL-less zero-redundancy system and method for reporting OLTP data |
EP2040180B1 (en) * | 2007-09-24 | 2019-01-16 | Hasso-Plattner-Institut für Digital Engineering gGmbH | ETL-less zero-redundancy system and method for reporting OLTP data |
US8200618B2 (en) | 2007-11-02 | 2012-06-12 | International Business Machines Corporation | System and method for analyzing data in a report |
US9268837B2 (en) * | 2007-12-04 | 2016-02-23 | International Business Machines Corporation | Data entry commentary and sheet reconstruction for multidimensional enterprise system |
US8880459B2 (en) * | 2008-03-07 | 2014-11-04 | Microsoft Corporation | Navigation across datasets from multiple data sources based on a common reference dimension |
US8606803B2 (en) * | 2008-04-01 | 2013-12-10 | Microsoft Corporation | Translating a relational query to a multidimensional query |
US20090271234A1 (en) * | 2008-04-23 | 2009-10-29 | John Hack | Extraction and modeling of implemented business processes |
US9659073B2 (en) * | 2008-06-18 | 2017-05-23 | Oracle International Corporation | Techniques to extract and flatten hierarchies |
US20090327339A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Partition templates for multidimensional databases |
US20100017395A1 (en) * | 2008-07-16 | 2010-01-21 | Sapphire Information Systems Ltd. | Apparatus and methods for transforming relational queries into multi-dimensional queries |
US8463739B2 (en) * | 2008-08-28 | 2013-06-11 | Red Hat, Inc. | Systems and methods for generating multi-population statistical measures using middleware |
US8495007B2 (en) * | 2008-08-28 | 2013-07-23 | Red Hat, Inc. | Systems and methods for hierarchical aggregation of multi-dimensional data sources |
US8380657B2 (en) * | 2008-09-19 | 2013-02-19 | Oracle International Corporation | Techniques for performing ETL over a WAN |
US20100121869A1 (en) | 2008-11-07 | 2010-05-13 | Yann Le Biannic | Normalizing a filter condition of a database query |
US9020882B2 (en) | 2008-11-26 | 2015-04-28 | Red Hat, Inc. | Database hosting middleware dimensional transforms |
CA2660748C (en) * | 2009-03-31 | 2016-08-09 | Trapeze Software Inc. | System for aggregating data and a method for providing the same |
US9292485B2 (en) | 2009-05-29 | 2016-03-22 | Red Hat, Inc. | Extracting data cell transformable to model object |
US8606827B2 (en) * | 2009-05-29 | 2013-12-10 | Red Hat, Inc. | Systems and methods for extracting database dimensions as data modeling object |
US8930487B2 (en) * | 2009-05-29 | 2015-01-06 | Red Hat, Inc. | Object-based modeling using model objects exportable to external modeling tools |
US9292592B2 (en) * | 2009-05-29 | 2016-03-22 | Red Hat, Inc. | Object-based modeling using composite model object having independently updatable component objects |
US9009006B2 (en) | 2009-05-29 | 2015-04-14 | Red Hat, Inc. | Generating active links between model objects |
US9105006B2 (en) | 2009-05-29 | 2015-08-11 | Red Hat, Inc. | Generating floating desktop representation of extracted model object |
US8417739B2 (en) * | 2009-05-29 | 2013-04-09 | Red Hat, Inc. | Systems and methods for object-based modeling using hierarchical model objects |
US8959050B2 (en) * | 2009-06-15 | 2015-02-17 | Oracle International Corporation | Mechanism for synchronizing OLAP system structure and OLTP system structure |
US8700674B2 (en) * | 2009-07-14 | 2014-04-15 | Hewlett-Packard Development Company, L.P. | Database storage architecture |
US20110040697A1 (en) * | 2009-08-14 | 2011-02-17 | Oracle International Corporation | Reassignment and reconciliation for multi-dimensional sales territories |
US20110054854A1 (en) * | 2009-08-31 | 2011-03-03 | Eric Williamson | Systems and methods for generating dimensionally altered model objects |
US9152435B2 (en) * | 2009-08-31 | 2015-10-06 | Red Hat, Inc. | Generating a set of linked rotational views of model objects |
US9152944B2 (en) | 2009-08-31 | 2015-10-06 | Red Hat, Inc. | Generating rapidly rotatable dimensional view of data objects |
US8365195B2 (en) * | 2009-08-31 | 2013-01-29 | Red Hat, Inc. | Systems and methods for generating sets of model objects having data messaging pipes |
US8417734B2 (en) * | 2009-08-31 | 2013-04-09 | Red Hat, Inc. | Systems and methods for managing sets of model objects via unified management interface |
US20110078199A1 (en) * | 2009-09-30 | 2011-03-31 | Eric Williamson | Systems and methods for the distribution of data in a hierarchical database via placeholder nodes |
US8996453B2 (en) * | 2009-09-30 | 2015-03-31 | Red Hat, Inc. | Distribution of data in a lattice-based database via placeholder nodes |
US8909678B2 (en) * | 2009-09-30 | 2014-12-09 | Red Hat, Inc. | Conditioned distribution of data in a lattice-based database using spreading rules |
US9031987B2 (en) * | 2009-09-30 | 2015-05-12 | Red Hat, Inc. | Propagation of data changes in distribution operations in hierarchical database |
US8984013B2 (en) * | 2009-09-30 | 2015-03-17 | Red Hat, Inc. | Conditioning the distribution of data in a hierarchical database |
US20110093487A1 (en) * | 2009-10-16 | 2011-04-21 | Yann Le Biannic | Data provider with transient universe |
CN101710273B (zh) * | 2009-10-28 | 2013-09-11 | 金蝶软件(中国)有限公司 | 联机分析处理服务器中多维查询语句的解析方法和装置 |
US8396880B2 (en) * | 2009-11-30 | 2013-03-12 | Red Hat, Inc. | Systems and methods for generating an optimized output range for a data distribution in a hierarchical database |
US8589344B2 (en) * | 2009-11-30 | 2013-11-19 | Red Hat, Inc. | Systems and methods for generating iterated distributions of data in a hierarchical database |
US8315174B2 (en) * | 2009-12-31 | 2012-11-20 | Red Hat, Inc. | Systems and methods for generating a push-up alert of fault conditions in the distribution of data in a hierarchical database |
US8290931B2 (en) * | 2010-02-22 | 2012-10-16 | Hewlett-Packard Development Company, L.P. | Database designer |
US9495429B2 (en) * | 2010-07-09 | 2016-11-15 | Daniel Paul Miranker | Automatic synthesis and presentation of OLAP cubes from semantically enriched data sources |
US10353891B2 (en) | 2010-08-31 | 2019-07-16 | Red Hat, Inc. | Interpolating conformal input sets based on a target output |
US9342793B2 (en) | 2010-08-31 | 2016-05-17 | Red Hat, Inc. | Training a self-learning network using interpolated input sets based on a target output |
US8442934B2 (en) | 2010-09-22 | 2013-05-14 | Microsoft Corporation | Query and result rebinding |
US9396283B2 (en) | 2010-10-22 | 2016-07-19 | Daniel Paul Miranker | System for accessing a relational database using semantic queries |
US9299040B2 (en) * | 2010-10-26 | 2016-03-29 | Hewlett Packard Enterprise Development Lp | System and method for generating an information integration flow design using hypercubes |
US9355383B2 (en) | 2010-11-22 | 2016-05-31 | Red Hat, Inc. | Tracking differential changes in conformal data input sets |
US10366464B2 (en) | 2010-11-29 | 2019-07-30 | Red Hat, Inc. | Generating interpolated input data sets using reduced input source objects |
US8364687B2 (en) | 2010-11-29 | 2013-01-29 | Red Hat, Inc. | Systems and methods for binding multiple interpolated data objects |
US8346817B2 (en) | 2010-11-29 | 2013-01-01 | Red Hat, Inc. | Systems and methods for embedding interpolated data object in application data file |
US8768942B2 (en) | 2011-02-28 | 2014-07-01 | Red Hat, Inc. | Systems and methods for generating interpolated data sets converging to optimized results using iterative overlapping inputs |
US9489439B2 (en) | 2011-02-28 | 2016-11-08 | Red Hat, Inc. | Generating portable interpolated data using object-based encoding of interpolation results |
US8290969B2 (en) | 2011-02-28 | 2012-10-16 | Red Hat, Inc. | Systems and methods for validating interpolation results using monte carlo simulations on interpolated data inputs |
US8862638B2 (en) | 2011-02-28 | 2014-10-14 | Red Hat, Inc. | Interpolation data template to normalize analytic runs |
US9171039B2 (en) * | 2011-09-29 | 2015-10-27 | Sap Se | Query language based on business object model |
US9298787B2 (en) | 2011-11-09 | 2016-03-29 | International Business Machines Corporation | Star and snowflake schemas in extract, transform, load processes |
US8874595B2 (en) * | 2011-11-15 | 2014-10-28 | Pvelocity Inc. | Method and system for providing business intelligence data |
US8938475B2 (en) | 2011-12-27 | 2015-01-20 | Sap Se | Managing business objects data sources |
US9092478B2 (en) * | 2011-12-27 | 2015-07-28 | Sap Se | Managing business objects data sources |
US9411874B2 (en) | 2012-06-14 | 2016-08-09 | Melaleuca, Inc. | Simplified interaction with complex database |
US9418101B2 (en) * | 2012-09-12 | 2016-08-16 | International Business Machines Corporation | Query optimization |
US9767173B2 (en) * | 2012-10-22 | 2017-09-19 | Workday, Inc. | Systems and methods for interest-driven data sharing in interest-driven business intelligence systems |
US9824127B2 (en) | 2012-10-22 | 2017-11-21 | Workday, Inc. | Systems and methods for interest-driven data visualization systems utilized in interest-driven business intelligence systems |
US9405812B2 (en) | 2012-10-22 | 2016-08-02 | Platfora, Inc. | Systems and methods for providing performance metadata in interest-driven business intelligence systems |
US9715538B2 (en) * | 2013-03-12 | 2017-07-25 | International Business Machines Corporation | Floating time dimension design |
US9535970B2 (en) | 2013-06-28 | 2017-01-03 | Sap Se | Metric catalog system |
US20150112953A1 (en) * | 2013-10-22 | 2015-04-23 | Omnition Analytics, LLC | Expandable method and system for storing and using fact data structure for use with dimensional data structure |
US9529875B2 (en) | 2014-01-13 | 2016-12-27 | International Business Machines Corporation | Transforming timeseries and non-relational data to relational for complex and analytical query processing |
US10204150B2 (en) * | 2014-03-21 | 2019-02-12 | Sap Se | Simplified hierarchy definition for multidimensional data analysis |
WO2015148408A1 (en) * | 2014-03-25 | 2015-10-01 | Gerweck Sarah | Interpreting relational database statements using a virtual multidimensional data model |
US8990212B1 (en) * | 2014-03-27 | 2015-03-24 | Visier Solutions, Inc. | Systems and methods of mapping multidimensional data and executing queries |
US9767176B2 (en) * | 2014-08-07 | 2017-09-19 | Bank Of America Corporation | Denormalize recursive, unbalanced, and ragged hierarchies |
CN104503744A (zh) * | 2014-12-08 | 2015-04-08 | 金川集团股份有限公司 | 一种用于矿山充填工艺的报表自动生成方法 |
US9773003B2 (en) * | 2014-12-09 | 2017-09-26 | Xurmo Technologies Pvt. Ltd. | Computer implemented system and method for investigative data analytics |
CN104504008B (zh) * | 2014-12-10 | 2018-10-02 | 华南师范大学 | 一种基于嵌套的SQL到HBase的数据迁移算法 |
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 |
CN105490850B (zh) * | 2015-12-09 | 2018-10-19 | 北京京东尚科信息技术有限公司 | 配置数据源的方法及系统 |
CN106933897B (zh) * | 2015-12-31 | 2020-02-07 | 北京国双科技有限公司 | 数据查询方法和装置 |
US10270796B1 (en) * | 2016-03-25 | 2019-04-23 | EMC IP Holding Company LLC | Data protection analytics in cloud computing platform |
US10346429B2 (en) | 2016-06-19 | 2019-07-09 | Data.World, Inc. | Management of collaborative datasets via distributed computer networks |
US11068475B2 (en) | 2016-06-19 | 2021-07-20 | Data.World, Inc. | Computerized tools to develop and manage data-driven projects collaboratively via a networked computing platform and collaborative datasets |
US10691710B2 (en) | 2016-06-19 | 2020-06-23 | Data.World, Inc. | Interactive interfaces as computerized tools to present summarization data of dataset attributes for collaborative datasets |
US11468049B2 (en) | 2016-06-19 | 2022-10-11 | Data.World, Inc. | Data ingestion to generate layered dataset interrelations to form a system of networked collaborative datasets |
US10324925B2 (en) | 2016-06-19 | 2019-06-18 | Data.World, Inc. | Query generation for collaborative datasets |
US10515085B2 (en) | 2016-06-19 | 2019-12-24 | Data.World, Inc. | Consolidator platform to implement collaborative datasets via distributed computer networks |
US10699027B2 (en) | 2016-06-19 | 2020-06-30 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US11675808B2 (en) | 2016-06-19 | 2023-06-13 | Data.World, Inc. | Dataset analysis and dataset attribute inferencing to form collaborative datasets |
US10645548B2 (en) | 2016-06-19 | 2020-05-05 | Data.World, Inc. | Computerized tool implementation of layered data files to discover, form, or analyze dataset interrelations of networked collaborative datasets |
US10353911B2 (en) | 2016-06-19 | 2019-07-16 | Data.World, Inc. | Computerized tools to discover, form, and analyze dataset interrelations among a system of networked collaborative datasets |
US11042548B2 (en) | 2016-06-19 | 2021-06-22 | Data World, Inc. | Aggregation of ancillary data associated with source data in a system of networked collaborative datasets |
US11042537B2 (en) | 2016-06-19 | 2021-06-22 | Data.World, Inc. | Link-formative auxiliary queries applied at data ingestion to facilitate data operations in a system of networked collaborative datasets |
US10438013B2 (en) | 2016-06-19 | 2019-10-08 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US11068847B2 (en) | 2016-06-19 | 2021-07-20 | Data.World, Inc. | Computerized tools to facilitate data project development via data access layering logic in a networked computing platform including collaborative datasets |
US10853376B2 (en) | 2016-06-19 | 2020-12-01 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US11086896B2 (en) | 2016-06-19 | 2021-08-10 | Data.World, Inc. | Dynamic composite data dictionary to facilitate data operations via computerized tools configured to access collaborative datasets in a networked computing platform |
US10984008B2 (en) | 2016-06-19 | 2021-04-20 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US10824637B2 (en) | 2017-03-09 | 2020-11-03 | Data.World, Inc. | Matching subsets of tabular data arrangements to subsets of graphical data arrangements at ingestion into data driven collaborative datasets |
US11016931B2 (en) | 2016-06-19 | 2021-05-25 | Data.World, Inc. | Data ingestion to generate layered dataset interrelations to form a system of networked collaborative datasets |
US10747774B2 (en) | 2016-06-19 | 2020-08-18 | Data.World, Inc. | Interactive interfaces to present data arrangement overviews and summarized dataset attributes for collaborative datasets |
US11036697B2 (en) | 2016-06-19 | 2021-06-15 | Data.World, Inc. | Transmuting data associations among data arrangements to facilitate data operations in a system of networked collaborative datasets |
US11042556B2 (en) | 2016-06-19 | 2021-06-22 | Data.World, Inc. | Localized link formation to perform implicitly federated queries using extended computerized query language syntax |
US11042560B2 (en) | 2016-06-19 | 2021-06-22 | data. world, Inc. | Extended computerized query language syntax for analyzing multiple tabular data arrangements in data-driven collaborative projects |
US11755602B2 (en) | 2016-06-19 | 2023-09-12 | Data.World, Inc. | Correlating parallelized data from disparate data sources to aggregate graph data portions to predictively identify entity data |
US11036716B2 (en) | 2016-06-19 | 2021-06-15 | Data World, Inc. | Layered data generation and data remediation to facilitate formation of interrelated data in a system of networked collaborative datasets |
US11941140B2 (en) | 2016-06-19 | 2024-03-26 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US10452677B2 (en) | 2016-06-19 | 2019-10-22 | Data.World, Inc. | Dataset analysis and dataset attribute inferencing to form collaborative datasets |
US11334625B2 (en) | 2016-06-19 | 2022-05-17 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US10452975B2 (en) | 2016-06-19 | 2019-10-22 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US11947554B2 (en) | 2016-06-19 | 2024-04-02 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US11023104B2 (en) | 2016-06-19 | 2021-06-01 | data.world,Inc. | Interactive interfaces as computerized tools to present summarization data of dataset attributes for collaborative datasets |
US10140319B2 (en) | 2016-07-26 | 2018-11-27 | Bank Of America | System for identifying anomalies by automatically generating and analyzing a structure |
US11068453B2 (en) | 2017-03-09 | 2021-07-20 | data.world, Inc | Determining a degree of similarity of a subset of tabular data arrangements to subsets of graph data arrangements at ingestion into a data-driven collaborative dataset platform |
US11238109B2 (en) | 2017-03-09 | 2022-02-01 | Data.World, Inc. | Computerized tools configured to determine subsets of graph data arrangements for linking relevant data to enrich datasets associated with a data-driven collaborative dataset platform |
US10185607B1 (en) | 2017-07-23 | 2019-01-22 | AtScale, Inc. | Data statement monitoring and control |
US11048725B2 (en) * | 2017-07-25 | 2021-06-29 | Sap Se | Methods and systems for unified data sources |
US10853349B2 (en) | 2017-08-09 | 2020-12-01 | Vmware, Inc. | Event based analytics database synchronization |
US11687567B2 (en) * | 2017-09-21 | 2023-06-27 | Vmware, Inc. | Trigger based analytics database synchronization |
US10528759B2 (en) | 2017-10-17 | 2020-01-07 | Aagey Holding, LLC | Application programming interface bridge for transporting a local request from a local client system to a target server system, and method thereof |
WO2019082177A1 (en) * | 2017-10-25 | 2019-05-02 | The Evaluex Io Ltd | SYSTEM AND METHOD FOR DATA EXTRACTION |
CN108399196B (zh) * | 2018-01-30 | 2022-07-29 | 福建星瑞格软件有限公司 | 数据库sql语句自动生成工具的sql自动执行方法及系统 |
US10509805B2 (en) * | 2018-03-13 | 2019-12-17 | deFacto Global, Inc. | Systems, methods, and devices for generation of analytical data reports using dynamically generated queries of a structured tabular cube |
US10922308B2 (en) | 2018-03-20 | 2021-02-16 | Data.World, Inc. | Predictive determination of constraint data for application with linked data in graph-based datasets associated with a data-driven collaborative dataset platform |
US11243960B2 (en) | 2018-03-20 | 2022-02-08 | Data.World, Inc. | Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures |
US11947529B2 (en) | 2018-05-22 | 2024-04-02 | Data.World, Inc. | Generating and analyzing a data model to identify relevant data catalog data derived from graph-based data arrangements to perform an action |
USD940732S1 (en) | 2018-05-22 | 2022-01-11 | Data.World, Inc. | Display screen or portion thereof with a graphical user interface |
USD940169S1 (en) | 2018-05-22 | 2022-01-04 | Data.World, Inc. | Display screen or portion thereof with a graphical user interface |
US11537990B2 (en) | 2018-05-22 | 2022-12-27 | Data.World, Inc. | Computerized tools to collaboratively generate queries to access in-situ predictive data models in a networked computing platform |
US11327991B2 (en) | 2018-05-22 | 2022-05-10 | Data.World, Inc. | Auxiliary query commands to deploy predictive data models for queries in a networked computing platform |
USD920353S1 (en) | 2018-05-22 | 2021-05-25 | Data.World, Inc. | Display screen or portion thereof with graphical user interface |
US10769137B2 (en) * | 2018-06-04 | 2020-09-08 | Sap Se | Integration query builder framework |
US11442988B2 (en) | 2018-06-07 | 2022-09-13 | Data.World, Inc. | Method and system for editing and maintaining a graph schema |
USD959447S1 (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 |
USD959477S1 (en) | 2019-12-20 | 2022-08-02 | Sap Se | Display system or portion thereof with a virtual three-dimensional animated graphical user interface |
USD959476S1 (en) | 2019-12-20 | 2022-08-02 | Sap Se | Display system or portion thereof with a virtual three-dimensional animated graphical user interface |
US10951738B1 (en) | 2020-08-06 | 2021-03-16 | Bank Of America Corporation | Automatic API integration |
EP4264412A1 (en) * | 2021-01-26 | 2023-10-25 | Donyati, LLC | Dynamic application builder for multidimensional database environments |
US11947600B2 (en) | 2021-11-30 | 2024-04-02 | Data.World, Inc. | Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures |
US11880365B2 (en) | 2022-03-23 | 2024-01-23 | Bank Of America Corporation | Multimodal and distributed database system structured for dynamic latency reduction |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL135267A0 (en) * | 1997-09-26 | 2001-05-20 | Ontos Inc | Object model mapping and runtime engine for employing relational database with object oriented software |
WO2000075849A2 (en) * | 1999-06-08 | 2000-12-14 | Brio Technology, Inc. | Method and apparatus for data access to heterogeneous data sources |
US6651055B1 (en) * | 2001-03-01 | 2003-11-18 | Lawson Software, Inc. | OLAP query generation engine |
US20040064456A1 (en) * | 2002-09-27 | 2004-04-01 | Fong Joseph Shi Piu | Methods for data warehousing based on heterogenous databases |
US7895191B2 (en) * | 2003-04-09 | 2011-02-22 | International Business Machines Corporation | Improving performance of database queries |
CA2429907A1 (en) * | 2003-05-27 | 2004-11-27 | Cognos Incorporated | Modelling of a multi-dimensional data source in an entity-relationship model |
US7739223B2 (en) * | 2003-08-29 | 2010-06-15 | Microsoft Corporation | Mapping architecture for arbitrary data models |
US7657516B2 (en) * | 2003-12-01 | 2010-02-02 | Siebel Systems, Inc. | Conversion of a relational database query to a query of a multidimensional data source by modeling the multidimensional data source |
-
2006
- 2006-06-23 CA CA002551030A patent/CA2551030A1/en not_active Abandoned
- 2006-06-23 US US11/473,018 patent/US20070027904A1/en not_active Abandoned
- 2006-06-23 JP JP2008517290A patent/JP2008544382A/ja active Pending
- 2006-06-23 EP EP06752819A patent/EP1896995A4/en not_active Withdrawn
- 2006-06-23 WO PCT/CA2006/001037 patent/WO2006136025A1/en active Search and Examination
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011022949A (ja) * | 2009-07-21 | 2011-02-03 | Yahoo Japan Corp | ドキュメントオブジェクト・スキーマ定義間データ処理装置 |
JP2013196610A (ja) * | 2012-03-22 | 2013-09-30 | Toshiba Corp | クエリ発行装置、クエリ発行プログラム、クエリ発行方法 |
WO2014041699A1 (ja) * | 2012-09-14 | 2014-03-20 | 株式会社日立製作所 | データ分析方法、データ分析装置及びその処理プログラムを格納した記憶媒体 |
US9892187B2 (en) | 2012-09-14 | 2018-02-13 | Hitachi, Ltd. | Data analysis method, data analysis device, and storage medium storing processing program for same |
JP2018536909A (ja) * | 2015-10-23 | 2018-12-13 | オラクル・インターナショナル・コーポレイション | 表形式データから、多次元データベース環境に使用されるキューブスキーマを自動的に推論するためのシステムおよび方法 |
WO2022091205A1 (ja) * | 2020-10-27 | 2022-05-05 | 日本電信電話株式会社 | データ分析処理装置、データ分析処理方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20070027904A1 (en) | 2007-02-01 |
EP1896995A4 (en) | 2009-05-27 |
EP1896995A1 (en) | 2008-03-12 |
WO2006136025A1 (en) | 2006-12-28 |
CA2551030A1 (en) | 2006-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008544382A (ja) | 関係データベースクエリと多次元データベースクエリとを変換するシステムおよび方法 | |
US7953694B2 (en) | Method, system, and program for specifying multidimensional calculations for a relational OLAP engine | |
US10460277B2 (en) | Business intelligence language macros | |
Carey et al. | Data-Centric Systems and Applications | |
US5734887A (en) | Method and apparatus for logical data access to a physical relational database | |
US6684207B1 (en) | System and method for online analytical processing | |
US7181450B2 (en) | Method, system, and program for use of metadata to create multidimensional cubes in a relational database | |
US8209280B2 (en) | Exposing multidimensional calculations through a relational database server | |
US6931390B1 (en) | Method and mechanism for database partitioning | |
US6970882B2 (en) | Unified relational database model for data mining selected model scoring results, model training results where selection is based on metadata included in mining model control table | |
CN1705945B (zh) | 提供查询的属性的方法和系统 | |
US20050010550A1 (en) | System and method of modelling of a multi-dimensional data source in an entity-relationship model | |
US9075859B2 (en) | Parameterized database drill-through | |
US20100017395A1 (en) | Apparatus and methods for transforming relational queries into multi-dimensional queries | |
US20070061287A1 (en) | Method, apparatus and program storage device for optimizing a data warehouse model and operation | |
US20030208506A1 (en) | Registration of solved cubes within a relational database management system | |
US20060074953A1 (en) | Metadata management for a data abstraction model | |
US20030018620A1 (en) | Storing data mining clustering results in a relational database for querying and reporting | |
US20070260578A1 (en) | Pivot table without server side on-line analytical processing service | |
US20010037228A1 (en) | System and method for using metadata to flexibly analyze data | |
US8639717B2 (en) | Providing access to data with user defined table functions | |
Bog et al. | Enterprise Data Management for Transaction and Analytical Processing | |
Viswanathan et al. | CAL: A Generic Query and Analysis Language for Data Warehouses. | |
Cios et al. | Databases, Data Warehouses, and OLAP | |
CA2468406A1 (en) | System and method of modelling of a multi-dimensional data source in an entity-relationship model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090623 |
|
A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A073 Effective date: 20101102 |