データ分析基盤（概念モデル）におけるデータ利活用レイヤー

## 概要
データ分析基盤（概念モデル）におけるデータ活用レイヤーに関する整理を実施します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/55dc0fa4-ed5d-45c2-b9d0-be4b725d6c2c.png)

本記事にて、下記の記事におけるデータ活用レイヤーの詳細を記載します。

- [最強のデータ分析基盤を目指して～汎用的なデータ分析基盤の選定方法の提案～](https://qiita.com/manabian/private/e689daf5cc006eced737)


## 定義
### データ利活用レイヤーの定義
データ基盤にて管理したデータに対して、データ分析やデータ提供を行う層。

### データ分析レイヤー（データ利活用レイヤー）の定義
ある目的に従い、可視化・統計解析・シミュレーションにより、価値を創造する活動を行うためのシステムを保持した層。

### データ利用レイヤー（データ利活用レイヤー）の定義
データ分析基盤におけるデータを提供する層。

### コンポーネント詳細
| 番号 | データ基盤におけるレイヤー                    | コンポーネント名                                             | 説明                                                         | サービス例                                                   |
| ---- | --------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 18   | データ利活用レイヤー     （データ分析レイヤー） | 可視化システム（Business  Interigence（BI）ツール）          | データに基づき、集計や可視化によるデータの比較により洞察を主たる目的としたシステム。 | Tableau、Power  BI、                                         |
| 19   | データ利活用レイヤー     （データ分析レイヤー） | 解析システム                                                 | データに基づき、事象を数学的に定式化（モデル化）することを主たる目的としたシステム。 | SAS、Datarobot、Amazon  SageMake、Azure Machine Learning     |
| 22   | データ活用レイヤー     （データ分析レイヤー） | シミュレーションシステム                                     | データに基づき、作成済みのモデルに制約条件を設定したうえで、期待値の算出、組み合わせの最適化、または、想定事象の現出の実施を主たる目的としたシステム。 | Anaplan、Python                                              |
| 20   | データ利活用レイヤー     （データ利用レイヤー） | データ連携サービス                                           | バッチレイヤー、スピードレイヤー、サービスレイヤーにて保持しているデータに対して、データの抽出・変換・出力や多様な接続方法（REST  API、MQTT等）によりデータを提供するサービスがある。 | Amazon  Athena、Azure Synapse Analytics SQLオンデマンド 、Apache Presto |
| 21   | データ利活用レイヤー     （データ利用レイヤー） | クエリエンジン                                               | バッチレイヤー、スピードレイヤー、サービスレイヤーにて保持しているデータに対して、データへの接続環境を提供するサービス。 |                                                              |


## 要求要件
### 前提
データ分析とは、ある目的に従い、可視化・統計解析・シミュレーションにより、価値を創造する活動と定義する。データ分析を、下記の3つに分けシステムを選定することをおすすめします。BIシステムにおいても、統計解析やシミュレーションを実施できますが、要求を満たさない場合があいます。

### 可視化システム（Business Interigence（BI）ツール） 
下記の機能を保持する必要があります。

| 番号 | 要否 | 主要要件                       | 説明                                                         |
| ---- | ---- | ------------------------------ | ------------------------------------------------------------ |
| 1    | 必須 | データストアへの接続           | 外部データストアサービスへ接続し、データの入出力を行う機能   |
| 2    | 必須 | データプリパレーション         | データを抽出・変換・書き込み等を行い、データモデリングの事前準備、あるいは、対データストアへのデータ連携の処理を行う機能 |
| 3    | 必須 | データモデリング               | データ可視化、AI統合による拡張アナリティクス  、シミュレーションを行うために、データを構造化する機能 |
| 4    | 必須 | データ可視化                   | データをビジュアルとして表現する機能                         |
| 5    | 任意 | 共有とコラボレーション         | データ可視化、AI統合による拡張アナリティクス  、シミュレーションを共有し、コミュニケーションを図る機能 |
| 6    | 任意 | AI統合による拡張アナリティクス | AIによる自動的なインサイト、機械学習との統合に関する機能     |
| 7    | 任意 | シミュレーション               | 仮想的な手法により様様なシチュエーションを想定し、想定結果・リスク・最適解等を算出する機能 |
| 8    | 任意 | ガバナンス                     | BI機能要件の機能を統合管理する機能                           |
| 9    | 必須 | セキュリティ                   | 脅威からアプリケーションとデータを保護する能力。特に         |

詳細については、下記の記事をご確認ください。

- [Business Intelligence（BI）における汎用的な機能分類について](https://qiita.com/manabian/items/13bf401538de86e39e91)

### 統計解析システム
下記の機能を保持する必要があります。

| 番号 | 要否 | 主要要件               | 説明                                                         |
| ---- | ---- | ---------------------- | ------------------------------------------------------------ |
| 1    | 必須 | データストアへの接続   | 外部データストアサービスへ接続し、データの入出力を行う機能   |
| 2    | 必須 | データ前処理           | データを抽出・変換・書き込み等を行い、統計解析の事前準備を行う機能 |
| 3    | 必須 | 可視化                 | データをビジュアルとして表現する機能                         |
| 4    | 必須 | 統計解析の実施         | 数学的な定式化を実施する機能                                 |
| 5    | 必須 | 統計解析の利用         | 数学的な定式化を利用する機能                                 |
| 6    | 任意 | 共有とコラボレーション | ライフサイクルを支援する機能。                               |
| 7    | 任意 | ガバナンス             | 機能を統合管理する機能                                       |

### シミュレーションシステム
下記の機能を保持する必要があります。

| 番号 | 要否 | 主要要件                     | 説明                                                         |
| ---- | ---- | ---------------------------- | ------------------------------------------------------------ |
| 1    | 必須 | データストアへの接続         | 外部データストアサービスへ接続し、データの入出力を行う機能   |
| 2    | 必須 | データ前処理                 | データを抽出・変換・書き込み等を行い、シミュレーションの事前準備の処理を行う機能 |
| 3    | 必須 | シミュレーションの可視化     | シミュレーションを実施する過程において可視化する機能。       |
| 4    | 任意 | シミュレーションのモデル作成 | シミュレーションに利用するモデルを作成する機能。             |
| 5    | 任意 | シミュレーションの利用       | 作成済みのモデルにて、具体的な制約条件を付与して、期待値の算出、組み合わせの最適化、または、想定事象の現出の実施する機能。 |
| 6    | 任意 | 共有とコラボレーション       | ライフサイクルを支援する機能。                               |
| 7    | 任意 | ガバナンス                   | 機能を統合管理する機能                                       |

### データ連携サービス
下記の機能を保持する必要があります。

| 番号 | 要否 | 分類                         | 主要要件                 | 説明                                                         |
| ---- | ---- | ---------------------------- | ------------------------ | ------------------------------------------------------------ |
| 1    | 必須 | データ変換エンジン/ETLツール | データ抽出               | データ分析基盤のデータストアからデータを抽出する機能。       |
| 2    | 必須 | データ変換エンジン/ETLツール | データ変換               | 抽出したデータを変換する機能。                               |
| 3    | 必須 | データ変換エンジン/ETLツール | データ取込               | ターゲットにデータを取り込む機能。                           |
| 4    | 任意 | データ変換エンジン/ETLツール | データ蓄積               | 抽出したデータや変換したデータを蓄積する機能。               |
| 5    | 任意 | データ書き込み               | メッセジングキュー       | ターゲットにメッセジングを配信する機能。                     |
| 6    | 任意 | パイプライン定義             | パイプライン定義         | 定義済みのプロセスを組み合わせたパイプラインを定義する機能。 |
| 7    | 任意 | プロセスコントロール         | パイプライントリガー登録 | 情報共有を行うためのWikiの作成・管理・共有ができる機能       |
| 8    | 任意 | プロセスコントロール         | パイプライン実行ログ保持 | パイプライン実行時に生成されるログを保持する機能             |
| 9    | 任意 | プロセスコントロール         | パイプラインアラート     | パイプライン実行に関するアラートを行う機能                   |

### クエリエンジン
下記の機能を保持する必要があります。

| 番号 | 要否 | 分類                 | 主要要件                   | 説明                                                         |
| ---- | ---- | -------------------- | -------------------------- | ------------------------------------------------------------ |
| 1    | 必須 | データストアへの接続 | 他データストア接続         | 他データストアに対して接続できる機能                         |
| 2    | 必須 | データの問い合わせ   | クエリ発行                 | 接続したデータストアに対してクエリを発行する機能             |
| 3    | 任意 | 拡張性               | クラスターのスケールアウト | 同一のエンドポイントを利用可能な状態で、クラスターの数を増減する機能。 |

## 参考情報
### 可視化システム（Business Interigence（BI）ツール） 
特になし。

### 統計解析システム
特になし。

### シミュレーションシステム
特になし。

### データ連携サービス
特になし。

### クエリエンジン
特になし。

## 参考資料
- [DAMA-DMBOK: Data Management Body of Knowledge: 2nd Edition](https://www.amazon.co.jp/DAMA-DMBOK-Data-Management-Body-Knowledge/dp/1634622340)
- [データマネジメント知識体系ガイド 第二版](https://www.amazon.co.jp/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88%E7%9F%A5%E8%AD%98%E4%BD%93%E7%B3%BB%E3%82%AC%E3%82%A4%E3%83%89-%E7%AC%AC%E4%BA%8C%E7%89%88-DAMA-International/dp/4296100491/ref=pd_lpo_14_t_0/355-0270959-3880927?_encoding=UTF8&pd_rd_i=4296100491&pd_rd_r=6532e6ec-4ebf-491f-8bc4-e1ea0ff00bd6&pd_rd_w=1rgNg&pd_rd_wg=XtJYk&pf_rd_p=4b55d259-ebf0-4306-905a-7762d1b93740&pf_rd_r=EQJ9BB6JE81405JYZVM7&psc=1&refRID=EQJ9BB6JE81405JYZVM7)
- [The DAMA Dictionary of Data Management, 2nd Edition: Over 2,000 Terms Defined for IT and Business Professionals (English Edition)](https://www.amazon.co.jp/DAMA-Dictionary-Data-Management-Professionals-ebook/dp/B01BT0BUCG/ref=sr_1_2?dchild=1&qid=1602683933&refinements=p_27%3ADAMA+International&s=english-books&sr=1-2&text=DAMA+International)
- [Gartner Glossary](https://www.gartner.com/en/information-technology/glossary/business-intelligence-bi)