Azure、GCP分析基盤比較

AzureとGCPの分析基盤について比較を行う
※2020年時点の情報です。最新の情報については公式サイトをご参照いただければとおもいます。

### 1.データ取り込み
| | サービス名|説明|URL|
|---|---|---|---|
|GCP|Transfer Service|オンプレミス環境や他クラウドからのデータ転送をするためのサービスです。非構造化データも含めて対応します。Storage Transfer Service と Transfer Service for On Premises Data はどちらも Cloud Storage への高性能なデータ転送経路を提供する。|https://cloud.google.com/storage-transfer-service?hl=ja|
|GCP|Cloud Data Fusion|各種DBやストレージと接続するためのコネクターや、 ETLを実行するGUI（グラフィカルユーザーインターフェース）など、さまざまな機能を備えたデータ統合サービス|https://cloud.google.com/data-fusion?hl=ja|
|GCP|BigQuery Data Transfer Service|GCPのDWHである「BigQuery」が持つデータ転送サービス。|https://cloud.google.com/bigquery/transfer?hl=ja|
|GCP|BigQuery外部データソース|BigQueryのクエリーエンジンを利用して外部データソースに対してクエリーを実行することが可能|https://cloud.google.com/bigquery/external-data-sources?hl=ja|

### 2.データの保管
| | サービス名|説明|URL|
|---|---|---|---|
|GCP|Cloud Storage|統合型のオブジェクトストレージで、主に非構造化データの保管に使われます。|https://cloud.google.com/storage?hl=ja|
|GCP|BigQuery|BigQueryはサーバーレスのDWHですが、内部にストレージを持っており、データ保管でも大きな役割を果たします。通常DWHには、コスト面やパフォーマンス面の制約などから、分析に使いやすい形に整形したデータのみを保管するケースが多いのですが、BigQueryではこうした制約を気にする必要がありません。ストレージとコンピューティングが分離されており、それぞれ別々に拡張可能なためです。このことから、多くの場合構造化／半構造化データはBigQueryに保管されます。|https://cloud.google.com/bigquery/external-data-sources?hl=ja|
|Azure|Azure Blob Storage|あらゆる種類の非構造化データ (画像、ビデオ、音声、ドキュメントなど) を簡単かつコスト効果よく保存できる非常にスケーラブルなオブジェクト ストレージです。ストレージ アカウントを BLOB ストアとして作成した場合、データのクエリを直接実行することはできません。|https://azure.microsoft.com/ja-jp/services/storage/blobs/#overview|
|Azure|Azure Data Lake Storage Gen2|Azure Blob Storage と Azure Data Lake Storage Gen1 の機能を集約したものです。 たとえば、Data Lake Storage Gen2 では、ファイル システム セマンティクス、ファイルレベルのセキュリティ、スケーリングが提供されます。 これらの機能は Blob Storage に基づいて構築されているため、高可用性およびディザスター リカバリー機能を備えた低コストの階層型ストレージも利用できます。開発者は Blob API または Data Lake ファイル API を使用してデータにアクセスできます。 また、Gen2 は、Azure Databricks、Hadoop、Azure HDInsight などのさまざまなコンピューティング プラットフォーム用のストレージ レイヤーとしても機能できますが、データをプラットフォームに読み込む必要はありません。|https://docs.microsoft.com/ja-jp/azure/storage/blobs/data-lake-storage-introduction|

### 3.データの分析と処理
| | サービス名|説明|URL|
|---|---|---|---|
|GCP|Cloud Dataproc|Hadoopや「Apache Spark」を使ったデータ分析を実行するマネージドサービスです|https://cloud.google.com/dataproc/docs/concepts/overview?hl=ja|
|GCP|Cloud Dataflow|サーバーレスの大規模データ処理サービスです|https://cloud.google.com/dataflow/?hl=ja|
|GCP|BigQuery|サーバーレスのDWHです。先に説明した通り、BigQueryには整形済みの分析用データを保存する必要はありません。スケーラビリティーが高く手軽に利用できることから、まず半構造化データをロードして、そこからELTを実行するユーザーも多くいます。データを整形した後は、SQLで分析します。|https://cloud.google.com/bigquery/?hl=ja|
|Azure|Azure Data Factory|ETL/ELT ワークフローを作成、スケジュール、調整できるハイブリッド データ統合サービスです。|https://azure.microsoft.com/ja-jp/services/data-factory/|
|Azure|Azure Databricks|高速で使いやすい、コラボレーション対応の Apache Spark ベースの分析プラットフォームです。TensorFlow、PyTorch、scikit-learn を含むデータ サイエンス向けのフレームワークとライブラリに加え、Python、Scala、R、Java、SQL をサポートします。|https://azure.microsoft.com/ja-jp/services/databricks/|
|Azure|Azure Synapse Analytics|高速で柔軟性のある、信頼性の高いクラウド データ ウェアハウスです。これにより、超並列処理アーキテクチャを使用して、弾力的かつ個別にスケーリング、計算、格納を行うことができます。Azure Synapse Analytics では、バルク データに対して抽出、読み込み、変換 (ELT) のアプローチが使用されます。 SQL のプロフェッショナルは、bcp や SQLBulkCopy API などの一括コピー ツールに既に慣れ親しんでいます。 Azure Synapse Analytics を使用するデータ エンジニアは、PolyBase でデータをすばやく読み込めることをすぐに学習するでしょう。PolyBase を使用すると、SQL Server インスタンスのデータを外部データと結合できます。|https://azure.microsoft.com/ja-jp/services/synapse-analytics/|
|Azure|Azure Stream Analytics|複数のソースからの大量の高速ストリーミング データを同時に分析および処理するように設計された、リアルタイムの分析および複合イベント処理エンジンです。 パターンやリレーションシップは、デバイス、センサー、クリックストリーム、ソーシャル メディア フィード、アプリケーションなどのいくつかの入力ソースから抽出された情報内で識別できます。 これらのパターンを使用してアクションを起動し、アラートの作成、レポート作成ツールへの情報のフィード、または後で使用するための変換されたデータの保存などのワークフローを開始できます。 また、Stream Analytics は Azure IoT Edge ランタイムでも使用できます。これにより、IoT デバイス上のデータを処理できるようになります。|https://azure.microsoft.com/ja-jp/services/stream-analytics/|

### 4.機械学習サービス
| | サービス名|説明|URL|
|---|---|---|---|
|GCP|AutoML tables|構造化データに対する最先端の機械学習モデルを自動的にビルドしてデプロイします。|https://cloud.google.com/automl-tables?hl=ja|
|GCP|BigQuery ML|BigQuery で標準 SQL クエリを使用して、機械学習モデルを作成し実行できます。|https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro?hl=ja|
|Azure|Azure Machine Learning|データ サイエンティストや開発者に機械学習モデルの構築、トレーニング、デプロイのための幅広い生産的なエクスペリエンスを提供し、チームのコラボレーションを促進できます。機械学習用の DevOps である業界トップレベルの MLOps を使用して、市場投入までの時間を短縮できます。|https://azure.microsoft.com/ja-jp/services/machine-learning/|

### 5.BI、可視化
| | サービス名|説明|URL|
|---|---|---|---|
|GCP|Connected Sheets|表計算ソフト「Google Spreadsheet」には、BigQueryと直接接続して高速に分析を実行する機能があります。BigQueryのデータを、使い慣れたピボットテーブルや、Spreadsheetの関数を利用して分析できます。|https://support.google.com/docs/answer/9702507|
|GCP|Data Portal|無料で利用可能なダッシュボードやレポーティングの機能を持つツールです。BigQueryやCloud SQL、Cloud Spannerなどをバックエンドとして利用し、データを表示できます。|https://marketingplatform.google.com/intl/ja/about/data-studio/|
|Azure|Power BI|組織全体に分析情報を提供できるビジネス分析ツール スイートです。 数百のデータ ソースに接続し、データの準備を簡素化して、アドホック分析を促進できます。 優れたレポートを生成し、組織に公開して、Web やモバイル デバイスで使用できます。|https://powerbi.microsoft.com/ja-jp/|

### 6.メタデータ管理とデータガバナンス
| | サービス名|説明|URL|
|---|---|---|---|
|GCP|Data Catalog|スケーラブルなメタデータ管理サービスです。BigQueryやCloud Pub/Subのテクニカルメタデータ（GCPによって自動的に付与されたメタデータ）を自動で取り込むほか、オブジェクトストレージであるCloud Storageの中に蓄積した情報を整理して検索可能にします。データをためたままにするのでなく、きちんと活用できるようになります。||
|GCP|バッチスケジュール管理|特定の条件に合うデータをバッチで取り出す、データを統合する、データを取り込むといった際に、複数のジョブ間の依存関係の管理が必要になる場合があります。例としては、ジョブA、 Bが完了してからCを実行するといった具合です。このような場合にはバッチジョブのスケジューラーを利用することで、依存関係を管理しながら、バッチジョブ全体の状況を管理したり、リトライの設定を行ったりできます。||
|GCP|Cloud Composer|米Airbnb（エアビーアンドビー）により開発されたオープンソースのジョブスケジューラー「Apache Airflow」をマネージドサービスとして提供しているサービスです。Airflowの開発にはGoogleのエンジニアも参加しており、Cloud ComposerにはBigQuery、Cloud Dataflow、Cloud Dataproc、Cloud Datastore、Cloud Storage、Cloud Pub/Sub、AI PlatformなどGCPサービスの大半のジョブ実行サービスが対応しています。ジョブ管理はPythonで実行できます。||