Google Cloud
Cloud OnAir 番組レポート : BigQuery の仕組みからベストプラクティスまでのご紹介
2018年9月12日
Google Cloud Japan Team
今回は、「BigQuery の仕組みからベストプラクティスまでのご紹介」と題して、Google BigQuery の仕組みとその使い方をご紹介します。データ分析基盤としての活用が進む BigQuery を深掘りしていきます。
BigQuery とは
サーバーレスでスケーラビリティに優れたエンタープライズ向けデータ ウェアハウスである BigQuery。2006 年に論文発表した Dremel という Google 社内向けのサービスを起源としています。Dremel は社内にある大量のデータリソースを扱う基盤となっており、番組では、その開発の経緯にも触れながら、BigQuery が提供する機能やその特徴を解説します。BigQuery の仕組み
スケーラブルで巨大な分散データストレージと大規模かつ高可用な並列 SQL エンジンから構成される BiqQuery。その大きな特徴の 1 つがカラム指向ストレージです。カラム指向のストレージでは、各列が個別に圧縮された暗号化ファイルに保存されるため、リレーショナル・データベースのようなインデック、キー、パーティションの仕組みが不要になります。BiqQuery を構成する上記 2 つの要素は分離しており、お互いが高速なネットワークで接続されています。全体として柔軟性に富み、スケーラブルで高速な処理を実現することができるアーキテクチャとなっています。
番組では、クエリの実行の仕組み、データの概念構造を解説し、BigQuery のユーザインタフェース、コマンドライン、API についても簡単に紹介します。
BigQuery & Data ベストプラクティス
BigQuery を使いこなすためのヒントを紹介します。1) データの取り込みの手法、制約
BigQuery にデータを取り込むベストプラクティスです。どのようなデータソースから取り込むことが可能なのか、取り込み方の基本的なパターン(Data Loading と Streaming Insert)、さらに大規模データの取り込みの注意点を解説します。データの取り込みを素早く行うためのヒントを学びましょう。
2) マスタデータの更新
マスターデータ更新のベストプラクティスを紹介します。手法としては3つの選択肢があります。 BigQuery のテーブルをdelete して再度ロード、Data Loading を利用して追加する、DML で更新する方法です。
3) 外部データソースの解析
BigQuery 自身のストレージではない場所に格納されたデータをクエリできる機能です。実行速度はネイティブ実行よりも遅くなりますが、Google Cloud Storage、Google ドライブなどを対象ソースとしているので用途も幅広く、便利な機能です。
4) パフォーマンスの最適化
クエリの実行を高速化するヒントを解説します。カラム指向という特長を活かしたクエリを行う、データを非正規化する、キャッシュの利用、中間テーブルを作成するといったことで、最適なパフォーマンスでのデータ分析が可能となります。
Enterprise Data Warehouse としての BigQuery
最後に、Google Cloud Next '18 で発表になった BigQuery の機能拡張についてご紹介します。- カラムベースパーティショニング
- クラスタリング
- ユーザが管理するキーでの暗号化
- 列や行レベルでのセキュリティ(デモも交えて)
番組で説明した資料はこちらで公開しています。
Cloud OnAir では、各回 Google Cloud のエンジニアがトピックを設け、Google Cloud の最新情報を解説しています。過去の番組、説明資料、さらには視聴者からの質問と回答はこちらよりご覧いただけます。 最新の情報を得るためにもまずはご登録をお願いします。