[GCP] GCPサービスを勝手にまとめてみた(データ分析編)

# GCPって
https://qiita.com/risa0320/items/5f34bc9102e575705274

# サービスの分類
おおまかにはこんな感じ。（一部省略してます）
※2019年8月末時点のもの。
※α版、β版を含む。
https://cloud.google.com/products/?hl=ja よりいろいろ引用してます。

| 分類       |  サービス例    |
|:-----------------|:------------------|
| AIと機械学習   | AutoML,Vision AI,Cloud TPU... |
| API管理 | Apigee Sense,Cloud Healthcare API... |
| コンピューティング | Compute Engine,App Engine,Cloud Functions... |
| データ分析 | BigQuery,Cloud Composer,Cloud Dataflow... |
| データベース | Cloud SQL,Cloud Bigtable,Cloud Spanner... |
| デベロッパーツール | Container Registry,Cloud Build... |
| ハイブリットとマルチクラウド | Anthos,GKE On-Prem... |
| IoT | Cloud IoT Core,Edge TPU |
| 管理ツール | Stackdriver,Monitoring,Private Catalog... |
| メデイアとゲーム | Zync Render,Anvato... |
| 移行 | Cloud Data Transfer,Transfer Application... |
| ネットワーキング | Virtual Private Cloud,Cloud DNS,Cloud NAT... |
| セキュリティ | Cloud Security Scanner,Cloud IAM,Cloud HSM... |
| ストレージ | Cloud Storage,Cloud Firestore... |

# サービスをもう少し深く見てみる
## データ分析
### BigQuery
サーバーレス データ ウェアハウス
> BigQuery は、Google が提供するサーバーレスでスケーラビリティに優れた企業向けデータ ウェアハウスです。データ アナリストの生産性が向上するように設計されており、他のプロバイダでは実現できない低料金で提供されています。インフラストラクチャの管理が不要なため、役立つ情報を見つける作業に集中できます。また、データベースの操作には使い慣れた SQL を使用できるほか、データベース管理者も必要ありません。

ほんとBigQuery速い。
この速さに慣れてしまうとRDBとかにストレスを感じてしまう。

> カラム型のマネージド ストレージに論理データ ウェアハウスを作成して分析を行うだけでなく、オブジェクト ストレージやスプレッドシートのデータにも対応。バッチ、ストリーミングを問わない、ありとあらゆるデータを分析できます。インメモリ BI エンジンによる超高速ダッシュボードやレポートの作成、簡単な SQL 操作による機械学習ソリューションの構築、運用が可能。さらには、分析情報をデータセット、クエリ、スプレッドシート、レポートとして組織の内外で安全に共有することもできます。BigQuery では、強力なストリーミング取り込み機能を使用してリアルタイムにデータを取得、分析できるため、常に最新の分析情報が得られます。さらに、毎月最大 1 TB のデータ分析と 10 GB の保存データ容量が無料でご利用いただけます。

<特徴>

* サーバーレス
* リアルタイム分析
* 追加料金も設定も不要な高可用性
* 標準 SQL	
* 連携クエリと論理データ ウェアハウス
* ストレージとコンピューティングの分離
* 自動バックアップと簡単な復元	
* 地理空間データ型と関数	
* Data Transfer Service	
* ビッグデータ エコシステムの統合	
* ペタバイト規模のスケーリング	
* フレキシブルな料金モデル	
* データのガバナンスとセキュリティ	
* データのグローバル管理	
* AIの基盤
* BIの基盤
* 柔軟なデータ取り込み	
* プログラムによる操作	
* Stackdriver による豊富なモニタリング機能やロギング機能

GCPには多くのサービスがあるが、個人的にBigQueryがGCPにあることが一番大きい。	

### BigQuery ML(β版)
BigQuery上にあるデータをもとに高速にモデル作成がSQLで可能。
> BigQuery ML を利用すると、世界中の構造化データや半構造化データを集めて機械学習モデルを構築し、運用できます。BigQuery 内部に直接格納されるこのデータは、簡単な SQL を使って短時間で処理できます。

<特徴>

* 使い慣れた SQL 言語を使用して、カスタム機械学習モデルを構築、テスト、運用化できます。
* 機械学習モデルを、数分で BigQuery 内に直接作成できます。データ ウェアハウスから大量のデータをサンプリングしたり移動させたりする必要はありません。
* わずかなコストで、商品のおすすめ、分類、予測をペタバイト規模で行えます。

SQLを書く感じで簡単にモデルの作成ができてしまうのは便利。
また、BigQuery上で実行するので通常十数時間かかるようなモデルでも数十分〜数時間でモデル作成ができるので最適化のサイクルを回しやすいのが魅力。

### Cloud Dataflow
信頼性と表現力を損なうことなく、ストリーム データ処理とバッチデータ処理を簡素化
> Cloud Dataflow は、データの信頼性と表現力を損なうことなく、ストリーム（リアルタイム）モードまたはバッチ（履歴）モードでデータを変換して拡充する、フルマネージド サービスです。このサービスを利用すれば、複雑な回避策を用意したり、妥協策を講じたりする必要はなくなります。さらに、サーバーレス アプローチによるリソースのプロビジョニングと管理により、実質無制限の容量を従量課金制で使用して、膨大な量のデータ処理の問題を解決できます。

これを使えば、GCP全体のサービスを使ったバッチなどの処理を簡単に制御可能になる。

<特徴>

* 自動リソース管理
* 水平自動スケーリング
* 動的な作業再調整
* 統合型プログラミング モデル
* 信頼性の高い一貫した処理
* コミュニティ主導のイノベーション
* バッチ処理用の柔軟なリソース スケジューリング料金

似ているサービスとして、Cloud Dataｐｒｏｃがある。
どっちを使用すべきかは、以下で。
<img width="713" alt="スクリーンショット 2019-08-25 17.05.08.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/380480/18473a12-d351-249b-5744-01271b62a0e9.png">
https://cloud.google.com/dataflow/?hl=ja より。

### Cloud Dataproc
高速で使いやすく、低コストな Apache Spark と Apache Hadoop の実行手段
> Cloud Dataproc は、Apache Spark クラスタと Apache Hadoop クラスタをより簡単かつ低コストで実行できるようにする、高速で使いやすいフルマネージド クラウド サービスです。これまで数時間から数日かかっていたオペレーションが数秒から数分で処理され、使用したリソースに対してのみ（秒単位で）課金されます。また、他の Google Cloud Platform（GCP）サービスとの統合も簡単で、強力かつ包括的なデータ処理、分析、機械学習用のプラットフォームを提供できます。

<特徴>

* 自動クラスタ管理
* デベロッパー ツール
* サイズ変更可能なクラスタ
* 初期化アクション
* 統合
* 自動または手動構成
* バージョニング
* 柔軟な仮想マシン
* 高可用性

簡単にデータ処理ができる。

### Cloud Pub/Sub
スケーラブルなイベントの取り込みとメッセージング サービス
> Cloud Pub/Sub は、大規模および小規模のパブリッシュ / サブスクライブ パターンをサポートする、スケーラブルで耐久性のあるイベント取り込みおよび配信システムです。 Cloud Pub/Sub は、イベントデータのパブリッシャとサブスクライバを切り離すことによって、システムをより堅牢にします。

<特徴>

* at-least-once 配信
* オープン
* 1回限りの処理
* デフォルトでグローバル
* プロビジョニング不要の自動処理
* コンプライアンスとセキュリティ
* 統合
* シークと再生

何かのイベント起因で他の処理を実行したいときは、これを使う。

### Cloud Data Fusion(β版)
フルマネージドかつコードを扱う必要がないデータ統合サービス
> Cloud Data Fusion は、ETL および ELT のデータ パイプラインを効率的に構築して管理できる、フルマネージドかつクラウド ネイティブなデータ統合サービスです。Data Fusion は、グラフィカルなインターフェースと、コネクタと変換が事前構成された幅広いオープンソース ライブラリを備えているため 、コードや統合に煩わされることなく分析情報やアクションに集中できます。

<特徴>

* コードを意識させないセルフサービス
* コラボレーション データ エンジニアリング
* GCP ネイティブ
* エンタープライズ クラスのセキュリティ
* メタデータと系統の統合
* シームレスな運用
* 包括的な統合ツールキット
* ハイブリッド対応

Cloud Data Fusion を使用すれば、サイロ化されたオンプレミス プラットフォームからデータを移行することで、GCP にスケーラブルな分散型データレイクを構築できたり、
分析環境の統合がユースケースとある。

### Cloud Composer
Apache Airflow を基に構築された、フルマネージドのワークフロー オーケストレーション サービス
> Cloud Composer は、フルマネージド ワークフロー オーケストレーション サービスです。クラウドとオンプレミス データセンターにまたがるパイプラインの作成、スケジューリング、モニタリングを実現します。Cloud Composer は、よく利用されている Apache Airflow オープンソース プロジェクトを基に構築され、Python プログラミング言語を使用して運用されており、使いやすく、特定のベンダーにロックインされることはありません。

<特徴>

* マルチクラウド
* オープンソース
* ハイブリッド
* 統合
* プログラミング言語に Python を採用
* 信頼性
* フルマネージド

Pythonを使って、Cloud Composerで動的にワークフローを作成することもできる。
また、オープンソースのApache Airflowベースなので、使ったことがある人は、学習コストを低くく抑えられそう。

### Data Catalog(β版)
フルマネージドのデータ検出サービス
> Data Catalog は、フルマネージドでスケーラブルなメタデータ管理サービスです。このサービスを利用することで、組織で Google Cloud 内のすべてのデータをすばやく検出、管理、把握できます。データ検出のためのシンプルで使いやすい検索インターフェースで、テクニカル メタデータとビジネス メタデータの両方をキャプチャする柔軟で強力なカタログ化システムを備え、Cloud Data Loss Prevention（DLP）と Cloud Identity and Access Management（IAM）との統合によりセキュリティとコンプライアンスに対する強固な基盤を確保できます。

Google Cloud上の全データをデータカタログという形で管理し、アクセス制御を適切なものにできるそう。

<特徴>

* サーバーレス
* サービスとしてのメタデータ
* 一元的なカタログ
* 検索と発見
* スキーマ化されたメタデータ
* Cloud DLP との統合
* Cloud IAM との統合
* ガバナンス

### Dataportal(旧:DataStudio)
サーバーレスのビジュアル分析
> データポータルはフルマネージドのビジュアル分析サービスです。よりスマートなビジネス上の意思決定に役立つ、簡単に作成できるインタラクティブなダッシュボードを通じて、組織内の誰もがデータから分析情報を引き出せます。データポータルをインメモリ分析サービスの BigQuery BI Engine と組み合わせると、膨大なデータセットを対象としたデータ探索と視覚的な操作が 1 秒未満でできるようになります。

これはパワポを使った事がある人なら誰でも簡単に使える。
データソースとのつなぎ方はリファレンスが必要かも知れないが、グラフを作成するほとんどを感覚値で作成できる。

### Cloud Dataprep by TrifactaCloud
分析や機械学習に使用するデータを視覚的に探索、クリーニング、準備するためのインテリジェント クラウド データ サービス
> Dataprep by Trifacta は、分析、レポート、機械学習に使用する構造化データと非構造化データを視覚的に探索、クリーニング、準備できるインテリジェント データ サービスです。Cloud Dataprep はサーバーレスで、どんな規模でも稼働します。インフラストラクチャのデプロイや管理は必要ありません。最適なデータ変換操作が UI 入力のたびに提案、予測されるため、コードを記述する必要がありません。また、スキーマ、データ型、可能な結合、異常が自動的に検出されるので、データのプロファイリング作業に時間を費やすことなく、データ分析に専念できます。

<特徴>

* 予測変換
* パラメータ化
* 共同作業
* パターン マッチング
* 視覚的なプロファイリング
* サンプリング
* スケジュール
* ターゲット マッチング
* 一般的なデータ型
* Google Cloud Platform に統合

GUIでデータを確認、探索することで、検出、クレンジング、変換が可能。
ちょっと癖があった気がするけど。

### Cloud Data Transfer
データ転送サービス
> 世界中のどこであれ、データ量や通信速度にかかわらず、Google では、お客様それぞれのデータ転送に関する要件に対応し、迅速かつ安全にクラウドにデータを移行するためのソリューションを提供しています。

<ユースケース>

* データセンターの移行
* テープ ライブラリとインフラストラクチャの廃止
* 機械学習
* コンテンツの保存と配信
* バックアップとアーカイブ

<特徴>

* オンライン転送
    * シンプル
    * 直接接続
* クラウド間
    * 信頼性
    * 予測可能
    * 整合性
* オフライン転送
    * スケーラブル
    * 使いやすい
    * 安全性

これを使用すれば短時間に何百テラ規模のデータの移行を行うことができる。

### Cloud Bigtable
フルマネージドの NoSQL データベース サービス
> 低レイテンシで非常にスケーラブルな NoSQL
・  10 ミリ秒以下の一貫したレイテンシ
・  レプリケーションにより、高い可用性と耐久性、ゾーン障害時の復元性を実現
・  アドテック、フィンテック、IoT に最適
・  機械学習アプリケーション用のストレージ エンジン
・  オープンソースのビッグデータ ツールとの統合が容易

<利点>

* 高速かつ高パフォーマン
* シームレスなスケーリングとレプリケーション
* シンプルかつ統合可能
* フルマネージド

大規模な低レイテンシ アプリケーション用のストレージ エンジンであり、大規模な低レイテンシ アプリケーション用のストレージ エンジンできる。
また、Hadoop、Cloud Dataflow、Cloud Dataproc などの一般的なビッグデータ ツールとも簡単に統合が可能。

### Cloud Storage
ビッグデータ用のオブジェクト ストレージ
> Cloud Storage は、世界中のどこからでも常にデータの保存と取得が可能な統合型オブジェクト ストレージ ソリューションです。ウェブサイト コンテンツの提供、アーカイブと障害復旧のためのデータの保存、直接ダウンロードによる大きなデータ オブジェクトのユーザーへの配布など、さまざまなシナリオで Cloud Storage を使用できます。

### Cloud Datalab
データの探索、分析、可視化と機械学習のための使いやすいインタラクティブなツール
> Cloud Datalab は、Google Cloud Platform でデータを探索、分析、変換、可視化し、機械学習モデルを構築するために作成された、高度なインタラクティブ ツールです。Compute Engine 上で動作し、さまざまなクラウド サービスに簡単に接続できるため、データ サイエンティストが本来の仕事に専念することを可能にします。

<特徴>

* 統合
* 多言語対応
* ノートブック形式
* 従量課金
* インタラクティブなデータの可視化
* 機械学習
* IPython サポート
* オープンソース

ノートブック形式を対応しているので、Jupyterノートブックのファイルをそのまま開いたり、実行できる。

### Google Genomics
ペタバイト規模の遺伝子データを効率的に処理し、大きな問題を解
> Google Genomics は、世界の遺伝情報の体系化を進め、情報のアクセス性と使いやすさの向上に取り組んでいる生命科学コミュニティを支援します。遺伝子データは膨大で、そのスケールはペタバイトからエクサバイトへ急速に増大しています。Google Cloud Platform の拡張機能を活用すれば、Google 検索や Google マップと同じ技術を使って大規模かつ複雑なデータセットを保存、処理、検索、共有できます。

ついにきた感。待ってました！
ゲンムデータはすごく大きいし、解析が大変なのでGCP上で専用のサービスがあるのはかなりありがたい。
是非、次世代シーケンサーのデータをつこんでみたい。

<特徴>

* 相互運用性
* リアルタイムのデータ処理
* 完全統合
* 高いスケーラビリティ
* セキュリティとコンプライアンス

GCPだからこそ実現できるサービスの一つだと思う。
今後、アライメント解析などが簡単かつ短時間でできるようなサービスが出てくることに期待。