データ系プロジェクト用語解説とETLツールの紹介

本記事は[WEBやデータ分析に関する投稿をみんなでしてみよう Advent Calendar3  2021](https://qiita.com/advent-calendar/2021/aloha-web-analytics)の9日目の記事です

#本記事の内容
・データ系のプロジェクトに出てくる用語の解説
・各製品の紹介

バズワード的には機械学習などの内容も触れたほうがいいかと思いましたが実務経験がないのとまだまだ変化が多い分野なので省略しました。

##BI（Business Intelligence）とは？

企業の様々な場所（拠点、部門等）やシステム（基幹システム）に存在する多様な形式のデータを蓄積、統合したうえで変換・集計を行う。
経営者や社員自らがレポーティングや分析を行う事で、経営計画や事業戦略の意思決定に活用すること。

簡単に表現すると
「企業が持つデータを**綺麗な形式で一ヶ所へまとめて**、様々な分析で利用して意思決定に必要な情報を得る」
ということ。
データを使用した過去の振り返りがBIです。

例えば、
「販売データをもとに部門や商品別に売上、目標達成度を分析する」
「顧客データをもとに来店頻度、購買金額毎にセグメント分けをして分析する」
などになります。

綺麗な形式で一ヶ所にまとめられる場所がDWHです。

・製品例：PowerBI、Tableauなど

https://www.tableau.com/ja-jp/learn/articles/business-intelligence

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137987/b1ce1ea2-cd25-3d55-9f99-49e62482ad14.png)

##DWH（Data Ware House）とは？
DWH（Data Ware House:データウェアハウス）とは、様々なシステムからデータを集めて整理する、データの「倉庫」です。

DWHではデータが時系列で保存されるため過去のデータ履歴を確認できると同時に、システムごとのデータを集約して全体のデータとして活用でき、より優れた企業の意思決定につなげることができます。

###DWHの特徴
1.大量データを時系列に保持
2.データが統合されている（表現の統一や重複の削除されている）
3.サブジェクトごとに整理されている
4.データを削除しない

・製品例:Snowflakeなど

##データウェアハウスとデータベースの違い
###データ容量の大きさ
データベースに比べてデータウェアハウスのほうが大量のデータを保存可能

###データ分析のしやすさ
データベースは各システムごとに異なる形式でデータを持っている場合が多いです。そのため分析するためにはデータを統合するためにデータを転送する必要があります。
データ統合を行っても集計・分析に膨大な時間がかかります。

・製品例：OracleDB、MySQL、SQLServer

##データウェアハウスとデータマート
データマートとデータウェアハウスは、データが必要になるまで格納/管理されるリポジトリーです。データウェアハウスが企業のすべての情報を格納するように構築されるのに対し、データマートは特定の部門またはビジネス機能の要求を満たすためのものです。データマートの主な目的は、より小さなデータセットを全体から分離（パーティショニング）することです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137987/3119109f-2c2b-38c3-2918-2bf5d8f43d4f.png)

https://www.talend.com/jp/resources/what-is-data-mart/


##データレイクとは
データレイクとは、あらゆる構造化データ（テキストなど）と非構造化データ（動画とか写真）のRawデータを保管する一元化されたリポジトリです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137987/513b0922-a7e6-cfa8-8b72-932850231182.png)


https://blogs.informatica.com/jp/2018/05/29/datalake-datawarehouse/


#ETLとは
ETLとは
1.Extract（抽出）
2.Transform（変換）
3.Load（格納）
の略で、データ統合時に発生する各プロセスの頭文字をとったものです。
RDB、ERP、ファイルなど様々なデータソースからデータを抽出し、変換を行いDWHなどに書き出しを行うための処理のことです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137987/c175efec-fcb7-cb49-97d4-7066d5cd0bf0.png)

以下の赤丸の箇所でデータ変換のために使われるのがETLツールです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137987/472c1056-a367-ce7d-32c3-b0cf6ba3f877.png)

###GartnerのData Integration Tools
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137987/11e5ddac-02a5-4634-6429-3b57fdf15181.png)
2021年のGartnerのレポートです。
リーダーに分類される企業（製品）だけでもOracle、SAP、マイクロソフトなどのITベンダーやTalendやInformaticaなどデータ基盤をメインにしてる会社があります。
またこの手の製品は入れ替わりが激しいのでNICHE PLAYERに分類されているような製品でも業界的にはそれなりに知名度があったりします。

#ETLツールの紹介
とりあえず私が使ったことがあるETL 製品を2つ紹介します
一つはLEADERSに分類されるTalend
もう一つはここに出ないくらいマイナーなツール
興味がある方はGartnerの表をもとに調べてみてください。

##Talend

https://www.talend.com/jp/

###機能・開発
ETL処理(Extract/Transform/Load)を構築できる
GUIベースでアイコンの設置だけで開発が可能
コネクタがたくさんあり、データ統合が可能
Javaアプリケーションが作成されるのでJVM上で実行が可能


###ライセンス料金
オープンソース
無料版と有料版がある

###知名度・シェア
高い（Gathnerで５年以上Leadersに分類されている）

###コメント
Javaのバッチをノーコーディングで作る事ができるという感じで高速で大量データをさばけるデータ基盤ツールというわけではないです
ローコストでETL開発をしたい場合に活躍します
最近は別製品として様々なデータ管理機能がリリースされているようです
ユーザーコミニティの活動があるのも特徴の一つだと思います
QiitaではTalendの記事を3本上げてるので今度アプデも兼ねて最新情報をまとめたいと思います


##Ab Initio
https://www.abinitio.com/ja/

###機能
ETL処理(Extract/Transform/Load)を構築できる
GUIベースでアイコンの設置だけで開発が可能
コネクタがたくさんあり、データ統合が可能
BIツールとしても活用できる
COBOLやSQLからの自動生成が可能
並列処理など処理が高速

###ライセンス
高い（金額は非公開）

###知名度・シェア
低い（基本的に広告は出していない。Googleで検索してもNTTコムウェアのサイトが一番上に出てくる）
金融・銀行系の開発に使われている（ETLツールとして唯一？）

###コメント
上記の通り知名度は低くコストも高いのですが、大規模プロジェクトだとこの製品でしか可能でない要件があったりするので一部で有名な製品です
おそらく金融業界で唯一使うことができるETLツール
金融系システムはCOBOLで書かれている場合が多いですがCOBOLから自動生成機能があります
また通信業界は捌くデータ量が膨大に成りがちなのでこのツールを使うことが多いようです
大規模なデータを正確な処理で捌くことが得意なツールです