オンライン分析処理 (OLAP) は、大規模なビジネス データベースを整理して複雑な計算と傾向分析を実行するテクノロジです。 このメソッドを使用すると、トランザクション システムを中断することなく複雑なクエリを実行できます。
ビジネス トランザクションとレコードは、個々のレコード エントリ用に最適化された オンライン トランザクション処理 (OLTP) データベースと呼ばれるデータベースに格納されます。 これらのデータベースは貴重な情報を保持しますが、分析用に設計されていないため、データの取得には時間がかかり、困難です。
この問題に対処するために、OLAP システムはデータからビジネス インテリジェンスを効率的に抽出します。 OLAP データベースは、読み取りが多く、書き込みが少ないタスク用に最適化されています。 これらはモデル化され、効果的な分析のためにクレンジングされます。 OLAP データベースでは、多くの場合、時系列分析のために履歴データが保持されます。
OLAP システムでは、従来、多次元データ キューブを使用して、複雑なクエリと分析をサポートする方法でデータを整理していました。 次の図は、従来の OLAP システム アーキテクチャを示しています。
テクノロジが進歩し、データと計算のスケールの両方が増加すると、OLAP システムは Microsoft Fabric がサポートする超並列処理 (MPP) アーキテクチャに移行します。 詳細については、「 Fabric 分析データ ストア」を参照してください。
次の図は、最新の OLAP システム アーキテクチャを示しています。
セマンティック モデリング
セマンティック データ モデルは、それに含まれるデータ要素の意味を記述する概念モデルです。 多くの場合、組織にはアイテムに対して独自の用語があり、それらの用語にはシノニムが含まれる場合があります。 組織は、同じ用語に対して異なる意味を持つ場合もあります。 たとえば、インベントリ データベースでは、資産 ID とシリアル番号を使用して機器の一部を追跡できます。 ただし、販売データベースはシリアル番号を資産 ID として参照する場合があります。 リレーションシップを記述するモデルなしでこれらの値を関連付ける簡単な方法はありません。
セマンティック モデリングでは、ユーザーが基になるデータ構造を知る必要がないように、データベース スキーマに対する抽象化レベルが提供されます。 エンド ユーザーは、基になるスキーマに対して集計と結合を実行することなく、データのクエリを簡単に実行できます。 多くの場合、列の名前がわかりやすい名前に変更され、データのコンテキストと意味がより明確になります。
セマンティック モデリングは、書き込み負荷の高いトランザクション データ処理 (OLTP) ではなく、分析やビジネス インテリジェンス (OLAP) などの読み取り負荷の高いシナリオに主に使用されます。 セマンティック モデリングは、一般的なセマンティック レイヤーの特性により、読み取り負荷の高いシナリオに適しています。
- 集計動作は、レポート作成ツールがそれらを正しく表示されるように設定されます。
- ビジネス ロジックと計算が定義されます。
- 時間指向の計算が含まれます。
- データは多くの場合、複数のソースから統合されます。
- リアルタイム分析がサポートされています。
伝統的に、セマンティック レイヤーは、これらの理由でデータ ウェアハウスの上に配置されます。
セマンティック モデルには 2 つの主な種類があります。
表形式モデル では、モデル、テーブル、列などのリレーショナル モデリングコンストラクトが使用されます。 内部的には、メタデータはキューブ、ディメンション、メジャーなどの OLAP モデリング コンストラクトから継承されます。 コードとスクリプトは、OLAP メタデータを使用します。
多次元モデル では、キューブ、ディメンション、メジャーなどの従来の OLAP モデリングコンストラクトが使用されます。
Analysis Services と Fabric には、セマンティック モデリングを効果的に実装するために必要なインフラストラクチャとツールが用意されています。
使用例
組織は、大規模なデータベースにデータを格納します。 このデータをビジネス ユーザーと顧客が利用できるようにして、独自のレポートを作成し、分析を実行したいと考えています。
これらのユーザーにデータベースへの直接アクセスを許可することもできますが、このオプションには、セキュリティ管理やアクセス制御などの欠点があります。 また、ユーザーは、テーブルや列の名前など、データベースの設計を理解するのが難しい場合があります。 このオプションでは、クエリを実行するテーブル、それらのテーブルを結合する方法、および正しい結果を得るために他のビジネス ロジックを適用する方法をユーザーに知る必要があります。 ユーザーは、SQL などのクエリ言語を知る必要もあります。 通常、このオプションを選択すると、複数のユーザーが同じメトリックをレポートしますが、結果は異なります。
より良いオプションは、ユーザーが必要とするすべての情報をセマンティック モデルにカプセル化することです。 ユーザーは、任意のレポート ツールを使用してセマンティック モデルのクエリを簡単に実行できます。 セマンティック モデルが提供するデータはデータ ウェアハウスから取得されるため、すべてのユーザーが 1 つの信頼できるソースを確実に表示できます。 セマンティック モデルでは、わかりやすいテーブル名と列名も提供され、テーブル間のリレーションシップが定義され、説明と計算が含まれます。また、行レベルのセキュリティが適用されます。
セマンティック モデリングの一般的な特徴
セマンティック モデリングと分析処理には、次のような特徴があります。
要件 | 説明 |
---|---|
スキーマ | 書き込み時のスキーマ。厳密に適用 |
トランザクションの使用 | いいえ |
ロック戦略 | 無し |
更新可能 | いいえ。通常、キューブの再計算が必要です |
追加可能 | いいえ。通常、キューブの再計算が必要です |
ワークロード | 読み取り量が多い。読み取り専用 |
インデックス作成 | 多次元インデックスの作成 |
データ サイズ | 小さいから非常に大きいサイズ |
モデル | 表形式または多次元 |
データ シェイプ | キューブ、スター、またはスノーフレーク スキーマ |
クエリの柔軟性 | 高い柔軟性 |
規模 | 大規模、数百ギガバイト (GB) から複数のペタバイト (PB) |
このソリューションを使用する状況
次のシナリオでは、OLAP の使用を検討してください。
OLTP システムに悪影響を及ぼすことなく、複雑な分析クエリとオンデマンド クエリを迅速に実行する必要があります。
ビジネス ユーザーに、データからレポートを生成する簡単な方法を提供したいと考えています。
ユーザーが高速で一貫性のある結果を得られるように、複数の集計を提供する必要があります。
大量データに対して集計の計算を適用するには、OLAP は特に便利です。 OLAP システムは、読み取り負荷の高いシナリオ向けに最適化されています。 OLAP では、ユーザーはピボット テーブルなどの 2 つのディメンションで表示できるスライスに多次元データをセグメント化することもできます。 または、特定の値でデータをフィルター処理することもできます。 ユーザーは、データが複数のデータ ソースに分割されているかどうかに関係なく、データの スライスとダイシング と呼ばれるこれらのプロセスを実行できます。 ユーザーは、従来のデータ分析の詳細を知らなくても、簡単にデータを探索できます。
セマンティック モデルは、業務ユーザーがリレーションシップの複雑性を抽象化して、データの迅速な分析をより簡単に行うことを可能にします。
課題
OLAP システムでは、次の課題も発生します。
さまざまなソースから送り込まれるトランザクションは、OLTP システムのデータを常に更新します。 OLAP データ ストアは、通常、ビジネス ニーズに応じて、はるかに遅い間隔で更新されます。 OLAP システムは、変更に対する即時の対応ではなく、戦略的なビジネス上の決定に適しています。 また、いずれかのレベルでのデータ クレンジングおよび調整では、OLAP データ ストアを最新の状態に保つように計画する必要があります。
OLTP システムの従来の正規化されたリレーショナル テーブルとは異なり、OLAP データ モデルは多次元になる傾向があります。 そのため、各属性が 1 つの列に対応するエンティティリレーションシップまたはオブジェクト指向モデルに直接マップすることは困難または不可能です。 代わりに、OLAP システムでは通常、従来の正規化ではなく、スターまたはスノーフレーク スキーマが使用されます。
Azure での OLAP
Azure では、Azure SQL Database などの OLTP システムのデータは、 Fabric や Analysis Services などの OLAP システムにコピーされます。 Power BI、Excel、Microsoft 以外のオプションなどのデータ探索および視覚化ツールは、Analysis Services サーバーに接続し、モデル化されたデータに対する高度な対話型で視覚的に豊富な分析情報をユーザーに提供します。 SQL Server Integration Services を使用して、OLTP システムから OLAP システムへのデータ フローを調整できます。 SQL Server Integration Services を実装するには、 Azure Data Factory を使用します。
次の Azure データ ストアは、OLAP のコア要件を満たしています。
SQL Server Analysis Services は、ビジネス インテリジェンス アプリケーション用の OLAP およびデータ マイニング機能を提供します。 ローカル サーバーに SQL Server Analysis Services をインストールするか、Azure の仮想マシン (VM) 内でホストすることができます。 Analysis Services は、SQL Server Analysis Services と同じ主要な機能を提供するフル マネージド サービスです。 Analysis Services では、クラウドおよび組織内のオンプレミス のさまざまなデータ ソース への接続がサポートされています。
クラスター化列ストア インデックスは、SQL Server 2014 以降および SQL Database で使用できます。 これらのインデックスは、OLAP ワークロードに最適です。 SQL Database を含む SQL Server 2016 以降では、更新可能な非クラスター化列ストア インデックスを使用して、ハイブリッド トランザクションおよび分析処理 (HTAP) を利用できます。 HTAP を使用して、同じプラットフォームで OLTP および OLAP 処理を実行します。 この方法では、データの複数のコピーと個別の OLTP システムと OLAP システムが不要になります。 詳細については、「列ストアを使用したリアルタイム運用分析の概要」をご覧ください。
主要な選択条件
選択肢を絞り込むには、次の質問に答えます。
独自のサーバーを管理するのではなく、管理されたサービスが必要ですか?
セキュリティで保護された認証には Microsoft Entra ID が必要ですか?
OLTP データ ストア以外の複数のソースからのデータを統合する必要がありますか?
リアルタイム分析を実行しますか?
Fabric Real-Time Intelligence は Fabric 内の強力なサービスであり、分析情報を抽出し、移動中のデータを視覚化するために使用できます。 イベント ドリブン シナリオ、ストリーミング データ、およびデータ ログ用のエンド ツー エンド ソリューションを提供します。 GB または PB のデータを管理する場合でも、すべての組織データは移動中に Real-Time ハブに収束します。
たとえば、ビジネス ユーザーにとって分析を容易にするセマンティック モデルを提供するために、事前に集計されたデータを使用する必要がありますか。
"はい" の場合、多次元キューブまたは表形式セマンティック モデルをサポートするオプションを選択します。
ユーザーが一貫してデータ集計を計算するのに役立つ集計を提供します。 事前集計されたデータは、多数の行に複数の列がある場合に、パフォーマンスを大幅に向上させることもできます。 多次元キューブまたは表形式セマンティック モデルでデータを事前に集計できます。
能力マトリクス
次の表は、これらのサービス間の機能の主な違いをまとめたものです。
- ファブリック
- 分析サービス
- SQL Server Analysis Services
- 列ストア インデックスを持つ SQL Server
- 列ストア インデックスを使用する SQL Database
一般的な機能
能力 | ファブリック | 分析サービス | SQL Server Analysis Services | 列ストア インデックスを持つ SQL Server | 列ストア インデックスを使用する SQL Database |
---|---|---|---|---|---|
マネージド サービスです | イエス | イエス | いいえ | いいえ | イエス |
MPP | イエス | いいえ | いいえ | いいえ | いいえ |
多次元キューブをサポート | いいえ | いいえ | イエス | いいえ | いいえ |
表形式のセマンティック モデルをサポート | イエス | イエス | イエス | いいえ | いいえ |
複数のデータ ソースを簡単に統合 | イエス | イエス | イエス | いいえ 1 | いいえ 1 |
リアルタイムの分析をサポート | イエス | いいえ | いいえ | イエス | イエス |
ソースからデータをコピーするプロセスが必要です | オプション 3 | イエス | イエス | いいえ | いいえ |
Microsoft Entra の統合 | イエス | イエス | いいえ | いいえ 2 | イエス |
[1] SQL Server と SQL Database は、複数の外部データ ソースからクエリを実行して統合することはできませんが、 SQL Server Integration Services または Azure Data Factory を使用してこれらの関数を実行するパイプラインを構築できます。 Azure VM でホストされる SQL Server には、リンク サーバーや PolyBase などのその他のオプションがあります。 詳細については、「 データ パイプライン オーケストレーション テクノロジの選択」を参照してください。
[2] Microsoft Entra アカウントは、Azure VM でホストされている SQL Server への接続をサポートしていません。 代わりにドメイン Windows Server Active Directory アカウントを使用してください。
Fabric は、Azure Data Factory パイプラインまたはミラーリングを介して OneLake にデータを移動することで、データ ソースを統合する柔軟性を提供します。 また、データを移動せずに、ショートカットを作成したり、データ ストリームに対してリアルタイム分析を行ったりすることもできます。
スケーラビリティ機能
能力 | ファブリック | 分析サービス | SQL Server Analysis Services | 列ストア インデックスを持つ SQL Server | 列ストア インデックスを使用する SQL Database |
---|---|---|---|---|---|
高可用性のための冗長リージョン サーバー | イエス | イエス | いいえ | イエス | イエス |
クエリのスケールアウトをサポート | イエス | イエス | いいえ | イエス | イエス |
動的なスケーラビリティ、スケールアップ | イエス | イエス | いいえ | イエス | イエス |