A bridge to the Cloud Damien Contreras ダミアン コントレラ Customer Engineer Specialist, Data Analytics, Google 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 Tez 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 ツール | Looker
● BigQuery と統合
● クラウドなのでスケーラブル
● どこでもからアクセスは出来る
● 50 以上のデータベース直接接続 GCP | パートナー
1000+ parners Thank you