#gc_inside
Confidential & Proprietary
常田 秀明 (Tokida Hideaki)
オンプレミスDWHから BigQuery へ
日本情報通信株式会社
常田 秀明
日本情報通信株式会社
リーディング・テクニカル・エキスパート
日本情報通信株式会社
IBM の最先端テクノロジを使用して、 NI + C はシステム開発、製品とサービス、
ネットワークサービスなどのさまざまな分野のお客様に管理関連ソリューションを
提供します。IBM のハードウェアとソフトウェアのフルラインナップだけでなく、市場
に出回っている幅広い IBM 以外のミドルウェアも提供しています。当社の技術ス
ペシャリストは、お客様のニーズに応じてシステムを設計、構築、および保守する
ことができます。
創業34年目 日本IBM +
NTT
Software/Cloudの売上高
グループ全体エンジニア数>1000
400+
30+
Confidential & Proprietary
今日の話
「OnPremのDataWherehouseをクラウド型DWHの BigQuery へ」
企業のデータ分析には様々な課題があります。今日は課題の中で特に
以下の「データの鮮度」がテーマについての話です。
https://www.slideshare.net/hideakitokida/d12s07-bigquery
Confidential & Proprietary
オンプレミスDWHの
データ鮮度の課題
Confidential & Proprietary
分析までの時間を短縮させる
Confidential & Proprietary
テーブルA
<売上>
テーブルB
<売上>
Update
11/30
UPdate
12/1
その「売上」の意味正しいですか?
そのデータはいつのものですか?
User:1000
User:980
Confidential & Proprietary
データの鮮度
● データの源泉から分析者ま
でデータはバケツリレーで
運ばれる(定時実行)
● 物理的制約によりデータは
適宜破棄される
0
0
0
0
1
2
2
3
2
4
分析
ツール
Excel
R
1day 1day 1day
Confidential & Proprietary
データ分析が自由に出来ない
● 性能がスケールせず並列性
が著しく性能に影響を与える
ため「処理時間の予測」が重
要
● 夜間処理が延長した場合、別
の分析処理自体も出来ないこ
ともある
0
1 2
3
Excel
日中処理夜間処理
finish?
Job1(1h) Job2(3h) On-demaind
02:00 04:00 08:00 (Online)
Confidential & Proprietary
DWH運用あるある
分析者が投入した
SQLが止まらない!
運用側で手動で停
止。アドホックな処理
に振り回される
処理を止めて!
少ない空きをやりくし
てExport&Loadの繰
り返し。サイズが大き
いと時間もかかる
カラムを足して!
SQLの処理を誤って
データを上書き(消し
た)。前の状態に戻し
て!と言われても。。
そんな簡単には戻ら
ない。
ヤバイ戻して!
Confidential & Proprietary
BigQuery で実現する
データレイク&データマート
Confidential & Proprietary
BigQuery とは
● フルマネージド(クエリーサービス)として提供
● 費用は利用した分のみの従量課金
● 既存DWHの課題を解消したクラウド型DWH
● 大容量データを活用する拡張(GISとML)
1
2
3
4
DBMS
OS
HW
Service
クエリ応答 クエリ応答
例:オンプレ BigQuery
BigQueryではリソースに関しては考慮
不要。スケールの変化に強い。
既存BAツール
構造化データレイク
データマート
ETL
クレンジング
BigQuery
データ
処理エンジン
頻繁な分析結果
の読み書き
クラウド世代の
BIツール
処理は極力
BigQueryで実施
データ処理エンジン
Confidential & Proprietary
データの流れを変える
Data Pipeline
Confidential & Proprietary
ETL から ELT処理へ
● BigQuery のパワーを活
用
● Load より External Table
● SQLを極力集約 取り込み
ファイル
作業
テーブル
正規
テーブル
Transform & Marge
・異常値保管
・重複
・型変換
Load
データ取り込み
取り込み
ファイル
作業
テーブル
正規
テーブル
Transform & Marge
・異常値保管
・重複
・型変換
External
外部データ参照
Cloud
Storage
Confidential & Proprietary
取り込み
ファイル
作業
テーブル
正規
テーブル
Transform & Marge
・正規テーブルに差分をマージで挿入
Load
そのままLoad
Cloud
Storage
Cloud
Pub/Sub
Cloud
Functions
Cloud
Pub/Sub
Cloud
Functions
Event Driven
GCSに保管されたことを通知
実装方法は多種多様
● Event駆動連携は、タイムラグを最小限にする
Confidential & Proprietary
(補足)DataflowでETLしたほうが最適なシチュエーション
GCP にはETLとして利用可能なサービスが幾つか用意されています。プログラマブルでバッチ・リアル
タイム同時に利用可能な Dataflow や、UIベースで定義可能な Data Fusion、データのクレンジング等
に利用可能な Dataprep などがありケースに応じて使い分けを行います。
● データを保存して後で結合するのではなく、データを BigQuery に読み込むときにクレンジングま
たは変換する。したがって、データは結合され変換された状態でのみ BigQuery に格納されるた
め、この方法ではストレージ要件も低い。
● カスタムデータのクレンジングを行う(これは SQL では簡単に実現できません)。
● 読み込み処理中に、 OLTP 以外のデータ(ログやリモートからアクセスするデータなど)とデータ
を組み合わせる。
● 長い期間における段階的な繰り返し、 ETL プロセスの強化、改善を期待する。
● 1 回限りの ETL を行うのではなく、データを増分的に追加する。
● https://cloud.google.com/solutions/performing-etl-from-relational-database-into-bigquery?hl=ja
Confidential & Proprietary
連携
● External Table 活用
● Export に注意
● 型に注意
書き出し
データ
(1G)
正規
テーブル
Export
ファイルとして書き出し
外部
データ
External Table
テーブルとして書き出し
外部
テーブル
Other DB
External Table
テーブルとして参照
双方でRead/Writeの場合
には注意
Confidential & Proprietary
移行
● DB Snapshot の活用
● Dataset の定義の一括作成
● 既存DWHのスキーマ管理
テーブル
Other DB
テーブル
テーブル
テーブル
テーブル
DBスキー
マ情報
BQスキー
マ テーブル
テーブル
テーブル
移行期間中頻繁に
変更
日次で取得
スキーマ
生成
差分のスキーマ処理
変更や修正がある場合、
不備がある場合も
Snapshotで高速に操作
可能
SnapShot活用の注意点
・列追加すると☓
・Dropすると無効なのでDelete &
Insertで対応(ちょっと時間かかる)
Confidential & Proprietary
互換性
標準SQLを知っていれ
ばそのスキルは活用
できるので便利。既存
のDBMSの知識があ
れば使える。制約はよ
く読め
標準SQL
他のDWHも大概ゆる
いのでゆるいもの通し
合わないことがあるの
で注意。型だけの単
純変換では動かない
ケースも。。
型
”がうまく処理できな
い。テーブル名が日本
語が出来ない。幾つ
か出来ないが概ね動
く
Loadの禁則
Confidential & Proprietary
BI側からMartを作りもっとシンプルに
● BigQuery のViewを作ら
ず、Looker上でModelを
定義
● 分析者にとり意味ある
データを統合的に管理
● Lookerでは常に生データ
・全件参照可能
正規
テーブル
正規
テーブル
Data Mart
(仮想View)
SQL
データを一元管理全データを保管
Confidential & Proprietary
BI側で権限を制御
● データ参照許可をSQLレベルで細かく設定が可能(BQはDataset
単位であり若干制御しづらい部分を補完)
正規
テーブル
正規
テーブル
Data Mart
(仮想View)
SQL
データを一元管理全データを保管
Data Mart
(仮想View)
データセット
SQLレ
ベルで
の制御
SQLレ
ベルで
の制御
views,mod
els
同じ条件
User:A
User:B
User:A
User:B
User:A
User:B
User:A
User:B
Confidential & Proprietary
BI側で素早く連携
正規
テーブル
正規
テーブル
Dash
board
SQL
データを一元管理全データを保管
Other
Solution
Pull
Push Push
Pull
Push
Push
ユーザアプリ
ケーション埋め
込み型
顧客
BigQueryの鮮度をそのまま利用
Confidential & Proprietary
まとめ
Confidential & Proprietary
BQ を活用し Data Pipeline をシンプルに
0
0
0
0
1
2
2
3
2
4
分析
ツー
ル
Exc
el
R
1day 1day 1day
0
0
0
0
1
1
1
1
1
1
分析
ツール
Excel
R
1day4days 1days
Confidential & Proprietary
BigQuery + Looker
データに使われるのかデータを使うのか
Confidential & Proprietary
Looker勉強会
タイトル: BigQuery・Redshift・Treasure Dataユーザ向け!Lookerで実現する次世代
BI
日時:2020年1月30日(木曜日)15:30開始 (無料/事前登録制)
● Why Looker?
● 既存BIでの困りごとと事例
● ハンズオン
申し込みサイト:https://www.niandc.co.jp/sol/g2001
Thank you
Confidential & Proprietary

[GCP INSIDE Retail] オンプレミスDWHからBQへ