Azure でのビッグ データ ストレージ テクノロジの選択

Note

2024 年 2 月 29 日に Azure Data Lake Storage Gen1 は廃止されます。 詳細については、公式告知を参照してください。 Azure Data Lake Storage Gen1 を使用している場合は、その日になる前に Azure Data Lake Storage Gen2 に移行してください。 方法を確認するには、「Azure portal を使用して、Gen1 から Gen2 に Azure Data Lake Storage を移行する」を参照してください。

Azure Data Lake Storage Gen1 アカウントを持っていなければ、新しいアカウントは作成できません。

このトピックでは、分析データ ストアやリアルタイムのストリーミング インジェストとは対照的に、ビッグ データ ソリューション向けのデータ ストレージ オプション (具体的には、一括データ インジェストとバッチ処理用のデータ ストレージ) を比較します。

Azure でデータ ストレージを選択するときのオプション

必要に応じて、Azure にデータを取り込むためのいくつかのオプションがあります。

File Storage

NoSQL データベース:

分析データベース:

Azure Data Explorer

Azure Storage BLOB

Azure Storage は、高い可用性セキュリティ、耐久性、スケーラビリティ、および冗長性を備えた管理対象ストレージ サービスです。 メンテナンスや重大な問題には、Microsoft がお客様に代わって対処します。 Azure Storage は、Azure が提供する最大のユビキタス ストレージ ソリューションであり、多数のサービスとツールと連携させて使用できます。

データの格納に使用できるさまざまな Azure Storage サービスがあります。 多数のデータ ソースから BLOB を格納するための最も柔軟なオプションは、BLOB ストレージです。 BLOB は、基本的にはファイルです。 それらは、画像、ドキュメント、HTML ファイル、仮想ハード ディスク (VHD) から、ログなどのビッグ データ、データベースのバックアップまで、ほぼすべてを格納できます。 BLOB は、フォルダーに似たコンテナーに格納されます。 コンテナーには、一連の BLOB をグループ化するコンテナーが用意されています。 ストレージ アカウントに含めることができるコンテナーの数には制限がなく、1 つのコンテナーに格納できる BLOB の数にも制限はありません。

Azure Storage は、柔軟性、高可用性、および低コストという理由で、ビッグ データと分析ソリューションに適した選択肢です。 さまざまなユース ケース用のホット、クール、およびアーカイブ ストレージ層を提供します。 詳細については、Azure Blob Storage のホット ストレージ層、クール ストレージ層、アーカイブ ストレージ層に関するページを参照してください。

Azure Blob Storage は、Hadoop からアクセスできます (HDInsight から利用できます)。 HDInsight は、クラスターの既定のファイル システムとして Azure Storage 内の BLOB コンテナーを使用できます。 HDInsight のすべてのコンポーネントは、WASB ドライバーが提供する Hadoop 分散ファイル システム (HDFS) のインターフェイスを利用して、BLOB として格納された構造化データまたは非構造化データを直接操作できます。 Azure Blob Storage には、PolyBase 機能を使用して Azure Synapse Analytics 経由でアクセスすることもできます。

Azure Storage を適切な選択肢にするその他の機能を次に示します。

Azure Data Lake Storage Gen1

Azure Data Lake Storage Gen1 は、ビッグ データの分析ワークロードに対応するエンタープライズ レベルのハイパースケール リポジトリです。 Data Lake を使用すると、運用分析や調査分析を目的として任意のサイズ、種類、および取り込み速度のデータを 1 か所のセキュリティで保護された場所にキャプチャできます。

Azure Data Lake Storage Gen1 に格納できるアカウント サイズ、ファイル サイズ、またはデータ量に関する制限は設定されていません。 データは複数のコピーを作成して格納されるため、障害が発生しても保護されます。Data Lake でのデータの格納期間に制限はありません。 予期しない障害から保護するためのファイルの複数のコピーの作成に加え、Data Lake では、ファイルの一部を、多数の個別のストレージ サーバーに分散させます。 これにより、ファイルを並列に読み取ってデータ分析を実行する場合の読み取りスループットが向上します。

Azure Data Lake Storage Gen1 には、Hadoop (HDInsight で使用可能) から、WebHDFS 互換の REST API を使用してアクセスできます。 個別のファイルまたは組み合わせたファイルのサイズが Azure Storage でサポートされるファイルのサイズを超える場合は、これを Azure Storage の代わりに使用することを検討できます。 ただし、Azure Data Lake Storage Gen1 を HDInsight クラスターのプライマリ ストレージとして使用する場合に従う必要があるパフォーマンス チューニング ガイドラインがあり、SparkHiveMapReduce 用の特別なガイドラインがあります。 また、Azure Data Lake Storage Gen1 のリージョンでの可用性を必ず確認してください。Azure Storage と同じ数のリージョンでは利用できず、HDInsight クラスターと同じリージョンに配置される必要があります。

Azure Data Lake Analytics と結合された Azure Data Lake Storage Gen1 は、格納されたデータを分析できるように設計されており、データ分析シナリオに合わせてパフォーマンスの調整が行われます。 Azure Data Lake Storage Gen1 には、PolyBase 機能を使用して Azure Synapse 経由でアクセスすることもできます。

Azure Cosmos DB

Azure Cosmos DB は、Microsoft が提供するグローバル分散型のマルチモデル データベースです。 Azure Cosmos DB では、世界中のあらゆる場所で 99 パーセントのユーザーの待機時間が確実に 1 桁ミリ秒となります。また、明確でわかりやすい複数の整合性モデルでパフォーマンスを細かく調整することができ、マルチホーム機能により高可用性も保証されます。

Azure Cosmos DB はスキーマに依存しません。 それは、全データのインデックスを自動的に作成します。スキーマとインデックスの管理に対処する必要はありません。 またマルチモデルでもあり、ドキュメント、キー値、グラフ、列ファミリのデータ モデルにネイティブに対応しています。

Azure Cosmos DB の機能:

HDInsight での HBase

Apache HBase は、オープン ソースの NoSQL データベースであり、Hadoop 上に構築され、Google BigTable をモデルにしています。 HBase は、大量の非構造化データと半構造化データに対するランダム アクセスと強力な一貫性を、列ファミリで整理されたスキーマなしのデータベースで実現します。

データはテーブルの行内に格納され、行内のデータは列ファミリによってグループ化されます。 HBase は、列や列内に格納されるデータの型を使用前に定義する必要がないという意味で、スキーマレスです。 オープン ソース コードは、直線的な拡張により何千ものノード上でペタバイト級のデータを扱うことができます。 また、Hadoop エコシステムの分散アプリケーションの利点であるデータの冗長性、バッチ処理などの機能を利用できます。

HDInsight の実装と HBase のスケールアウト アーキテクチャにより、テーブルの自動シャーディング、読み取りと書き込みの強力な一貫性、自動フェールオーバーなどが実現します。 また、メモリ内キャッシュを利用した読み取りと高スループットのストリーミングによる書き込みによって、パフォーマンスも拡張されています。 ほとんどの場合、仮想ネットワークの内部に HBase クラスターを作成して、他の HDInsight クラスターとアプリケーションがテーブルに直接アクセスできるようにします。

Azure Data Explorer

Azure Data Explorer は、ログと利用統計情報のための高速で拡張性に優れたデータ探索サービスです。 最新のソフトウェアによって生成される多数のデータ ストリームを処理できるため、データを収集、保存、分析できます。 Azure データ エクスプローラーは、Web サイト、アプリケーション、IoT デバイスなどのデータ ソースの大量の多様なデータの分析に最適です。 このデータは、診断、監視、報告、機械学習、付加的分析の各種機能に利用されます。 Azure Data Explorer を利用することでこのデータの取り込みがシンプルになり、データに対する複雑なクエリやアドホック クエリを数秒で実行できます。

Azure Data Explorer は、インジェストとクエリ処理のスループットを向上させるために、線形にスケールアウトできます。 プライベート ネットワークを有効にするために、Azure Data Explorer クラスターを仮想ネットワークにデプロイできます。

主要な選択条件

選択肢を絞り込むために、まず次の質問に答えてください。

  • あらゆる種類のテキストまたはバイナリ データ用の管理された高速のクラウドベースのストレージが必要か。 必要な場合は、ファイル ストレージ オプションまたは分析オプションのいずれかを選択します。

  • 並列分析ワークロードと高いスループット/IOPS 用に最適化されたファイル ストレージが必要か。 必要な場合は、分析ワークロードのパフォーマンスを調整するオプションを選択します。

  • Schemaless データベースで非構造化または半構造化データを格納する必要があるか。 これに該当する場合は、非リレーショナル オプションまたは分析オプションのいずれかを選択します。 インデックス作成とデータベース モデルのオプションを比較します。 格納する必要があるデータの種類によっては、プライマリ データベース モデルが最大の要素になることがあります。

  • 在住しているリージョンでサービスを利用できるか。 各 Azure サービスの利用可能リージョンを確認します。 「リージョン別の利用可能な製品」を参照してください。

機能のマトリックス

次の表は、機能の主な相違点をまとめたものです。

File Storage の機能

機能 Azure Data Lake Storage Gen1 Azure Blob Storage コンテナー
目的 ビッグ データ分析ワークロードに最適化されたストレージ さまざまなストレージ シナリオに対応する汎用オブジェクト ストア
ユース ケース バッチ、ストリーミング分析、および機械学習データ (ログ ファイル、IoT データ、クリック ストリーム、大規模なデータセットなど) あらゆる種類のテキスト データまたはバイナリ データ (アプリケーション バックエンド、バックアップ データ、ストリーミング用メディア ストレージ、汎用データなど)
構造体 階層型ファイル システム フラットな名前空間を使用するオブジェクト ストア
認証 Microsoft Entra ID に基づいています 共有シークレット (アカウント アクセス キーShared Access Signature キー)、および Azure ロールベースのアクセス制御 (Azure RBAC) に基づく
認証プロトコル OAuth 2.0。 呼び出しには、Microsoft Entra ID から発行された有効な JWT (JSON Web トークン) が含まれている必要があります ハッシュベース メッセージ認証コード (HMAC)。 呼び出しには、HTTP 要求の一部に対する Base64 でエンコードされた SHA-256 ハッシュが含まれている必要があります。
承認 POSIX アクセス制御リスト (ACL)。 Microsoft Entra ID に基づく ACL はファイル レベルとフォルダー レベルで設定できます。 アカウントレベルの承認には、アカウント アクセス キーを使用します。 アカウント、コンテナー、または BLOB の承認には、Shared Access Signature キーを使用します。
監査 使用可能。 利用可能
保存時の暗号化 透過的、サーバー側 透過、サーバー側。クライアント側の暗号化
Developer SDK .NET、Java、Python、Node.js .NET、Java、Python、Node.js、C++、Ruby
分析ワークロードのパフォーマンス 並列分析ワークロードに最適化されたパフォーマンス。高いスループットと IOPS 分析ワークロードに最適化されていません。
サイズ制限 アカウント サイズ、ファイル サイズ、ファイル数に制限はありません。 具体的な制限については、 こちら
geo 冗長 ローカル冗長 (LRS)、geo 冗長 (GRS)、読み取りアクセス geo 冗長 (RA-GRS)、ゾーン冗長 (ZRS)。 ローカル冗長 (LRS)、ゾーン冗長 (ZRS)、geo 冗長 (GRS)、読み取りアクセス geo 冗長 (RA-GRS)。 詳細については、 こちら をご覧ください。

NoSQL データベースの機能

機能 Azure Cosmos DB HDInsight での HBase
プライマリ データベース モデル ドキュメント ストア、グラフ、キー値ストア、ワイド カラム ストア ワイド カラム ストア
セカンダリ インデックス はい いいえ
SQL 言語のサポート はい はい (Phoenix JDBC ドライバーを使用)
一貫性 強固、有界整合性制約、セッション、一貫性のあるプレフィックス、最終的 Strong
Azure Functions のネイティブ統合 はい いいえ
自動的なグローバル分散 はい いいえ。最終的な整合性を指定して、リージョン間でHBase クラスターのレプリケーションを構成可能
価格モデル 必要に応じて秒単位で課金され、弾力的にスケーラブルな要求ユニット (RU)。弾力的にスケーラブルなストレージ HDInsight クラスターの分単位の料金 (ノードの水平スケーリング)、ストレージ

分析データベースの機能

機能 Azure Data Explorer
プライマリ データベース モデル リレーショナル (列ストア)、テレメトリ、および時系列ストア
SQL 言語のサポート はい
価格モデル 弾力的にスケーラブルなクラスター インスタンス
認証 Microsoft Entra ID に基づいています
保存時の暗号化 サポートされる (カスタマー マネージド キー)
分析ワークロードのパフォーマンス 並列分析ワークロードに最適化されたパフォーマンス
サイズ制限 線形にスケーラブル

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

次のステップ