Skip to main content

Google BigQuery のパフォーマンスを最適化する

学習の目的

この単元を完了すると、次のことができるようになります。

  • Google BigQuery とは何かを説明する。
  • BigQuery でデータストレージとクエリを最適化するためのベストプラクティスを説明する。
  • Tableau と Google BigQuery を機械学習 (ML) と連携させてビジネス予測を行う方法を説明する。

ビッグデータの保存の課題を理解する

前の単元では、Tableau を使用したデータクエリの最適化について学習しました。ここで一歩下がってみましょう。そもそもビッグデータをどのように保存していますか? 複数のソースからのデータを統合して保存し、そのデータを分析用に提供するデータウェアハウスは、ビジネスのデータストレージの一般的なソリューションとなっています。 

次の質問です。使用しているストレージソリューションは、ビッグデータ分析用に最適化されていますか? ここでさらに多くの課題が出てきます。

  • ビッグデータ用のデータウェアハウスを設計、構築、保守、拡張することは非常に難しい。
  • 一般的なデータウェアハウスは、規模が拡大するとたちまち費用が高くなる。
  • 高可用性が必要な場合は、より一層高額になる。
  • 一部のデータウェアハウスは並列クエリにうまく対応できない。

Google BigQuery を使用してビッグデータの課題を解決する

Google Cloud のロゴが窓に掲示されているカンファレンス用のビルこれらは、Google BigQuery で対応できる基本的な課題の一部です。Google BigQuery は、Google Cloud 製品スイートに含まれるクラウドデータウェアハウスであり、コストを低く抑えつつ拡張できるように設計されています。大規模な構造化データセットと半構造化データセットに対して構造化照会言語 (SQL) クエリを実行するために最適化されています。次のようなユースケースがあります。

  • アドホック分析
  • Web のログ
  • マシン/サーバーのログ
  • モノのインターネット (IoT) のデータセット
  • E コマースの顧客の行動
  • モバイルアプリケーションのデータ
  • 小売分析
  • ゲームのテレメトリー
  • Google Analytics Premium データ
  • 標準のリレーショナルデータベース管理システム照会には大きすぎるデータセット

Tableau と同様に、分析用にストレージを最適化し、投資を最大限に活用するために BigQuery で使用できる一連のベストプラクティスがあります。

BigQuery の最適化手法を知る

ベストプラクティス 手法
ネイティブテーブルに依存する。
BigQuery では、反復クエリを使用する、またはデータを取得するためにソースを参照して繰り返すことで最適化します。フェデレーションテーブル (外部テーブルまたはリモートテーブルを表すローカルテーブルを作成する) の使用を避け、代わりにクエリ API を使用します。これにより、Tableau を使用して BigQuery に対してクエリを実行するときに高いパフォーマンスが保証されます。
データセットを非正規化する。
個々のテーブルを取得して結合するとき、または類似または重複するフィールドに基づいてコピーを作成するときに、データを非正規化します。非正規化によりデータクエリのパフォーマンスが向上します。フィールドを繰り返してネストし、そのプロセスでストレージのニーズが増大することを意味しますが、この負担よりも BigQuery の非正規化で得られる高いパフォーマンスの方が上回ります。
可能な場合は、テーブルを日付でシャード化する。
シャード化 (シャーディング) とは、テーブルをより小さなパーティションに分割する行為を指します。これは、ログデータなど、日付によるパーティションをサポートするデータや、頻繁にタイムスタンプが付けられるデータを使用している場合に特に便利です。データ構造が簡素化され、クエリを日付で絞り込むことができます。

シャード化されたデータをクエリする場合、Tableau ではカスタム SQL を使用します。

データと分析を最適化すると、次のようなことが起こります。マネージャーは、情報に基づきビジネスについてより適切な意思決定を迅速に行うことができます。自分が影響を与えていることと、注力すべき部分を把握することで、どの役職でも業務を改善できます。 

BigQuery と Tableau では、機械学習 (ML) を活用して分析をさらに進化させることができます。

Tableau を使用して Google BigQuery ML の結果を視覚化する

機械学習 (ML) とは、コンピューターの学習モデルをコーディングし、数千から数百万のデータポイントを学習モデルに供給する開発手法を指します。モデルは、情報について学習した後、そのデータに基づいて予測を行うことができます。

ML は、バイラル動画で有名人の顔を入れ替えたり、自然言語処理と連動してスピーチを作成したりすることで有名です。企業は多数の便利な機能に ML を活用できます。

  • 不動産価格を予測する
  • 小売サイトで商品をおすすめする。
  • 世界中の貧困地域の資源需要を予測する。
  • 売上目標やビジネス目標についてアドバイスする。

BigQuery ML をデータに統合して、ビジネス上の意思決定に役立つモデルをトレーニングできます。次に、Tableau を使用して結果を視覚化します。

この場合、できる限り Tableau のネイティブコネクタを使用してください。そうすることで、前の単元で説明したようにパフォーマンスが最適化されます。ただし、必要であれば、いつでもカスタム SQL を使用できます。

すべてのユーザーの役に立つデータ分析

データと分析を掘り下げていくと、質問が生じるかもしれません。好奇心旺盛なのは良いことです。さらに良いのは、手元のデータでそうした質問に答えることができることです。紹介したベストプラクティスを使用して、社内の誰もが恩恵を受けることができる豊富な分析環境を構築してください。

リソース

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる