データをビジネスに活用するワークロード

## はじめに
最近は、迅速かつ的確な意思決定を行うために、データをビジネスに活用する動きが高まっています。従来のKKD（勘・経験・度胸）に頼るのではなく、実際のデータに基づいた判断が求められています。データを収集・蓄積するだけでなく、質の高いインサイトを得て次のアクションに繋げることが重要です。そこで、今回は、データ活用のワークロードについて、整理してみました。

## データ活用のワークロード
データ活用には大まかに分けて、2つのパターンがあります

1. **人がデータを分析してアクションにつなげる**
2. **システム側でデータの集計・分析結果を連携してアクションにつなげる**

### 1. 人がデータを分析してアクションにつなげる
**インタラクティブ分析**
データを試行錯誤しながら分析し、インサイトを得る。ユーザーがさまざまな条件でデータレイクやデータウェアハウスからデータを取り出して結果を確認し、インサイトが得られるまで試行錯誤を繰り返します。大容量のデータから素早く集計結果を確認できる対話型のツールが求められます。また、データの羅列を眺めるだけでなく、グラフやパイチャート、散布図などビジュアルで確認したほうが素早くインサイトが得られることがあるため、簡単な可視化もできるとなおよいでしょう。多くの場合、この業務はSQL（Structured Query Language）のスキルを持ったデータ分析部門のエンジニアやアナリストが担うことが多いです。そのため、自由にSQLを記述して実行できるインターフェースを持ったものが求められます。

**定型分析**
決まった型に合わせてデータを可視化し、KPIのモニタリングを行う。定期的なレポーティングのために、ある程度固定的なデータの組み合わせと集計方法で自動的にデータをダッシュボードとして可視化できるソリューションが求められます。また、ある断面を静的に可視化するだけでなく、フィルタを使って条件を絞ったり、データの集計レベルを掘り下げて分析するためのドリルダウンと呼ばれるような機能を用いて、動的にビジュアルを変更しながら、詳細を深掘りして分析できることも重要です。インタラクティブ分析よりも幅広い層のユーザーが利用することが多くなるため、適切な権限管理が行えるもの、特別なスキルがなくても使いやすいものであることもポイントになります。

### 2. システム側でデータの集計・分析結果を連携してアクションにつなげる
**ETLサービス**
AWS Glueを使ってデータを加工・集計。日々たまっていくビジネスデータやログデータを加工・集計した結果を別のシステムに連携する仕組みや、データをもとにしたAI（Artificial Intelligence）やML（Machine Learning）による予測分析の結果をアプリケーションに自動フィードバックする仕組みのことを指します。

**機械学習サービス**
Amazon SageMakerを使って予測分析を実行。Amazon S3データレイクやAmazon Redshiftデータウェアハウスに格納されたテーブルデータに対して、サーバーレスETLサービスであるAWS Glueを使って加工・集計した結果や、機械学習サービスであるAmazon SageMakerを使って構築した機械学習モデルを介して推論処理を実行した結果を、S3にエクスポートして他のシステムに連携していくイメージです。



## 人がデータを分析してアクションにつなげる
データ活用にはインタラクティブ分析と定型分析があり、それぞれに適したソリューションが必要です。

### インタラクティブ分析
**Amazon Athena**
サーバーレスのクエリエンジンで、Amazon S3データレイクに集められたデータをインタラクティブに分析。Amazon Athenaはインタラクティブ分析用途に提供されているサーバーレスのクエリエンジンであり、マネージメントコンソール上に、分析SQLクエリをインタラクティブに実行して結果を表示するためのクエリエディターを備えています。非常にシンプルで分かりやすいユーザーインターフェース（UI）となっており、直感的に使いやすいものになっています。また、Amazon AthenaはAmazon S3以外の多くのデータソース（Amazon RDS、Amazon Redshift、その他多数）に対してもカスタムコネクターを介して接続することができるため、データがさまざまな環境に散在している場合にもシングルインターフェースでインタラクティブ分析を行っていくことができます。

**Amazon Redshift**
高速でスケーラブルなデータウェアハウス。クエリエディターV2を使ってSQLクエリを実行し、結果を可視化。分析対象のデータがAmazon Redshiftに格納されている場合は、Amazon Redshiftが提供するクエリエディターを使用するのがよいでしょう。Amazon Redshiftは高速でスケーラブルなデータウェアハウス（DWH）サービスで、クラスターを構成して管理するProvisioned型と、クラスター管理不要なServerless型が選択できます。クエリーエディター V2では、分析SQLクエリを投入して結果を表形式で表示するのに加え、簡単なグラフ表現で可視化をすることができるので、直感的にデータの傾向を掴むことができます。また、SQLエディターのほかノートブックインターフェースも備えており、分析クエリやコメントを使いやすいようにまとめて効率的なデータ分析を行えるようになっています。

### 定型分析
**Amazon QuickSight**
クラウド型のBIサービスで、AWS上のデータをダッシュボードとして可視化。多彩なビジュアル表現が可能。Amazon QuickSightは、AWSが提供するクラウド型のBIサービスで、AWS上のデータだけでなく、その他クラウド上、オンプレミス上にあるさまざまなデータソースのデータをモダンでスタイリッシュなUIでダッシュボードとして可視化してすばやくインサイトを提供し、定型分析の効率を向上させます。棒グラフ、折れ線グラフや散布図、ピボットテーブルや地図表現など多彩なビジュアルが用意されており、さまざまな定型分析のニーズに対応可能です。また、Amazon AthenaやAmazon RedshiftといったAWSの分析サービスを活用している場合には、接続の親和性やセキュアに簡単にインテグレーションしやすいという意味でも、Amazon QuickSightを選択するメリットが大きいでしょう。さらに、Amazon QuickSightはフルマネージド型のクラウドベースのサービスとして、エンタープライズグレードのセキュリティ、グローバルな可用性、組み込みの冗長性、Eメール配信や印刷しやすいページ分割形式でレポートを出力する機能（Paginated Reports）なども提供します。

| 特徴/サービス       | Amazon Athena                          | Amazon Redshift                         | Amazon QuickSight                      |
|---------------------|----------------------------------------|-----------------------------------------|----------------------------------------|
| **サービスの種類**  | サーバーレスのインタラクティブクエリサービス | フルマネージドのデータウェアハウスサービス | ビジネスインテリジェンス（BI）サービス |
| **データソース**    | Amazon S3                              | Amazon S3、RDS、DynamoDB、他のデータソース | Redshift、RDS、S3、他のデータソース    |
| **クエリ言語**      | SQL                                    | SQL                                    | SQL、SPICE（QuickSight独自のエンジン） |
| **スケーラビリティ**| 自動スケーリング                       | 手動スケーリング（ノードの追加/削減）   | 自動スケーリング                       |
| **料金モデル**      | クエリ実行ごとの従量課金制              | ノード時間ごとの従量課金制              | ユーザーごとのサブスクリプション料金   |
| **パフォーマンス**  | データサイズに依存                     | 高パフォーマンス（カラムナストア、並列処理）| 高速なデータ可視化とダッシュボード     |
| **ユースケース**    | データレイクのクエリ、アドホック分析    | 大規模データの分析、ETL処理             | データの可視化、ダッシュボード作成     |
| **管理の手間**      | 低い（サーバーレス）                   | 中程度（クラスタ管理が必要）            | 低い（サーバーレス）                   |
| **セキュリティ**    | IAM、VPC、暗号化                       | IAM、VPC、暗号化、セキュリティグループ  | IAM、VPC、暗号化                       |
| **統合**            | S3、Glue、Redshift、QuickSight         | S3、RDS、DynamoDB、Glue、QuickSight     | Redshift、RDS、S3、Athena、他のデータソース |

**その他クラウド型BIツール**
Tableau Cloud、Domo、Microsoft Power BIなど。AWSの分析サービスと接続可能。近年ではクラウド/SaaS型のBIツールが増えており、それらが選択肢になることもあるでしょう。たとえばTableau Cloudは、BIベンダーのTableau社が提供するクラウドで利用できるビジュアル分析環境です。同じくBIベンダーのDomo社が提供するSaaSであるDomoもデータドリブン経営に必要な機能を持つクラウドベースのBIツールの一つです。また、Microsoft社が提供するSaaS型のBIツールであるPower BIサービスも、クラウド上で簡単にレポートを作成してダッシュボードとして公開することができるサービスです。この他にも多くのクラウド/SaaS型のBIツールが増えてきているのが現状です。BIツールを選択する際のポイントとして、使い勝手や機能、コストなどさまざまな観点がありますが、分析対象のデータに接続できるか、つまり使っている分析サービスをサポートしているかという点も重要です。

## システム側でデータの集計・分析結果を連携してアクションにつなげる
データの収集から分析までの流れを管理するために、Amazon MWAA、AWS Step Functions、AWS Glue WorkflowなどのAWSサービスを活用する事ができます。各サービスの特徴を理解し、ユースケースに応じて適切なソリューションを選択することが重要です。AWSのゼロETL統合機能なども活用し、データパイプラインをシンプル化することが推奨されます。

| 特徴/サービス       | Amazon MWAA (Managed Workflows for Apache Airflow) | AWS Step Functions                      | AWS Glue Workflow                      |
|---------------------|-----------------------------------------------------|-----------------------------------------|----------------------------------------|
| **サービスの種類**  | マネージドのApache Airflowサービス                  | サーバーレスのオーケストレーションサービス | マネージドのETLワークフローサービス    |
| **ユースケース**    | 複雑なデータパイプライン、ETL、データエンジニアリング | 分散アプリケーションのオーケストレーション | データ統合、ETLパイプライン             |
| **ワークフロー定義**| Python (DAGs)                                       | JSONまたはAmazon States Language (ASL)  | JSON                                    |
| **スケーラビリティ**| 自動スケーリング                                    | 自動スケーリング                         | 自動スケーリング                        |
| **料金モデル**      | 容量ベースの従量課金制                               | ステートトランジションごとの従量課金制   | ジョブ実行ごとの従量課金制              |
| **統合**            | AWSサービス、サードパーティサービス、カスタムオペレーター | AWSサービス全般                          | AWS Glue、S3、Redshift、RDS、他のAWSサービス |
| **管理の手間**      | 中程度（Airflow環境の管理が必要）                    | 低い（サーバーレス）                     | 低い（サーバーレス）                    |
| **セキュリティ**    | IAM、VPC、暗号化                                     | IAM、VPC、暗号化                         | IAM、VPC、暗号化                        |
| **パフォーマンス**  | 高パフォーマンス（Airflowの並列処理）                | 高パフォーマンス（サーバーレスのスケーリング）| 高パフォーマンス（Glueのスケーリング）  |
| **カスタマイズ性**  | 高い（カスタムオペレーター、プラグインの利用）        | 中程度（ステートマシンのカスタマイズ）   | 低い（GlueのETLジョブに依存）           |
| **監視とロギング**  | CloudWatch、Airflow UI                               | CloudWatch、Step Functionsコンソール    | CloudWatch、Glueコンソール              |