SlideShare a Scribd company logo
1 of 26
BigQuery
ハンズオン
なかむら さとる
自己紹介
● 名前:
なかむら さとる
● 経歴:
(元?現?)某小売系のインフラ・システム運用エンジニア
● その他:
Google Developers Experts(Cloud)
Agenda
● BigQueryの仕組み
○ サーバレス・サービスモデル
○ 独自のストレージエンジン
○ Dremelというクエリエンジン
○ 独立したストレージとネットワーク
○ 費用について
○ IAMと認証、監査ログ
BigQueryの仕組み
■The 12 Components of Google BigQuery
https://medium.com/google-cloud/the-12-
components-of-google-bigquery-
c2b49829a7c7
■重要なコンポーネント
・Dremel(クエリエンジン)
・Colossus(ストレージエンジン)
・Jupiter(ネットワーク)
・Borg(大規模コンテナ・クラスタ管理)
サーバレス・サービスモデル
● 完全なサーバレスモデルである
○ ハードウェア、機能アップデートの管理はすべてGoogleが行う
○ VMやCPU、メモリ、ディスクサイズなどの設定も不要
○ 数秒で数十万コアを利用することが出来る
○ 利用者はデータを入れること、抽出することだけを考える
独自のストレージエンジン
● Colossus
○ GFS(Google File System)の後継
○ データセンター規模でのファイルシステム
○ GmailやDocsなどと同じインフラ
○ 同じデータを3箇所のデータセンターにレプリケーション
○ データのシャーディング
○ 暗号化
● Capacitor
Dremelというクエリエンジン
● 2015年にアップデート
● 最初はBigQuery独自のSQLだけでしたが、Standard-SQLにも対応
(※今後はStandard-SQLを利用、オプティマイザを実装)
● シャッフルやソートはインメモリで実施
● Borgで管理
● いつでも元気にフルスキャン
独立したストレージとネットワーク
● Jupiterネットワーク
○ Googleが独自に開発したネットワーク(H/W,S/Wともに)
○ 1Pb/secの帯域
○ 謎技術。。。。。(SDNであることは間違いない)
○ ストレージはネットワークで接続
費用について
● クエリ課金
○ クエリ毎に利用したカラムに対するデータ容量で課金
○ 月額固定料金
● ストレージ課金
○ データ容量に対して課金
○ 90日以上変更の無いテーブルはデータ容量に対しての課金が半額
● ストリーミングインサート
○ バッチでInsertするのではなく、1行ずつ個別にいれるデータ量にたいして
IAMと認証、監査ログ
● Google CloudのIAMと権限の連携(Read/Write/Admin)
● DataSet単位での権限付け
● 認証はO-Authとサービスアカウント
● すべての操作を監査ログで保存し、BigQueryへExportも可能
制限事項
● https://cloud.google.com/bigquery/quota-policy?hl=ja
BigQueryハンズオン
https://cloud.google.com/bigquery/quickstart-
web-ui?hl=ja
https://goo.gl/dYPH6u
クエリ解説
● https://goo.gl/9Mm8rt
解説:クエリその1
● クエリの結果データが多い場合はエラーとなります。
→結果データをテーブルに保存することで回避出来ます。
→エクスポートしたい場合は、そのテーブルをGCSに書き出すことが出来
ます。
● 大量のクエリ結果に対するORDER BYは避ける
解説:クエリその2
● 文字が大文字、小文字が混ざっているのがわかります。
これをすべて大文字に変換してGROUP BYしてみましょう。
また、ここでスキャンしたデータ量もメモしておいてください。
解説:クエリその3
● CPUを使用する小文字→大文字に変換するような処理も無課金
● COUNT(*)などは課金対象外
解説:クエリその4
● WHERE句でデータの範囲を絞っているように見えるが、むしろ新たな列をス
キャンすることになった。
→データの範囲を絞るのではなく、一度取ってきたデータをフィルタする役割
になっている。
解説:クエリその5
● サブクエリ内にクエリ結果に影響のないカラムが含まれているが、クエリオプ
ティマイザによって、自動的にスキャン範囲から除外される。
● また、スキャン範囲から除外させることによって、課金もされない。
解説:クエリその6
● テーブルパーティションとテーブルワイルドカードを利用することで、UNION
と同じ状態を作ることが出来る。
● テーブルを日付毎に作成し、クエリの範囲を狭めることが出来る。
解説:クエリその7
● JOINをする場合は、基本的にスキャンの範囲は足し算となる。
DataStudioハンズオン
● https://datastudio.google.com
DataStudioとは
● 簡単に言うと、スライドに数値を埋め込むことが出来るツール
● リアルタイムにデータを取得することが出来たり、『ある程度』利用者が
自由にデータを出すことが出来る
● BIツールの超簡易版
おわり
じゃない。
わんもあしんぐ
Dataprepベータ開始!(おめでと)
● Dataprepとは?
○ 使いたいデータを準備するGUIツール(ここ重要)
■ フォーマット変換したり
■ カラムを結合、分割したり
■ CSV→JSONにしたり
■ 計算させたカラムを作ったり
■ ぐりぐりしたデータをBigQueryに入れたり
やってみよう!
資料がおいついていない。。。。。

More Related Content

What's hot

6 月 18 日 Next - Google が描く、MapReduce を超えたビッグデータの世界
6 月 18 日 Next -  Google が描く、MapReduce を超えたビッグデータの世界6 月 18 日 Next -  Google が描く、MapReduce を超えたビッグデータの世界
6 月 18 日 Next - Google が描く、MapReduce を超えたビッグデータの世界Google Cloud Platform - Japan
 
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤Google Cloud Platform - Japan
 
BigQuery 使ってみよう
BigQuery 使ってみようBigQuery 使ってみよう
BigQuery 使ってみようNoriko Takiguchi
 
20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回Keiji Kamebuchi
 
これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本Tomohiro Shinden
 
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: OnlineGoogle Cloud Platform - Japan
 
[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (LIVE) 2018年4月12日 放送
[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (LIVE) 2018年4月12日 放送[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (LIVE) 2018年4月12日 放送
[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (LIVE) 2018年4月12日 放送Google Cloud Platform - Japan
 
BigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用するBigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用するGoogle Cloud Platform - Japan
 
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみたSQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみたKumano Ryo
 
Azure Lab Services.pdf
Azure Lab Services.pdfAzure Lab Services.pdf
Azure Lab Services.pdfHisaho Nakata
 
[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (e-Learning) 2018年4月19日 放送
[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (e-Learning) 2018年4月19日 放送[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (e-Learning) 2018年4月19日 放送
[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (e-Learning) 2018年4月19日 放送Google Cloud Platform - Japan
 
Google bigquery導入記
Google bigquery導入記Google bigquery導入記
Google bigquery導入記Yugo Shimizu
 
[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送
[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送
[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送Google Cloud Platform - Japan
 
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんかBigQueryの課金、節約しませんか
BigQueryの課金、節約しませんかRyuji Tamagawa
 
[Cloud OnAir] Config Connector の特徴と、 Anthos Config Management を 組み合わせた、 構成管理の...
[Cloud OnAir] Config Connector の特徴と、 Anthos Config Management を 組み合わせた、 構成管理の...[Cloud OnAir] Config Connector の特徴と、 Anthos Config Management を 組み合わせた、 構成管理の...
[Cloud OnAir] Config Connector の特徴と、 Anthos Config Management を 組み合わせた、 構成管理の...Google Cloud Platform - Japan
 
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: OnlineGoogle Cloud Platform - Japan
 
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送Google Cloud Platform - Japan
 

What's hot (20)

6 月 18 日 Next - Google が描く、MapReduce を超えたビッグデータの世界
6 月 18 日 Next -  Google が描く、MapReduce を超えたビッグデータの世界6 月 18 日 Next -  Google が描く、MapReduce を超えたビッグデータの世界
6 月 18 日 Next - Google が描く、MapReduce を超えたビッグデータの世界
 
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
 
BigQuery 使ってみよう
BigQuery 使ってみようBigQuery 使ってみよう
BigQuery 使ってみよう
 
20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回
 
これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本
 
6 月 18 日 Next - Cloud Networking
6 月 18 日 Next - Cloud Networking6 月 18 日 Next - Cloud Networking
6 月 18 日 Next - Cloud Networking
 
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
 
[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (LIVE) 2018年4月12日 放送
[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (LIVE) 2018年4月12日 放送[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (LIVE) 2018年4月12日 放送
[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (LIVE) 2018年4月12日 放送
 
Pokémon GOとGCP
Pokémon GOとGCPPokémon GOとGCP
Pokémon GOとGCP
 
BigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用するBigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用する
 
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみたSQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
 
Azure Lab Services.pdf
Azure Lab Services.pdfAzure Lab Services.pdf
Azure Lab Services.pdf
 
Developer summit 2015 gcp
Developer summit 2015   gcpDeveloper summit 2015   gcp
Developer summit 2015 gcp
 
[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (e-Learning) 2018年4月19日 放送
[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (e-Learning) 2018年4月19日 放送[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (e-Learning) 2018年4月19日 放送
[Cloud OnAir] ビジネスを変革する!クラウドを活用したデータ分析基盤の第一歩 (e-Learning) 2018年4月19日 放送
 
Google bigquery導入記
Google bigquery導入記Google bigquery導入記
Google bigquery導入記
 
[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送
[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送
[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送
 
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんかBigQueryの課金、節約しませんか
BigQueryの課金、節約しませんか
 
[Cloud OnAir] Config Connector の特徴と、 Anthos Config Management を 組み合わせた、 構成管理の...
[Cloud OnAir] Config Connector の特徴と、 Anthos Config Management を 組み合わせた、 構成管理の...[Cloud OnAir] Config Connector の特徴と、 Anthos Config Management を 組み合わせた、 構成管理の...
[Cloud OnAir] Config Connector の特徴と、 Anthos Config Management を 組み合わせた、 構成管理の...
 
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
 
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
 

Similar to BigQuery ハンズオン

[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送Google Cloud Platform - Japan
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出Google Cloud Platform - Japan
 
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送Google Cloud Platform - Japan
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...NTT DATA Technology & Innovation
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編Takekazu Omi
 
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...Google Cloud Platform - Japan
 
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama Insight Technology, Inc.
 
AWS運用管理のベストプラクティス hinemosクラウド管理オプションのご紹介
AWS運用管理のベストプラクティス hinemosクラウド管理オプションのご紹介AWS運用管理のベストプラクティス hinemosクラウド管理オプションのご紹介
AWS運用管理のベストプラクティス hinemosクラウド管理オプションのご紹介Hinemos
 
No-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現するNo-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現するKiyoshi Fukuda
 
Managed Instance チートシート
Managed Instance チートシートManaged Instance チートシート
Managed Instance チートシートMasayuki Ozawa
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf勇 黒沢
 
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューションオープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューションTetsurou Yano
 
AzureとDatadogとこれからのモニタリング - Next Gen Monitoring with Azure and Datadog 20180922
AzureとDatadogとこれからのモニタリング - Next Gen Monitoring with Azure and Datadog 20180922AzureとDatadogとこれからのモニタリング - Next Gen Monitoring with Azure and Datadog 20180922
AzureとDatadogとこれからのモニタリング - Next Gen Monitoring with Azure and Datadog 20180922Masahiro Hattori
 
クラウド & STAR-CCM+ を活用するための勘ドコロ
クラウド & STAR-CCM+ を活用するための勘ドコロクラウド & STAR-CCM+ を活用するための勘ドコロ
クラウド & STAR-CCM+ を活用するための勘ドコロRescale Japan株式会社
 
【RDS】Cloud SQL をまとめてみる
【RDS】Cloud SQL をまとめてみる【RDS】Cloud SQL をまとめてみる
【RDS】Cloud SQL をまとめてみるYuya Ohara
 
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料yoyamasaki
 
Asahikawa_Ict 20120726
Asahikawa_Ict 20120726Asahikawa_Ict 20120726
Asahikawa_Ict 20120726kspro
 
Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用QlikPresalesJapan
 

Similar to BigQuery ハンズオン (20)

[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
 
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
 
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
 
G gencorp
G gencorpG gencorp
G gencorp
 
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
A13 MySQL & NoSQL~Best of both world~ by Philip Antoniades & Ryusuke Kajiyama
 
AWS運用管理のベストプラクティス hinemosクラウド管理オプションのご紹介
AWS運用管理のベストプラクティス hinemosクラウド管理オプションのご紹介AWS運用管理のベストプラクティス hinemosクラウド管理オプションのご紹介
AWS運用管理のベストプラクティス hinemosクラウド管理オプションのご紹介
 
No-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現するNo-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現する
 
No-Ops で大量データ処理基盤
No-Ops で大量データ処理基盤No-Ops で大量データ処理基盤
No-Ops で大量データ処理基盤
 
Managed Instance チートシート
Managed Instance チートシートManaged Instance チートシート
Managed Instance チートシート
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
 
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューションオープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
 
AzureとDatadogとこれからのモニタリング - Next Gen Monitoring with Azure and Datadog 20180922
AzureとDatadogとこれからのモニタリング - Next Gen Monitoring with Azure and Datadog 20180922AzureとDatadogとこれからのモニタリング - Next Gen Monitoring with Azure and Datadog 20180922
AzureとDatadogとこれからのモニタリング - Next Gen Monitoring with Azure and Datadog 20180922
 
クラウド & STAR-CCM+ を活用するための勘ドコロ
クラウド & STAR-CCM+ を活用するための勘ドコロクラウド & STAR-CCM+ を活用するための勘ドコロ
クラウド & STAR-CCM+ を活用するための勘ドコロ
 
【RDS】Cloud SQL をまとめてみる
【RDS】Cloud SQL をまとめてみる【RDS】Cloud SQL をまとめてみる
【RDS】Cloud SQL をまとめてみる
 
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
 
Asahikawa_Ict 20120726
Asahikawa_Ict 20120726Asahikawa_Ict 20120726
Asahikawa_Ict 20120726
 
Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用
 

BigQuery ハンズオン

Editor's Notes

  1. まずは自己紹介をさせていただきます。 名前はなかむらと申します。 元々は某小売系のインフラとシステム運用のエンジニアをしておりました。 そこでBigQueryと出会って、どっぷりやっていたら、Google Developers Expertsというエバンジェリストのような活動をさせて頂いております。 あとはGCPUGやbq_sushiというようなユーザーコミュニティでイベントの企画や登壇なども行っております。
  2. 今日のアジェンダについてですが、まずはBigQueryの裏側を少しお話しさせていただきます。 これは知らなければ使えないということではありません。逆に知らなくても十分使えます。 ただし、知っておいた方がよりBigQueryの長所をうまく使うことが出来るかもしれません。 その後にハンズオンを行います。
  3. まずはBigQueryの仕組みについて、この後お話します。 お話しする内容については、ほぼこのURLに記載があるものとなります。 12のコンポーネントということですが、先程のアジェンダにも記載しましたが、今回は重要と思われる6つのみを抜粋してお話します。 これは読んでいただくと様々な単語に様々なリンクが貼られており、より深い内容に飛ぶことが出来、どんどん技術の沼にハマっていきます。 もしお時間があればご一読いただければと思います。 また、BigQueryを構成するGoogleの技術で重要なものが4つあります。 覚えていただく必要はありませんが、今後GCP系の違うサービスを使うことがある場合でもDremelを除いてよく出てくる単語です。 つまり、DremelはBigQueryのみで利用していますが、その他の技術は他のサービスでも共通して利用されています。後ほど説明します。
  4. サーバレス・サービスモデルについて。 そもそもBigQueryはサーバということを気にする必要はありません。ハードウェアや機能アップデートの管理はすべてGoogleで行われています。 よくあるのが、他の同様なビッグデータを扱うサービス(よく比較されるのがRedShiftなど)はVMやCPU、メモリ、ディスクサイズ、レプリケーション、シャーディングの設計などなど色んなことを考える必要があります。 しかし、BigQueryはそれは必要としません。利用者はデータを入れることと、抽出することだけを考えればいいのです。 また、クエリを実行した瞬間に数秒で数十万コアが勝手に利用されています。スケールアウトなども気にする必要はありません。
  5. 独自のストレージエンジン。 ColossusというGFSの後継のストレージエンジンを利用しています。 これはデータセンター規模で一つのファイルシステムとして認識しています。同じインフラの上にGmailやDocs、YoutubeなどGoogleのサービスで共通のものが使われています。 また、自動的に同じデータを3箇所のデータセンターにレプリケーションし、安全にデータが保管されます。 データのシャーディングや暗号化もこのColossusというシステムが行います。 CapacitorはBigQueryはカラムナーデータベースです。そのフォーマットを行い、データを最適化します。 また、テーブルパーティショニングなどもここで管理されます。 Poseidonは様々なファイルフォーマットへの対応や、クエリとインポート/エクスポートを分離します。 ここで重要なのはこれらの機能がすべて別々で動いているということです。 普通のコンピュータだとどうでしょうか?暗号化やシャーディング、カラムナーフォーマットへの変更、データのインポート/エクスポートはCPUやDiskI/Oなど様々なリソースが使われます。 そのリソースを利用している間は他の機能が遅延したりするものです。そういうことも気にしなくて良いですし、そこに課金は発生しません。 課金については後ほど説明します。
  6. Dremelは元々はGoogle社内で利用されていたクエリエンジンです。 2015年にアップデートされ、Standard-SQLやDMLにも対応しました。DMLについては制限があります。 主にシャッフルやクエリのオプティマイズ、データの抽出を行っています。 各ノードに対してDremelのコンテナが配られるのですが、これはBorgで管理されています。つまり、使うときだけ起動して、処理が終わればそのプロセスは終了します。 ちなみにBigQueryでは1ユーザあたり2000スロットというものが割り当てられています。このコンテナ上で動いているプロセス数の合計のことだと思われます。 詳細は公開されていません。上限があるのに公開されていないというのが難点ではありますが、実のところこのプロセスの性能は常に向上されているので、その時のスナップショットでお話してもすぐに陳腐化してしまうとのことです。 ストレージのところでは3箇所に保存されていると言いましたが、クエリ自体もその3箇所に対して実行されます。 そして、一番速く結果が返ってきたものを採用します。つまり、どこかのデータセンターでアクセスが急増してパフォーマンスが落ちたり(実際にはあまりそういうことは無いですが)、クエリ実行中にコンピュータノードが壊れて返事が返ってこなかったりしても、大丈夫なようになっています。
  7. そして、これらのストレージとクエリはGoogleが開発したネットワークで接続されています。 TCP/IPなどの一般的なネットワークのプロトコルではなく、独自のものらしいです。(なんとなくUDPに近いとは言っていましたが。。。。) この高速なネットワークこそが、BigQueryの速さの秘訣の1つであるともいえます。 本当に謎技術なので、簡単ですが、これで。
  8. 課金についてですが、クエリ課金とストレージ課金の2つがあります。 クエリ課金はクエリで参照したデータ容量について課金が発生します。 後ほどハンズオンにて説明しますが、BigQueryのデータ抽出はクエリに書かれた列すべてをスキャンします。 つまり、一般的なRDBMSや他のデータソリューションのようにwhere句のところでIndexを効かせて範囲を狭めてから、データを取ってくるというようなことはしません。 必ずフルスキャンとなり、そのデータに課金が発生します。これを忘れないでください。 もし、そういうものを気にせずに使いたい場合はFlat-Rateと言って、月額固定料金でクエリ投げ放題のプランもあります。 ストレージ課金については、BigQueryに保持しているデータ容量によって課金されます。 そして、テーブルのデータが変わらない場合、つまりInsertやUpdate、Deleteを行わずにテーブルのデータが固定されて90日間を経過すると半額になります。 余談ですが、なぜ90日後に半額になるのかというところですが、どうやらそれまでに実行されたクエリやデータ操作などをみて常にデータの最適化がされているようです。 これが落ち着くのが90日ということらしいです。
  9. 最後にアクセス権のところです。 BigQuery全体に対してはCloud IAMの権限と連携することが出来ます。 そこからDataset(テーブル群をまとめる単位)単位での権限付けも可能です。 認証方式はO-Authとサービスアカウントの2種類があります。 そして、全ての操作をStackDriverの監査ログとして残すことができ、それをBigQueryに保存することも出来ます。 内部統制などの操作に対する証跡として利用することが出来ます。
  10. 最後にアクセス権のところです。 BigQuery全体に対してはCloud IAMの権限と連携することが出来ます。 そこからDataset(テーブル群をまとめる単位)単位での権限付けも可能です。 認証方式はO-Authとサービスアカウントの2種類があります。 そして、全ての操作をStackDriverの監査ログとして残すことができ、それをBigQueryに保存することも出来ます。 内部統制などの操作に対する証跡として利用することが出来ます。
  11. それではまずは基本的なハンズオンをやっていきたいと思います。 このリンクのURLをベースに行っていきます。