ヘッダーをスキップ
Oracle® OLAPユーザーズ・ガイド
11g リリース2(11.2)
B61345-01
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

1 概要

この章では、OLAPオプションとともにインストールされているOracle Databaseで使用できる強力な分析リソースを紹介します。ここでは、次の項目について説明します。

Oracle Database内のOLAPテクノロジ

Oracle Databaseは、業界初で唯一の埋込みOLAPサーバーを提供します。Oracle OLAPにより、複数のディメンションにまたがってデータを分析する際に、固有の多次元格納および高速な応答時間を実現できます。データベースでは、時系列計算、予測、加算および非加算の演算子や割当て演算子による高度な集計など、多様な形で分析を行うことができます。こうした機能により、Oracleデータベースは、ビジネス・インテリジェンスや高度な分析アプリケーション全般をサポートできる、完全な分析プラットフォームとなります。

多次元テクノロジの完全統合

Oracleでは、多次元オブジェクトおよび分析機能をデータベースに統合することにより、両者の利点を活かし、Oracleデータベースの信頼性、可用性、セキュリティ、スケーラビリティとともに多次元分析機能を実現しています。

Oracle OLAPはOracle Databaseに完全に統合されています。これは、技術レベルでは次のことを意味します。

  • OLAPエンジンは、Oracle Databaseのカーネルで実行されます。

  • 次元オブジェクトは、固有の多次元形式でOracle Databaseに格納されます。

  • キューブなどの次元オブジェクトは、Oracleデータ・ディクショナリの主要なデータ・オブジェクトです。

  • データ・セキュリティは、Oracle Databaseのユーザーとロールに対して権限の付与および取消しを行う、標準的な方法で管理されます。

  • アプリケーションで、SQLを使用して次元オブジェクトを問い合せることができます。

これは組織にとって非常に有益です。Oracle OLAPでは、1つのデータベース、標準的な管理とセキュリティ、標準のインタフェースと開発ツールといった、簡略性による利点が得られます。

アプリケーション開発の容易性

Oracle OLAPでは、特徴的な分析コンテンツでデータベースやアプリケーションを簡単に強化できます。Oracleの多次元オブジェクトや計算に対する固有のSQLアクセスによって、ダッシュボード、レポート、ビジネス・インテリジェンス(BI)、あらゆるタイプの分析アプリケーションの開発作業が、独自のインタフェースを提供するシステムと比較して非常に容易になります。また、SQLアクセスは、従来の限られたOLAPアプリケーションのみではなく、どのようなデータベース・アプリケーションでも、Oracle OLAPの分析機能が使用できることを意味します。

管理の容易性

Oracle OLAPはOracleデータベースに完全に埋め込まれているため、通常スタンドアロンのOLAPサーバーに必須となる管理技術を習得する必要がありません。専門の管理スキルに投資することなく、既存のDBAスタッフを活用できます。

Oracleの埋込みOLAPテクノロジの主な管理上のメリットの1つは、キューブの自動的なメンテナンスです。スタンドアロンのOLAPサーバーでは、キューブのリフレッシュ作業の負担がすべて管理者にかかります。その結果、ジョブが複雑になり、エラーが発生しやすくなることがあります。管理者は、リレーショナル・ソースから変更済データを抽出し、そのデータをソース・システムからスタンドアロンOLAPサーバーを実行しているシステムに移動し、キューブのロードと再構築を行うプロシージャを作成する必要があります。また、このプロセスの間、DBAはデルタ(変更された値)のセキュリティについて責任を負わなければなりません。

その一方、Oracle OLAPでは、キューブのリフレッシュはすべてOracleデータベースで処理されます。データベースは、次元オブジェクトの失効を追跡し、ソース表のデルタを自動的に記録して、リフレッシュ・プロセス中に変更された値のみを自動的に適用します。DBAはリフレッシュのスケジュールを適切な間隔で設定するだけで、他のことについてはすべてOracle Databaseが対処します。

セキュリティ

Oracle OLAPでは、Oracle Databaseの標準のセキュリティ機能を使用して、多次元データを保護します。

これに対し、スタンドアロンのOLAPサーバーでは、管理者はリレーショナル・ソース・システムとOLAPサーバー・システムで、2回に渡ってセキュリティの管理を行う必要があります。また、リレーショナル・システムからスタンドアロンOLAPシステムにデータを移動する際のセキュリティを管理しなければなりません。

優れたパフォーマンスとスケーラビリティ

ビジネス・インテリジェンスおよび分析アプリケーションは主に、階層のドリルアップやドリルダウン、集計値の比較(前期比、親のシェア、将来の予測、多数の類似の計算など)といった操作に使用します。こうした操作は多くの場合、階層集計が可能な領域全体においてランダムに行われます。Oracle OLAPは、定義された多次元領域ですべての集計を事前計算するか、必要に応じて効率よく計算するため、典型的なビジネス・インテリジェンス・アプリケーションで優れたパフォーマンスを実現できます。

Oracle OLAPの問合せでは、Oracleの共有カーソルを利用することにより、メモリー要件を大幅に削減し、パフォーマンスを向上させます。

Oracle DatabaseとともにReal Application Clusters(Oracle RAC)オプションをインストールすると、OLAPアプリケーションにおいても、パフォーマンス、スケーラビリティ、フェイルオーバーおよびロード・バランシングについて、他のアプリケーションと同様の利点があります。

コストの削減

上述の機能はすべて、コストの削減につながります。既存のスタッフのスキルを利用できるため、管理費が減少します。また、Oracleデータベースでは、他のシステムにおいては管理者の負担となる複雑な作業である、次元オブジェクトのリフレッシュの管理が可能です。標準のセキュリティによっても、管理費が削減されます。SQLに精通した多数のアプリケーション開発者や豊富なSQLベースの開発ツールを活用できるため、アプリケーションの開発と配置を迅速に行うことができ、アプリケーション開発費が減少します。いずれのSQLベースの開発ツールでもOracle OLAPを利用できます。Oracle OLAPの効率的な集計の管理、共有カーソルの使用、低コストのコモディティ部品で拡張性の高いシステムを構築できるOracle RACによって、ハードウェア費が削減されます。

SQLツールとアプリケーション・ビルダーを使用したレポートとダッシュボードの開発

分析者は、SQL問合せと分析ツールを選択して、データの選択、表示および分析を行うことができます。好みのツールやアプリケーション、またはOracle Databaseのツールを使用できます。

図1-1に、Oracle Database付属のOracle Application Expressで作成されるダッシュボードの一部を示します。Application Expressは、SQL問合せの結果を表示するHTMLレポートを生成します。SQLのみ理解していれば、次元オブジェクトに関する特別な知識は必要ありません。

このダッシュボードでは、比率、シェア、前の期間および累計など、情報に富んだ計算結果を表示します。ダッシュボードのタブはそれぞれ、収益性分析、売上分析および製品分析を表します。各タブのデータは、ダイヤル、棒グラフ、水平棒グラフ、円グラフ、クロス集計レポートで表されます。左上にあるドロップダウン・リストから顧客を選択できます。

ダイヤルには、四半期ごとの利益幅が表示されます。右側にある棒グラフでは、現在の利益と前年の利益を比較します。

図1-1 Oracle Application Expressで作成されるダッシュボード

Application Expressのダッシュボード
「図1-1 Oracle Application Expressで作成されるダッシュボード」の説明

図1-2の円グラフでは、前四半期の総利益に対して各製品ファミリの寄与した割合をパーセントで示しています。

図1-2 総利益に対する製品ファミリの貢献度

Application Expressの円グラフ
「図1-2 総利益に対する製品ファミリの貢献度」の説明

図1-3の水平棒グラフでは、前年からの収益性の増加率に基づいて各地域をランク付けした結果を示しています。意思決定の際、前四半期で各地域の利益がどのくらい増加したかが一目でわかります。

図1-3 前年からの累計利益増加率のランキング

Application Expressの水平棒グラフ
「図1-3 前年からの累計利益増加率のランキング」の説明

図1-4では、現在の利益を、年度累計、前年の年度累計、前年比の増加額および増加率で比較しています。クロス集計レポートはインタラクティブなドリル操作を特徴としているため、意思決定の際には、特定の親値に寄与した詳細データを簡単に知ることができます。

図1-4 前年と比較した累計利益

Application Expressのクロス集計
「図1-4 前年と比較した累計利益」の説明

次元データ・モデルの概要

次元オブジェクトはOLAPに不可欠です。OLAPはオンラインであるため、素早く回答を提供する必要があります。分析者は、一晩中実行されるバッチ・ジョブの中ではなく、対話型セッションにおいて反復問合せを行うからです。また、OLAPは分析でもあるため、その問合せは複雑です。次元オブジェクトおよびOLAPエンジンは、複雑な問合せをリアルタイムに解決できるように設計されています。

次元オブジェクトは、キューブ、メジャー、ディメンション、属性、レベルおよび階層により構成されます。モデルに簡素性が備わっているのは、実在するビジネス・エンティティを表すオブジェクトを定義しているためです。分析者は、調査したいビジネス・メジャー、データに意味を与えているディメンションや属性、およびビジネスのディメンションがレベルや階層に編成されている方法がわかります。

図1-5に、次元オブジェクト間の一般的な関係を示します。

図1-5 OLAPの次元モデルの図

多次元モデルの図
「図1-5 OLAPの次元モデルの図」の説明

次元データ・モデルは、高度に構造化されています。構造とは、データ間の関係を決定し、データの問合せ方法を制御する規則のことを意味します。キューブは次元モデルの物理的な実装なので、次元問合せにあわせて高度に最適化されています。OLAPエンジンは、元々備えているこのディメンション性を利用することにより、きわめて効率的にクロスキューブ結合(行間計算の場合)、外部結合(時系列分析の場合)および索引付けを実行します。ディメンションは、メジャーに事前結合されます。キューブの基盤となるこのテクノロジは、索引付けされた多次元配列モデルをベースにしており、この多次元配列モデルが直接的なセル・アクセスを可能にしています。

OLAPエンジンによる次元オブジェクトの処理は、SQLエンジンによるリレーショナル・オブジェクトの処理と同様に行われます。ただし、OLAPエンジンは分析関数の計算に関して、次元オブジェクトは分析に関してそれぞれ最適化されているため、OLAPでは、分析関数および行関数の計算を、SQLよりもはるかに高速に実行できます。

Oracle OLAPは次元モデルにより、OracleBI Discoverer Plus OLAP、OracleBI Spreadsheet Add-In、OracleBI Suite Enterprise Edition、BusinessObjects EnterpriseおよびCognos ReportNetなど、ビジネス・インテリジェンス用のハイエンドなツールやアプリケーションをサポートすることが可能になっています。

キューブ

キューブは、同じ形を持つ(つまり、まったく同じディメンションを持つ)メジャーを編成する方法を提供します。同じキューブ内のメジャーは、簡単に一緒に表示したり分析したりできます。

通常、1つのキューブは1つのファクト表またはビューに対応します。

メジャー

キューブのセルに格納された、事業活動に関連して収集されたファクトのことをメジャーと呼びます。メジャーはディメンションによって編成され、通常、これにはTimeディメンションが含まれます。

分析データベースには、トランザクション・データベース、レガシー・システム、シンジケート・ソースまたはその他のデータソース内のデータから取得された、履歴データのスナップショットが含まれます。通常、3年間分の履歴データが、分析アプリケーションにとって適切と考えられています。

分析者がメジャーを使用して決定を通知している間も、メジャーは静的で一貫性を保ちます。メジャーは、一定の間隔で(毎週、毎日、または一日を通して定期的に)バッチ・ウィンドウ内で更新されます。データを更新するには、メジャーの時間ディメンションにいくつかの期間を追加し、最も古い期間を同じ数だけ排除する方法があります。各更新によって、その期間における特定の事業活動の固定された履歴レコードが提供されます。あるいは、増分更新ではなく、データの完全な再構築を行う場合もあります。

メジャーの定義では、細目の最低レベルの決定が重要です。この詳細なデータはユーザーに表示されることはありませんが、これによって、実行可能な分析のタイプが決まります。たとえば、市場分析者は受注担当者とは違い、Michigan州Ann Arbor市在住のBeth Millerがサイズ10の青い水玉模様の洋服を2006年7月6日午後2時34分に注文した、といった情報を知る必要はありません。ここで市場分析者が知りたいのは、アメリカ中西部で2006年夏に最も人気のあった洋服の色、といった情報です。

この問合せに対する回答を分析者が取得できるかどうかは、このベース・レベルのデータによって決まります。前述の問合せに対しては、Timeは月に、Customerは地域に、Productは色の属性を持つ項目(洋服など)にロール・アップすることになります。ただし、この集計データのレベルでは「1日のうちで女性が最もよく注文するのは何時か」といった問合せに回答できません。データをデータ・ウェアハウスにロードする前にどの程度まで集計するかが重要な決定となります。

ディメンション

ディメンションには、データを識別および分類する一意の値のセットが含まれます。ディメンションはキューブのエッジを形成します。したがって、キューブ内のメジャーのエッジがディメンションによって形成されます。通常、メジャーは多次元であるため、メジャーの1つの値は、意味をなすように各ディメンションのメンバーによって修飾される必要があります。たとえば、Salesメジャーは、Time、Customer、ProductおよびChannelの4つのディメンションを持ちます。特定のSalesの値(43,613.50)は、特定の期間(Feb-06)、顧客(Warren Systems)、製品(Portable PC)およびチャネル(Catalog)によって修飾された場合にのみ意味を持ちます。

ベース・レベルのディメンションの値は、ファクト表の一意キーに対応します。

階層およびレベル

階層は、集計の様々なレベルでデータを構成するための方法です。データを表示する際、分析者はディメンション階層を使用して、あるレベルの傾向を認識し、この傾向の理由を特定する場合は下位レベルにドリルダウンし、この傾向がビジネスのより広い範囲に与える影響を確認する場合は上位レベルにロールアップします。

レベルベース階層

各レベルは階層内の位置を表現します。ベース・レベル(最も詳細)より上にある各レベルには、それより低いレベルの集計値が含まれます。レベルが異なるメンバーには、1対多の親子リレーションがあります。たとえば、Q1-05およびQ2-052005の子、つまり、2005Q1-05およびQ2-05の親です。

1日に3回、つまり、8時間ごとに取得されるデータのスナップショットがデータ・ウェアハウスに格納されているとします。分析者が普段、日、週、四半期または年に集計されているデータを表示したい場合、Timeディメンションには少なくとも5つのレベルを持つ階層が必要となります。

同様に、来年に特定の目標を持つ販売部長が、自身の販売地域の販売担当者に目標額を割り当てたい場合、この割当てでは、個々の販売担当者が特定の地域の子値であるディメンション階層が必要となります。

階層およびレベルには多対多の関係があります。階層には通常いくつかのレベルが含まれ、1つのレベルを複数の階層に含めることができます。

各レベルは通常、ディメンション表またはビューの列に対応します。ベース・レベルは主キーです。

値ベース階層

通常、階層は指定したレベルで構成されますが、必ずしもそうである必要はありません。ディメンション・メンバー間の親子関係は、意味のあるレベルを定義するとはかぎりません。たとえば、従業員ディメンションにおいては、各マネージャは1つ以上のレポートを持ち、それによって親子関係が形成されます。これらの関係に基づいてレベル(個々の貢献者、第1マネージャ、第2マネージャ…など)を作成しても、分析の役に立つとはかぎりません。同様に、財務データの明細項目ディメンションはレベルを持ちません。このタイプの階層は、値ベース階層と呼ばれています。

属性

属性は、データに関する追加の情報を提供します。表示用に使用される属性もいくつかあります。たとえば、製品ディメンションで、ディメンション・メンバーに対して最小在庫管理単位(SKU)を使用する場合があります。SKUは数千の製品を一意に識別する優れた方法ですが、レポートやグラフ内でデータのラベル付けに使用される場合、ほとんどの人にとって意味がありません。こうした説明ラベルには属性を定義します。

属性として、色、味またはサイズなどを持つ場合もあります。このタイプの属性は、「2005年夏に婦人服で最も人気のあった色とは」や「この結果は昨夏と比較するとどうなるか」などの問合せに対する、データの選択および回答に使用できます。

Time属性は、各期間の最終日や日数の識別など、特定のタイプの分析に役に立つ可能性のあるTimeディメンションに関する情報を提供できます。

各属性は通常、ディメンション表またはビューの列に対応します。