SlideShare a Scribd company logo
1 of 36
Download to read offline
BigQueryで実現する
データ統合
なかむら さとる
自己紹介
● 名前:
なかむら さとる
● 経歴:
Groovenauts,inc.所属
元某小売系のインフラ・システム運用エンジニア
● その他:
Google Developers Experts(Cloud)
ところでみなさん
データがどこで生まれて
どんな処理を経て
だれが使ってるのか
(何に使ってる)
知ってますか?
分散されたシステム
分散されたシステム
分散されたシステム
こんなシステムのよく
ある問題
同じデータでも色々違う
商品価格:
Price
float
nullable
商品価格:
kakaku
int64
required
作った人がもう居ない(わからない)
影響範囲がわからない(え?そこ?)
見ている数字が違う
売上:100万円
売上:50万円
売上:140万円
欲しい数字がすぐに出ない
A
B
AとBのかけ合わせた数字を
明日の朝までに♡
無理です。
もしくは時間が。。。
このデータも入れてよ☆
好きにデータ出したい ☆(ゝω・)v
まだまだあるよ もうディスクが逼迫して
どないしたらええねん
使う人が多くなって処理能力が
セキュリティはきっちりな
お金ないよぉ。老朽化
さてどうしましょうか
BigQueryがあるじゃないか
BigQueryの仕組み
■The 12 Components of Google BigQuery
https://medium.com/google-cloud/the-12-c
omponents-of-google-bigquery-c2b49829a7
c7
■重要なコンポーネント
・Dremel(クエリエンジン)
・Colossus(ストレージエンジン)
・Jupiter(ネットワーク)
・Borg(大規模コンテナ・クラスタ管理)
サーバレス・サービスモデル
● 完全なサーバレスモデルである
○ ハードウェア、機能アップデートの管理はすべて Googleが行う
○ VMやCPU、メモリ、ディスクサイズなどの設定も不要
○ 数秒で数十万コアを利用することが出来る
○ 利用者はデータを入れること、抽出することだけを考える
独自のストレージエンジン
● Colossus
○ GFS(Google File System)の後継
○ データセンター規模でのファイルシステム
○ GmailやDocsなどと同じインフラ
○ 同じデータを3箇所のデータセンターにレプリケーション
○ データのシャーディング
○ 暗号化
● Capacitor
○ カラムナーストレージフォーマット
○ データの最適化(並べ替えなど)
○ テーブルパーティショニング
● Poseidon
○ 様々なファイルフォーマットへの対応
(CSV,JSON,Avro,DataStore)
○ クエリとインポート/エクスポートの分離
Dremelというクエリエンジン
● 2015年にアップデート
● 最初はBigQuery独自のSQLだけでしたが、Standard-SQLにも対応
(※今後はStandard-SQLを利用、オプティマイザを実装)
● シャッフルやソートはインメモリで実施
● Borgで管理
● いつでも元気にフルスキャン
独立したストレージとネットワーク
● Jupiterネットワーク
○ Googleが独自に開発したネットワーク( H/W,S/Wともに)
○ 1Pb/secの帯域
○ 謎技術。。。。。(SDNであることは間違いない)
○ ストレージはネットワークで接続
費用について
● クエリ課金
○ クエリ毎に利用したカラムに対するデータ容量で課金
○ 月額固定料金
● ストレージ課金
○ データ容量に対して課金
○ 90日以上変更の無いテーブルはデータ容量に対しての課金が半額
● ストリーミングインサート
○ バッチでInsertするのではなく、1行ずつ個別にいれるデータ量にたいして課金
● https://cloud.google.com/bigquery/pricing?hl=ja#transfer
IAMと認証、監査ログ
● Google CloudのIAMと権限の連携(Read/Write/Admin)
● DataSet単位での権限付け
● 認証はO-Authとサービスアカウント
● すべての操作を監査ログで保存し、BigQueryへExportも可能
祝☆Tokyoリージョン
● 国内で初めてのリージョン(待ち望んでいた!)
● 海外にデータはちょっとと言う人向け
(多分性能はそんなにかわらない)
じゃ、どうする?
システム部門だけでやらない
● 経営者に納得してもらう
● 宣言して周りを巻き込む
● 周りが出来ると思わない、システム部門が歩み寄る
同じデータでも色々
違う問題
色んな方法で解決できる
● BigQueryのクエリで解決
● Dataprepでやっちゃう
● Dataflowでやっちゃう
データ・ディクショナリの作成
● 言語(言い方)を統一する
● ちゃんとみんなが見えるところでドキュメント化する
● メタデータ(説明とか)を充実させる
欲しい数字がすぐに
出ない問題
現場の人に直接やってもらう
● データを開放してやってもらう
● 例えばDataStudioとか
● 例えばDataprepとか
つまりどうなるの?
色んな効果が出てきます。
● 数字が出るスピードがあがります
● システム部門は色んな心配から開放されます
● つまり生産性があがります
● そうすると新しい発想が生まれます!
ありがとうございました。

More Related Content

Similar to BigQueryで実現するデータ統合

勉強会をやる人募集中
勉強会をやる人募集中勉強会をやる人募集中
勉強会をやる人募集中Tomo Mizuno
 
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法Takuma Watabiki
 
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...Takahiro Miyaura
 
【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~
【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~
【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~Masahito Zembutsu
 
「デザイニング・インターフェース」勉強会 - 第7章
「デザイニング・インターフェース」勉強会 - 第7章「デザイニング・インターフェース」勉強会 - 第7章
「デザイニング・インターフェース」勉強会 - 第7章Tsutomu Kawamura
 
脆弱性検知ツールVulsを試してみた
脆弱性検知ツールVulsを試してみた脆弱性検知ツールVulsを試してみた
脆弱性検知ツールVulsを試してみたCosign930
 
20190227 autonomous champion2 no3
20190227 autonomous champion2 no320190227 autonomous champion2 no3
20190227 autonomous champion2 no3HidetomoMiyazawa
 
運用管理を楽にしたいという話
運用管理を楽にしたいという話運用管理を楽にしたいという話
運用管理を楽にしたいという話Hisashi HATAKEYAMA
 
機械学習 / Deep Learning 大全 (1) 機械学習基礎編
機械学習 / Deep Learning 大全 (1) 機械学習基礎編機械学習 / Deep Learning 大全 (1) 機械学習基礎編
機械学習 / Deep Learning 大全 (1) 機械学習基礎編Daiyu Hatakeyama
 
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~Daiyu Hatakeyama
 
20140829 山形でJAWS-UGをやって困った2つのこと
20140829 山形でJAWS-UGをやって困った2つのこと20140829 山形でJAWS-UGをやって困った2つのこと
20140829 山形でJAWS-UGをやって困った2つのことSeiji Akatsuka
 

Similar to BigQueryで実現するデータ統合 (13)

勉強会をやる人募集中
勉強会をやる人募集中勉強会をやる人募集中
勉強会をやる人募集中
 
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
 
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
 
【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~
【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~
【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~
 
Mlct 20150430v2
Mlct 20150430v2Mlct 20150430v2
Mlct 20150430v2
 
「デザイニング・インターフェース」勉強会 - 第7章
「デザイニング・インターフェース」勉強会 - 第7章「デザイニング・インターフェース」勉強会 - 第7章
「デザイニング・インターフェース」勉強会 - 第7章
 
実世界に埋め込まれる深層学習
実世界に埋め込まれる深層学習 実世界に埋め込まれる深層学習
実世界に埋め込まれる深層学習
 
脆弱性検知ツールVulsを試してみた
脆弱性検知ツールVulsを試してみた脆弱性検知ツールVulsを試してみた
脆弱性検知ツールVulsを試してみた
 
20190227 autonomous champion2 no3
20190227 autonomous champion2 no320190227 autonomous champion2 no3
20190227 autonomous champion2 no3
 
運用管理を楽にしたいという話
運用管理を楽にしたいという話運用管理を楽にしたいという話
運用管理を楽にしたいという話
 
機械学習 / Deep Learning 大全 (1) 機械学習基礎編
機械学習 / Deep Learning 大全 (1) 機械学習基礎編機械学習 / Deep Learning 大全 (1) 機械学習基礎編
機械学習 / Deep Learning 大全 (1) 機械学習基礎編
 
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
 
20140829 山形でJAWS-UGをやって困った2つのこと
20140829 山形でJAWS-UGをやって困った2つのこと20140829 山形でJAWS-UGをやって困った2つのこと
20140829 山形でJAWS-UGをやって困った2つのこと
 

More from さとる なかむら

More from さとる なかむら (8)

#bq_sushi #17 dataform使ってみたよ
#bq_sushi #17 dataform使ってみたよ#bq_sushi #17 dataform使ってみたよ
#bq_sushi #17 dataform使ってみたよ
 
#Bq sushi #16 stored procedure
#Bq sushi #16 stored procedure#Bq sushi #16 stored procedure
#Bq sushi #16 stored procedure
 
マーケティングで使えるBigQueryMLテンプレート
マーケティングで使えるBigQueryMLテンプレートマーケティングで使えるBigQueryMLテンプレート
マーケティングで使えるBigQueryMLテンプレート
 
Bigquery
BigqueryBigquery
Bigquery
 
Google I/O 2018 iot ml_session_demo_inside_story
Google I/O 2018 iot ml_session_demo_inside_storyGoogle I/O 2018 iot ml_session_demo_inside_story
Google I/O 2018 iot ml_session_demo_inside_story
 
gcpug_kyoto_bigquery
gcpug_kyoto_bigquerygcpug_kyoto_bigquery
gcpug_kyoto_bigquery
 
FirebaseAnalytics_BigQuery_Datastudio
FirebaseAnalytics_BigQuery_DatastudioFirebaseAnalytics_BigQuery_Datastudio
FirebaseAnalytics_BigQuery_Datastudio
 
BigQuery ハンズオン
BigQuery ハンズオンBigQuery ハンズオン
BigQuery ハンズオン
 

BigQueryで実現するデータ統合