Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
A bridge to the CloudDamien Contrerasダミアン コントレラCustomer Engineer Specialist, Data Analytics, Google Cloud
アジェンダ
はじめに 移行する前の
準備
DWHの移行
について
1 2 4
GCP と連動
5 6
データの表示
01はじめに
移行する前に| データウェアハウスの欠点
コスト データ増加
データ形式対応外
リアルタイムの負担は受けられない
セルフサービス分析が難しい
スタースキーマとディメン表ションとファクト表に合わせる
ベンダーロックインの心配
移行する前に | データレイクの欠点
クラスターのリソースのバランス
バージョンアップ
複数のデータレイクが構築される
パートナー、人材採用が困難
コスト
移行する前に | Google Cloud の価値
弾力性のある構コストパフォーマンスが良い
サーバーレスでNo-opsサイロはない ANSI SQL-2011
セキュリティー
02移行をする前に考えること
パートナーと Google リソースが協力し合う
移行する前に | 社内にスキルはない場合
Cloud plan & cloud deployPartners
BigQuery のスターターパック
グーグルの支援
https://cloud.google.com/partners/?hl=ja
移行する前に | TCO & ROI
アンケートを記入するだけで
総所有コストのも計算
データと関連データの発見
Proof of Concept
基盤を構築
周りのシステムと通信用のツー
ルの構築
ソースデータを移行
機械学習
1 2
6 5 4
3サイロ化になっているデータセット
誰でも ML を使えれるよう
に
移行する前に | クラウドで構築
03DWH の移行について
Teradata IBM Netezza
移行する前に | DWH移行対応
Teradatat
t n rAWS
Redshift
mAzure SQL
hHadoop
oOracle
sSnowflake
v
Vertica
b
SAP BW
?
その他
BigQuery
IBM Netezza から
13
IBM Netezza | アーキテクチャ
FPGA CPU
メモリー
FPGA CPU
メモリー
FPGA CPU
メモリー
Host(Linux サーバ)
Disk Enclosure
S-Blade Network fabric
Symmetric Multiprocessing (SMP)複数のマイクロプロセッサ
Massively Parallel Processing (MPP) 大量な並行処理
AMPP Architecture
NZSQLコマンド:DML, データダンプ
JDBCコネクター:SQLクエリ
IBM Netezza | データタイプ
IBM Netezza の 31 タイプを全部 BigQuery でマッピングが出来ます
IBM Netezza BigQuery
VARCHAR STRING
BOOLEANまたBOOL BOOL BigQuery : TRUE / FALSE
Netezza : True / False, 1 / 0, yes / no, on / off
TIME / TIMETZ /
TIME_WITH_TIME_ZONE
TIME BigQuery : の TIME でタイムゾーンはない
ARRAY Netezza : VARCHARのデータタイプに保存
IBM Netezza |それ以外の違い IBM Netezza BigQuery
拡張性テラバイトのスケールまで: TwinFin (all N2001) また Striper (all N2001); 大: 320 Terabytes
ペタバイト
データモデル Relational DBMS - 圧縮比:1:3 Distributed Columnar Database - 圧縮比:1:10
SQL SQL-92とSQL-99のエクステンション SQL-2011
処理エンジン MapReduce Dremel
UDF C++ Javascript
ストアドプロシージャ NZPLSQL BigQuery のSQLでストアドプロシージャを書くalphaになります
フィールド名 日本語対応 , 大:128バイトA-z, A-Z, 0-9 また underscore “_” 大:128 文字
● IBM Netezza のデータタイプを BigQuery のデータタイプにマッピング
● フィールド名のマッピング
● IBM Netezza の SQL からに使用されてるクエリを ANSI SQL-2011に切り替えます
● C++ の UDF を BigQuery の UDF に書き直すストアドプロシージャを他の仕組みで対応
● データソースのと連携ツールを選択する○ 初のデータ移動方法○ 定期的なデータ更新方法 (差分管理)
IBM Netezza |チェックリスト
IBM Netezza |カバレッジ
データ通信
データ形式
UDF SQLクエリ
ストアドプロシージャ
データ量
JDBCコネクターコマンドラインでデータダンプ
BigQuery のSQLでストアドプロシージャ(alpha)
C++ → Javascript
ペタバイト対応 マッピング可能
書き直し可能
Teradata から
Teradata | アーキテクチャ
CPU CPU
メモリー
CPU CPU
メモリー
CPU CPU
メモリー
Dual BYNET
Interconnects
Massively Parallel Processing (MPP) 大量な並行処理
大:1024 ノードTeradata
MPP Architecture
OS
OS
OS
SMP Nodes
Server Management
BTEQコマンド:DML, データダンプ , 複数のインスタンスからデータクエリ
JDBCコネクター:SQLクエリ
Teradata | データタイプ
Teradata の全てのタイプを BigQuery に
Teradata BigQuery
VARCHAR STRING
INTERVAL_HOUR, INTERVAL_MINUTE,
INTERVAL_SECOND, INTERVAL_DAY,
INTERVAL_MONTH,INTERVAL_YEAR
INT64 BigQuery: 期間のデータタイプない
PERIOD(DATE), PERIOD(TIMESTAMP_WITH_TIME_ZONE),
PERIOD(TIMESTAMP),PERIOD(TIME)
STRING BigQuery: 期間のデータタイプない
Teradata |それ以外の違い
Teradata BigQuery
拡張性 テラバイト ペタバイト
データモデル Relational DBMS - 圧縮比: 大:1:10 Distributed Columnar Database - 圧縮比:1:10
SQL Teradata SQL 一部 SQL-2011 ベース (書き直すことは出来ます ) ANSI SQL-2011
処理エンジン Dremel
UDF SQL Javascript
ストアドプロシージャ
SQL BigQuery のSQLでストアドプロシージャを書くalphaになります
フィールド名A-z, A-Z, 0-9 またアンダースコアー “_” , ドル “$”, シャープ “#” 大:30 文字
A-z, A-Z, 0-9 またアンダースコアー “_” 大:128 文字
Teradata |カバレッジ
データ通信
データ形式
UDF SQLクエリ
ストアドプロシージャ
データ量
JDBCコネクターコマンドラインでダンプ
BigQuery のSQLでストアドプロシージャ(alpha)
SQL → Javascript
ペタバイト対応 マッピング可能
書き直し可能
Hadoop から
24
Hadoop | アーキテクチャ CPU
メモリー
CPU
メモリー
CPU
メモリー
OS
OS
OS
CPU
メモリー
OS
CPU
メモリー
OS
worker Node
master Node
HDFS : ファイルシステム
Yarn:リソース管理
ハードウエアー
Spark Hive Hbase KafkaSlider
PhoenixZookeeper
Tez
Networkソフトエアースタック
ハードウェアスタック
sqoop
nifi
データウエアハウ
ス
キーバリューデータベス
メッセージブローカ
JDBCコネクター:SQLクエリ
専用のAPI
専用のAPI
フルマネージド、Hadoop / Spark、
カスタマイズ可能なマシン
90 秒以内で立ち上げて、エフェメラル
またオンデマンドのクラスター秒単位の
請求
データの暗号化
Hadoop | GCP Dataproc
ジョブ
Cloud Dataproc
Cluster 1
クラスター作成 処理の結果書込み
Cloud Dataproc
削除
クラスター削除
Stackdriver
Logging & monitoring
データ
Cloud Storage
Bucket
BigQuery
Hadoop | GCP Dataproc 一時的なクラスター
アドホッククエリまたインタラクティブクエリを起動 (Hive, Impala, Kudu, Drill, Druid, AtScale、MaprDB, …)
Hadoop | マイグレション選択マトリクス データウェアハウスの処理
クエリーを書き直しても大丈夫ですか
CloudDataproc
BigQuery
NoSQLを使ってます
NoSQL を使ってますか
HBase を使ってますか Accumulo を使って、移行がしたくないのでそのまま使いたい
Phoenix を使ってますか
BigQueryCloudDataproc
また
CloudBigtable
いいえ
いいえいいえ
はい
はい
はい
はい
はい
● Hive データタイプを BigQuery のデータタイプにマッピング
● Hive の UDF また SerDe を移行計画
● Hive に使用されているHQLクエリを ANSI SQL に切り替えます
● HDFS に保存されてるバイナリーファイルの処理プロセスを移行の計画
● Spark, MapReduce また Pig script のデータ処理の移動計画
● HBase のデータ移行の計画
● Zeppelin ノートブックの移行計画
● Kafka が使われているフローの移行計画
● Sqoop のスクリプトを基づいて、データソースのと連携ツールを選択する○ 初のデータ移動方法○ 定期的のデータ更新方法 (差分管理)
Hadoop |チェックリスト
Hadoop |カバレッジ
データ通信
データ形式
UDF & Serde SQLクエリ
データ処理
データ量
JDBCコネクターHDFSのダンプ対応専用のAPI
SQL / Java → Javascript
ペタバイト対応 マッピング可能
書き直し可能
書き直し可能Dataprocに起動BigQueryのSQLでストアドプロシージャ(alpha)
04GCP との連動
GCP のサービスを紹介
32
ETL 処理
Pub/Sub
GCP | Data pipeline 全体図
データソース ランディング・ゾーン
活用加工 / 処理ETL/ESB 蓄積 / DWH 分析
Legacy EDW
バッチ
他社のツール
ELT を SQLで
パートナーのツール / Datafusion / Data Transfer Service
Cloudstorage
公開データセット
BigQuery
ストリーミング
34
耐久性と高可用性を両立させた BLOB ストレージ(オブジェクトスト
レージ)
安全で耐久性のあるデータ保管
容量管理が不要
転送中のデータと保存データの暗号
化
パフォーマンスとコストバランスの取
れたストレージクラス
BigQuery や Dataflow, Dataproc などの分析サービスとの統合
GCP | Cloud Storage
35
信頼性の高いリアルタイムメッセージング
サービス
グローバルに設計された高い可用性
プロビジョニングが不要で自動処理
At Least Once 配信
多彩なパターンで利用が可能
GCP | Cloud Pub/Sub
連携パターン
GCP | データパイプラインの連携ツール選択
CloudPub/Sub
BigQueryCloud DataflowCloudDataproc
Cloud Dataprep
Data Transfer Service
Data Fusion
ソース
Hadoop
S3 Bucket
Bq load
Teradatat
Netezzan
RedShiftr
ランディング・ゾーン
加工 / 処理ETL/ESB 蓄積 / DWHESB / ETL
RDBMS
CloudStorage
Exadatae
DWH
...
GCP | データパイプラインの連携ツール選択
Sqoop / NiFi + Spark またMR
ジョブズ
クラウドネーティ
ブ
No
その他の ETLツール
TalendInformati
ca Intelligent Cloud
Services
今現在、データ連携のツールがすでにありますか (ESB, ETL)?
はい
GCP に行く時にデータパイプライン(データ通信またデータ処理)を GCP で 適に再構築?
カスタムロジックまた複雑なデータパイプラインを Java また Python で書いてコントロールしたい?
CloudDataflow
はい
GCP から(プル)それぞれのデータソースに接続したい?
bq load
GCP APIいいえ
カスタムロジックまた複雑なデータフローをビジュアルツールで作りたい?
いいえ
はい
Data Fusion
はい
データ整理だけが必要、ビジュアルデータ探索したい、ルールベースで構築したい
Dataprep
程的にデータをデータソースからシンクしたい場合
Data Transfer Service
はい
はい
いいえ
いいえ
CloudDataproc
パートナーのETLツール
いいえ
はい
いいえ
いいえ
バッチで、ファイルの構 でデータ送る
構 化データの場合
オンプレミスのスケジューラーの対応
GCP | BQ Load向いている場面
データをオンプレミスからプッシュする時
GCP | BQ Load事例
BigQuery
ソース
CloudStorage
bq load
ランディング・ゾーン
活用 Visualize加工ETL/ESB 蓄積 / DWH 分析 Analyze
gsutil cp
スケジューラー
BigQuerybq load
スケジューラー
1
2
GCS を経由
直接の書き込み
GCP | BQ Load詳細
コマンドライン、Java, C#, Python, PHP, Ruby, Node.js, Go
ローカルディスクからロードをしたい時、
制限:● コマンド毎 10MB 以下また 16,000 のレコー
ド● フォルダまたWildcardは使えない
バッチもしくはストリーミング対応
データフローをマージー、データ変換、データマッピング:複雑なデータフローを構築する時
マネージドサービス
GCP | Data fusion向いている場面
GCP | Data fusion事例
BigQueryData Fusion
Data Warehouse ランディング・ゾー
ン活用 Visualize加工ETL/ESB 蓄積 / DWH 分析 Analyze
Netezzan
CloudPub/Sub
Data Fusion
CloudStorage
1 バッチ
1 ストリーミング
GCP | Data fusion詳細
No-opsのデータパイプラインの構築と管理のための統
合サービス
フル マネージド型のデータ統合また処理
統一されたバッチとストリーミング
GUIでグラフの形で(DAG)フローの流れをビジュアル
で作れる
エラー管理
メインのデータベースとデータウェアハウスと連携:IBM Netezza, Oracle 12c, Redshift, Kudu, MySQL, MS SQL Server, IBM DB2...
Beta
バッチ & ストリーミング
コードで複雑な処理を描きたい
GCPのサービスと連携したい時、テンプレートを使いたい場合
GCP | Dataflow向いている場面
GCP | Dataflow事例
CloudPub/Sub
BigQueryCloudDataflow
Data Warehouse Landing 活用 Visualize加工ETL/ESB 蓄積 / DWH 分析 Analyze
オープンソースのプログラミング モデル
サーバーレスでフル マネージド型のデー
タ処理
何百万もの QPS に合わせた自動 適
化
Python また Javaで使い慣れた言語で
統一されたバッチとストリーミング
47
GCP | Dataflow詳細
BigQuery へのデータの移動を自動化するマネージド サービス ,コネクターが Teradata, S3, redshift、さまざまなソースから
信頼性の高いデータ取り込み (アップタイム SLA とデータ配信 SLA)
データ配信のスケーリング
GCP | Data Transfer Service向いている場面
GCP | Data Transfer Service事例
BigQuery
Data Warehouse
S3 Bucket
Landing 活用 Visualize加工ETL/ESB 蓄積 / DWH 分析 Analyze
Data Transfer Service
GCP | Data Transfer ServiceData Transfer Service
様々なソースから (AWS S3, AWS Redshift, Redshift, …)
数クリックで設定はできます
スケジューラー、通知の機能も
今すでに使われている場合
データをオンプレミスからクラウドへ
ビジュアルでフロー構築
Partner | Informatica向いている場面
データ周りの完全管理:data Catalog, MDM
Partner | InformaticaInformatica PowerCenter - use your ETL to integrate
BigQuery
Data Warehouse
Hadoop
Oracle RDBMSO
Landing 活用加工ETL/ESB 蓄積 / DWH 分析
Informatica PowerCenter 1 オンプレミス
Informatica PowerCenter
2 クラウド Informatica intelligent Cloud Services
BigQuery
Hadoop
Oracle RDBMSO
Informatica Cloud
Informatica Cloud
Partner | Informatica
ChangeDataCapture 対応 (Oracle, Db2, SQL Server, MySQL)
GUI で出来る:
データマッピング
スキーママッピング
フロー構築
ログファイルの構 解析
データウエアハウスマイグレション対応:
Netezza, Teradata また Hadoop のコネクター
すでにある Tier で GCP 対応:
Tier C で標準で GCS のコネクター
Tier D で直接の BigQuery コネクター
04データを表示する、
BI ツール 05
スプレッドショート直で BigQuery のデータを
BI ツール | Google スプレッドシート
SQL が書けなくってもデータにアクセス
できる
データが見れるから簡単にすぐ理解は
できる
BI ツール | データポータル
GUI でダッシュボード作れる
データソースがまとまってなくても様々なデータソー
スを Join できる
テンプレートで簡単にダッシュボード作れる
カスタムグラフを D3.js を使って、Javascript で作る
● BigQuery と統合
● クラウドなのでスケーラブル
● どこでもからアクセスは出来る
● 50 以上のデータベース直接接続
BI ツール | Looker
Thank you