A bridge to the Cloud Damien Contreras ダミアン コントレラ Customer Engineer Specialist, Data Analytics, Cloud アジェンダ

1 2 4 5 6

はじめに 移行する前の DWHの移行 GCP と連動 データの表示 準備 について はじめに 01 移行する前に| データウェアハウスの欠点

リアルタイムの負担は受 データ増加 けられない コスト データ形式対応外 セルフサービス分析 が難 しい

ベンダーロックイン の心 スタースキーマとディメン 配 表ションとファクト表に合わ せる 移行する前に | データレイクの欠点

コスト クラスターのリソースの バージョンアップ バランス

複数のデータレイクが構築 パートナー、人材採用が困 される 難 移行する前に | Google Cloud の価値

コストパフォーマン 弾力性のある構 セキュリティー スが良い

サイロはない サーバーレスでNo-ops ANSI SQL-2011 移行をする前に考 えること 02 Partners Cloud plan & cloud deploy

移行する前に | 社内にスキルはない場合

グーグルの支援 パートナーと BigQuery のスター Google リソースが ターパック 協力し合う

https://cloud.google.com/partner s/?hl=ja 移行する前に | TCO & ROI

アンケートを記入するだけ で

総所有コストのも計算 移行する前に | クラウドで構築

サイロ化に 2 3 なっている 1 データセット データと関連データの Proof of 基盤を構築 発見 Concept

誰でも ML を 使えれるよう 6 5 4 に 機械学習 ソースデータを 周りのシステム 移行 と通信用のツー ルの構築 DWH の移行について03 移行する前に | DWH移行対応

t n r m h o s v b ?

Teradata IBM AWS Azure SQL Hadoop Oracle Snowfake Verica SAP BW その他 Netezza Redshif

BigQuery

t Teradata IBM Netezza から

13 IBM Netezza | アーキテクチャ

FPGA CPU メモリー NZSQLコマンド:DML, データダンプ Host FPGA CPU (Linux JDBCコネクター:SQLクエリ メモリー サー バ)

FPGA CPU Symmetric Multiprocessing メモリー (SMP)複数のマイクロプロセッサ Disk S-Blade Network Enclosure fabric AMPP Massively Parallel Processing Architecture (MPP) 大量な並行処理 IBM Netezza | データタイプ

IBM Netezza の 31 タイプを全部 BigQuery でマッピングが出来ます

IBM Netezza BigQuery

VARCHAR STRING

BOOLEANま BigQuery : TRUE / FALSE BOOL たBOOL Netezza : True / False, 1 / 0, yes / no, on / of

TIME / TIMETZ / TIME BigQuery : の TIME でタイムゾーンはない TIME_WITH_TI ME_ZONE

ARRAY Netezza : VARCHARのデータタイプに保存 IBM Netezza |それ以外の違い

IBM Netezza BigQuery

テラバイトのスケールまで: TwinFin (all 拡張性 N2001) また Striper (all N2001); 最大: ペタバイト 320 Terabytes

Distributed Columnar Database - 圧縮比 データモデル Relational DBMS - 圧縮比:1:3 :1:10

SQL SQL-92とSQL-99のエクステンション SQL-2011

処理エンジン MapReduce Dremel

UDF C++ Javascript

BigQuery のSQLでストアドプロシージャを ストアドプロシージャ NZPLSQL 書くalphaになります

A-z, A-Z, 0-9 また underscore “_” 最大 フィールド名 日本語対応, 最大:128バイト :128 文字 IBM Netezza |チェックリスト

● IBM Netezza のデータタイプを BigQuery のデータタイプにマッピング

● フィールド名のマッピング

● IBM Netezza の SQL からに使用されてるクエリを ANSI SQL-2011に切り替えます

● C++ の UDF を BigQuery の UDF に書き直す ストアドプロシージャ を他の仕組みで対応

● データソースのと連携 ツールを選択する ○ 最初のデータ移動方法 ○ 定期的なデータ更新方法 (差分管理) IBM Netezza |カバレッジ データ量 データ形式 ペタバイト対応 マッピング可能

クエリ UDF SQL C++ → Javascript 書き直し可能

ストアドプロシージャ データ通信

BigQuery のSQLでストアドプロ JDBCコネクター シージャ(alpha) コマンドラインでデータダンプ Teradata から Teradata | アーキテクチャ

Dual CPU CPU O BYNET Interconne メモリー S BTEQコマンド:DML, データダンプ, cts 複数のインスタンスからデータクエリ

CPU CPU O メモリー S JDBCコネクター:SQLクエリ

CPU CPU O メモリー S Massively Parallel SMP Processing Nodes 大量な並行処理 Server (MPP) Management Teradata MPP 最大:1024 ノード Architecture Teradata | データタイプ

Teradata の全てのタイプを BigQuery に

Teradata BigQuery

VARCHAR STRING

INTERVAL_HOUR, INTERVAL_MINUTE, INTERVAL_SECOND, INT64 BigQuery: 期間のデータタイプない INTERVAL_DAY, INTERVAL_MONTH, INTERVAL_YEAR

PERIOD(DATE), PERIOD(TIMESTAMP_ WITH_TIME_ZONE), STRING BigQuery: 期間のデータタイプない PERIOD(TIMESTAMP), PERIOD(TIME) Teradata |それ以外の違い

Teradata BigQuery

拡張性 テラバイト ペタバイト

Distributed Columnar Database - 圧縮比 データモデル Relational DBMS - 圧縮比:最大:1:10 :1:10

Teradata SQL 一部 SQL-2011 ベース (書き SQL ANSI SQL-2011 直すことは出来ます )

処理エンジン Dremel

UDF SQL Javascript

ストアドプロシー BigQuery のSQLでストアドプロシージャを書く SQL ジャ alphaになります

またアンダースコアー ド またアンダースコアー 最大 フィールド名 A-z, A-Z, 0-9 “_” , A-z, A-Z, 0-9 “_” ル “$”, シャープ “#” 最大:30 文字 :128 文字 Teradata |カバレッジ データ量 データ形式 ペタバイト対応 マッピング可能

クエリ UDF SQL SQL → Javascript 書き直し可能

ストアドプロシージャ データ通信

BigQuery のSQLでストアドプロ JDBCコネクター シージャ(alpha) コマンドラインでダンプ Hadoop から

24 専用のAPI アーキテクチャ JDBCコネクター:SQLク Hadoop | エリ CPU O w o S データウ キーバリュー メッセージ メモリー r エアハウ データベス ブローカ k ス e Phoenix CPU Z O r s Spark Hive Hbase Kafka o メモリー S q o N o Slider k o CPU o e O d Yarn:リソース管理 e S e p メモリー p n HDFS : ファイルシステム e m i r CPU O a f メモリー S s ハードウエアー t i e CPU O r メモリー S ソフトエアースタック N Network o d 専用のAPI ハードウェアスタック e Hadoop | GCP Dataproc

フルマネージド、Hadoop / Spark、

カスタマイズ可能なマシン

90 秒以内で立ち上げて、 エフェメラル またオンデマンドのクラスタ ー秒単位の 請求

データの暗号化 Hadoop | GCP Dataproc 一時的なクラスター

ジョブ データ

クラスター作成 処理の結果書込 クラスター削除 Bucket み Cloud 削除 Cluster 1 Storage Cloud BigQuery Cloud Dataproc Dataproc Logging & monitoring Stack driver Hadoop | マイグレション選択マトリクス データウェアハウスの処理 NoSQLを使ってます NoSQL を使ってますか アドホッククエリまたインタラクティブクエリを起動 (Hive, Impala, Kudu, Drill, Druid, AtScale、 はい MaprDB, …) HBase を使ってますか Accumulo を使って、移行 がしたくないのでそのまま 使いたい はい クエリーを書き直しても大丈 Cloud いいえ 夫ですか はい いいえ Dataproc Phoenix を使ってますか

はい はい

いいえ BigQuery また Cloud Cloud BigQuery Bigtable Dataproc Hadoop |チェックリスト

● Hive データタイプを BigQuery のデータタイプにマッピング

● Hive の UDF また SerDe を移行計画

● Hive に使用されている HQLクエリを ANSI SQL に切り替えます

● HDFS に保存されてるバイナリーファイル の処理プロセスを移行の計画

● Spark, MapReduce また Pig script のデータ処理の移動計画

● HBase のデータ移行の計画

● Zeppelin ノートブックの移行計画

● Kafa が使われているフローの移行計画

● Sqoop のスクリプトを基づいて、データソースのと連携ツールを選択する ○ 最初のデータ移動方法 ○ 定期的のデータ更新方法 (差分管理) Hadoop |カバレッジ データ量 データ形式 ペタバイト対応 マッピング可能

クエリ UDF & Serde SQL SQL / Java → Javascript 書き直し可能

データ処理 データ通信

書き直し可能 JDBCコネクター Dataprocに起動 HDFSのダンプ対応 BigQueryのSQLでストアドプロ 専用のAPI シージャ(alpha) GCP との連動 04 GCP のサービスを紹介

32 GCP | Data pipeline 全体図

データソース ETL/ESB ランディング・ゾー 加工 / 処理 蓄積 / DWH 分析 活用 ン

公開 ストリーミング データ セット

Pub/Sub パートナーのツール / Datafusion / Data Transfer Service

バッチ ETL 処理

Legacy EDW BigQuery 他社のツール Cloud storage

ELT を SQLで

GCP | Cloud Storage

耐久性と高可用性を両立させた BLOB ストレージ(オブジェクトスト レージ)

安全で耐久性のあるデータ保管

容量管理が不要

転送中のデータと保存データの 暗号 化

パフォーマンスとコスト バランスの取 れたストレージクラス

BigQuery や Datafow, Dataproc な どの分析サービスとの統合

34 GCP | Cloud Pub/Sub

信頼性の高いリアルタイムメッセージング サービス

グローバルに設計 された高い可用性

プロビジョニングが不要 で自動処理

At Least Once 配信 多彩なパターンで利用が可能

35 連携パターン GCP | データパイプラインの連携ツール選択

ソース ETL/ESB ランディング・ゾー 加工 / 処理 蓄積 / DWH ン ESB / Hadoop ETL S3 Bucket Cloud Cloud BigQuery DWH Pub/Sub Dataflow r RedShift Cloud Dataproc e Exadata Data n Netezza Cloud Fusion t Teradata Storage ... Cloud Dataprep RDBMS Bq load

Data Transfer Service GCP | データパイプラインの連携ツール選択

今現在、データ連携のツールがすでにあ GCP から(プル)それぞれのデー bq load いいえ いいえ りますか (ESB, ETL)? タソースに接続したい? GCP API

はい はい カスタムロジックまた複雑なデー に行く時にデータパイプライン(デー GCP タパイプラインを Java また Cloud タ通信またデータ処理)を で最適に はい No はい GCP Python で書いてコントロールし Dataflow 再構築 ? たい? いいえ いいえ

カスタムロジックまた複雑なデー クラウド Sqoop / NiFi + Data パート タフローをビジュアルツールで作 はい ネーティ また その他 Fusion Spark MR ナーの りたい? ブ ジョブズ の ETL ETL いいえ ツール ツール データ整理だけが必要、ビジュア ルデータ探索したい、ルールベー はい Dataprep Informati スで構築したい Talend Cloud ca Dataproc いいえ Intelligen Data 程的にデータをデータソースから はい t Cloud Transfer Services シンクしたい場合 Service いいえ GCP | BQ Load 向いている場面

バッチで、ファイルの構でデータ送る

構化データの場合

オンプレミスのスケジューラーの対応

データをオンプレミスから プッシュする時 GCP | BQ Load 事例

ソース ランディング・ゾー ETL/ESB 加工 蓄積 / DWH 分析 Analyze 活用 Visualize ン

Cloud gsutil cp bq load BigQuery 1 を経由 Storage GCS

スケジューラー

bq load BigQuery 2 直接の書き込み

スケジューラー GCP | BQ Load 詳細

コマンドライン、Java, C#, Python, PHP, Ruby, Node.js, Go

ローカルディスクからロードをしたい時、

制限: ● コマンド毎 10MB 以下また 16,000 のレコー ド ● フォルダまたWildcardは使えない GCP | Data fusion 向いている場面

バッチもしくはストリーミング対応

データフローをマージー、データ変換、データマッピ ング:複雑なデータフロー を構築する時

マネージドサービス GCP | Data fusion 事例

Data ランディング・ゾー ETL/ESB 加工 蓄積 / DWH 分析 Analyze 活用 Visualize Warehouse ン

Data n Netezza BigQuery Fusion 1 バッチ

Cloud Data Cloud 1 ストリーミング Pub/Sub Fusion Storage Beta GCP | Data fusion 詳細 No-opsのデータパイプラインの構築と管理のための統 合サービス

フル マネージド型のデータ統合また処理

統一されたバッチとストリーミング

GUIでグラフの形で(DAG)フローの流れをビジュアル で作れる

エラー管理

メインのデータベースと データウェアハウスと連携 :IBM Netezza, Oracle 12c, Redshif, Kudu, MySQL, MS SQL Server, IBM DB2... GCP | Datafow 向いている場面

バッチ & ストリーミング

コードで複雑な処理を描きたい

GCPのサービスと連携したい時、 テンプレー トを使いたい場合 GCP | Datafow 事例

Data ETL/ESB Landing Warehouse 加工 蓄積 / DWH 分析 Analyze 活用 Visualize

Cloud Cloud BigQuery Pub/Sub Dataflow GCP | Datafow 詳細 オープンソースのプログラミング モデル

サーバーレスでフル マネージド型のデー タ処理

何百万もの QPS に合わせた自動最適 化

Python また Javaで使い慣れた言語で 統一されたバッチとストリーミング

47 GCP | Data Transfer Service 向いている場面

BigQuery へのデータの移動を自動化する マネー ジド サービス,コネクターが Teradata, S3, redshift、さまざまなソースから

信頼性の高いデータ取り込み(アップタイム SLA と データ配信 SLA)

データ配信のスケーリング

GCP | Data Transfer Service 事例

Data ETL/ESB Landing Warehouse 加工 蓄積 / DWH 分析 Analyze 活用 Visualize

Data S3 Bucket Transfer BigQuery Service GCP | Data Transfer Service Data Transfer Service

様々なソースから (AWS S3, AWS Redshift, Redshift, …)

数クリックで設定はできます

スケジューラー、通知の機能も

Parner | Informatica 向いている場面

今すでに使われている場合

データをオンプレミスからクラウドへ

ビジュアルでフロー構築

データ周りの完全管理:data Catalog, MDM Parner | Informatica Informatica PowerCenter - use your ETL to integrate

Data ETL/ESB Landing Warehouse 加工 蓄積 / DWH 分析 活用

Hadoop Informatica BigQuery 1 PowerCenter オンプレミス Oracle O Informatica RDBMS PowerCenter

Hadoop Informatica Informatica BigQuery 2 クラウド Cloud Cloud Oracle Informatica O RDBMS intelligent Cloud Services Parner | Informatica ChangeDataCapture 対応 (Oracle, Db2, SQL Server, MySQL)

GUI で出来る: データマッピング スキーママッピング フロー構築

ログファイルの構解析

データウエアハウスマイグレション対応: Netezza, Teradata また Hadoop のコネクター

すでにある Tier で GCP 対応: Tier C で標準で GCS のコネクター Tier D で直接の BigQuery コネクター

GCP | データ連携のパートナー

1000+ parners データを表示する、 BI ツール 0405 BI ツール | Google スプレッドシート

スプレッドショート直で BigQuery のデータを

SQL が書けなくってもデータにアクセス できる

データが見れるから簡単にすぐ理解は できる

BI ツール | データポータル

でダッシュボード作れる GUI

データソースがまとまってなくても様々なデータソー スを Join できる

テンプレートで簡単にダッシュボード作れる

カスタムグラフを D3.js を使って、Javascript で作る

BI ツール |

● BigQuery と統合

● クラウドなのでスケーラブル

● どこでもからアクセスは出来る

● 50 以上のデータベース直接接続 GCP | パートナー

1000+ parners Thank you