分析データ ストアを調べる

完了

分析データ ストアには、2 つの一般的な種類があります。

データ ウェアハウス

スター スキーマのあるデータ ウェアハウスのダイアグラム。

"データ ウェアハウス" は、トランザクション ワークロードではなくデータ分析用に最適化されたスキーマにデータが格納されるリレーショナル データベースです。 一般に、トランザクション ストアのデータは、中心になる "ファクト" テーブルに数値が格納されたスキーマに変換されます。それらのテーブルは、データ集計の基準となるエンティティを表す 1 つ以上の "ディメンション" テーブルに関連付けられます。 たとえば、ファクト テーブルには、顧客、製品、店舗、時間の各ディメンション別に集計できる販売注文データが含まれている場合があります (それにより、たとえば、店舗ごとに製品別の毎月の売上収益合計を簡単に検索できます)。 この種のファクトおよびディメンション テーブル スキーマは、"スター スキーマ" と呼ばれますが、ディメンション テーブルに関連した他のテーブルを追加してディメンション階層を表すことで、"スノーフレーク スキーマ" に拡張されることがよくあります (たとえば、製品は製品カテゴリに関連している可能性があります)。 データ ウェアハウスは、テーブルの構造化スキーマに編成できるトランザクション データがあり、それに対して SQL を使用してクエリを実行する場合に最適です。

データ レイク

テーブルによってファイルが抽象化されるデータ レイクのダイアグラム。

"データ レイク" はファイル ストアであり、通常は分散ファイル システム上でハイ パフォーマンスのデータ アクセスを実現します。 格納されているファイルに対するクエリを処理し、レポートと分析用のデータを返すために、Spark や Hadoop などのテクノロジがよく使用されます。 これらのシステムでは、多くの場合、スキーマ オン リード アプローチを適用して、データを分析のために読み取る時点で半構造化データ ファイルに対して表形式スキーマを定義します。格納時に制約を適用することはしません。 データ レイクは、ストアへのデータ書き込み時にスキーマを適用する必要なく分析対象の構造化データ、半構造化データ、非構造化データの組み合わせをサポートするために最適です。

ハイブリッド アプローチ

"データ レイクハウス" でデータ レイクとデータ ウェアハウスの機能を組み合わせるハイブリッド アプローチを使用できます。 生データはデータ レイクにファイルとして保存され、Microsoft Fabric SQL 分析エンドポイントによってテーブル形式で公開されます。これは SQL を使用してクエリを実行できます。 Microsoft Fabric を使用してレイクハウスを作成すると、SQL 分析エンドポイントが自動的に作成されます。 データ レイクハウスは、Spark ベースのシステムでは比較的新しいアプローチであり、Delta Lake などのテクノロジを通じて実現されます。これにより Spark にリレーショナル ストレージ機能が追加され、スキーマとトランザクションの整合性を強制適用するテーブルを定義して、バッチ読み込みとストリーミングのデータ ソースをサポートし、クエリ用の SQL API を提供できます。

分析ストア用の Azure サービス

Azure には、次のように大規模な分析ストアを実装するために使用できるサービスがいくつかあります。

Microsoft Fabric ロゴのスクリーンショット。Microsoft Fabric は、大規模なデータ分析のための統合されたエンドツーエンド ソリューションです。 複数のテクノロジと機能を統合して、スケーラブルなハイ パフォーマンスの SQL Server ベース リレーショナル データ ウェアハウスに備わるデータの整合性と信頼性に、データ レイクとオープンソース Apache Spark の柔軟性を組み合わせることができます。 また、Microsoft Fabric Real-Time Intelligence を使用したログおよびテレメトリ分析のネイティブ サポートと、データ インジェストと変換のための組み込みデータ パイプラインも含まれています。 各 Microsoft Fabric 製品エクスペリエンスには、Data Factory ホームなどの独自のホームがあります。 各 Fabric ホームには、ユーザーが作成し、アクセスするすべてのワークスペースから使用できるアクセス許可を持つ項目が表示されます。 Microsoft Fabric は、1 つの統合分析ソリューションを作成する場合に最適です。

Azure Databricks ロゴのスクリーンショット。Azure Databricks は、よく使われる Databricks プラットフォームの Azure による実装です。 Databricks は Apache Spark 上に構築された包括的なデータ分析ソリューションであり、ネイティブの SQL 機能のほか、データ分析とデータ サイエンスのためのワークロード用に最適化された Spark クラスターを提供します。 Databricks には、システムを管理し、データを対話型ノートブックで探索できる対話型ユーザー インターフェイスが用意されています。 Azure Databricks は複数のクラウド プラットフォームで一般的に使用されているため、プラットフォームで既存の専門知識を使用する場合や、マルチクラウド環境で運用する必要がある場合、クラウド移植可能なソリューションをサポートする必要がある場合は、分析ストアとしての使用を検討することをお勧めします。

Note

これらの各サービスは、データのクエリを実行できるスキーマとインターフェイスを提供するという意味で、分析データ "ストア" として考えることができます。 ただし、多くの場合、データは実際にはデータ レイクに格納され、サービスはデータの "処理" とクエリの実行に使用されます。 一部のソリューションでは、これらのサービスを組み合わせて使用している場合もあります。 "抽出、読み込み、変換" (ELT) インジェスト プロセスにおいては、データ レイクにデータをコピーした後、これらのサービスのどれかを使用してデータを変換し、別のサービスを使用してクエリを実行する場合があります。 たとえば、パイプラインで、Azure Databricks で実行されているノートブックを使用してデータ レイク内の大量のデータを処理し、それを Microsoft Fabric Warehouse のテーブルに読み込むことができます。