<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=445779107733115&amp;ev=PageView&amp;noscript=1">

BigQueryの外部データソース機能を活用した
データ分析基盤の構築方法をご紹介!

 2022.07.20  株式会社電算システム

Google Cloud(以下、GCP) のデータウェアハウスサービスであるBigQueryには、毎回データソースからデータを転送してくることなく、直接BigQueryの外部に保存されたデータに対してクエリを実行する標準機能が搭載されています。この機能を利用することで、複雑なETL(データパイプライン)を構築することなく、複数のシステムに散在するデータを収集・蓄積し、データ分析やデータの利活用を進めることが可能です。本稿では、その機能を利用したデータ分析基盤の構築方法をご紹介します。

BigQuery を中心としたデータ分析基盤の構築方法

本稿でご紹介する構成では、主に下記のサービスを利用しています。用途も合わせて簡潔に記載します。

  • Google Cloud SQL
    • データソース
  • Google BigQuery
    • データ蓄積・データの加工
  • Google データポータル
    • データの可視化・分析

通常データ分析基盤を構築する際の要素としては、ETLツール、データレイク、データマート、BIツール、ワークフロー管理ツール…と、数多くのツールやサービスが存在しますが、本構成では、ETL(厳密にはELT)、データレイク、データマート、ワークフロー管理と、大半の部分をBigQueryの機能を利用し実現しています。BigQueryはデータ分析に特化したデータウェアハウスサービスとして既に名高いですが、このように分析だけでなく、その周りにも手が届く非常に利便性の高いサービスなのです。

GCP 技術コンサルティング
データ・ドリブン時代の歩き方

Cloud SQL のサービス概要

Cloud SQL はその名の通り、GCPのデータベースサービスです。Cloud SQLを利用することで、 Googleの信頼性の高い基盤の上でスケーラブルなデータベースを構築できる上、フェイルオーバーや Master-Slaveレプリケーションなど、担当者が自身の手で全て行うには面倒な運用管理を容易に実行できます。また、「ユーザーの管理」「データベースの管理」「定期バックアップ」などの操作は webコンソール上で実施できるため、管理工数の削減にも期待することができます。このようにCloud SQLは単にMySQLやPostgreSQLを提供するだけではなく、自社の業務効率化を実現するためのサービスであると言えます。さらにCloud SQLはフルマネージドのサービスであるため、通常ユーザー側に発生する、運用上での作業負担は一切ありません。サーバー障害時の対応をはじめとして、すべての管理・運用を Googleが担保してくれるため、優先度の高い業務に注力することが可能になります。

なお、Cloud SQLはいわゆる時間課金制の料金体系を取っているため、利用の用途に併せたスペックを選んでサービスを利用するなど、料金の管理には予め注意が必要となります。

BigQuery のサービス概要

本題である構成のご説明に入る前に、各サービスについて簡単に概要をご紹介します。

先にも述べた通りGoogle BigQueryはGCPのデータウェアハウスサービスであり、データの蓄積や処理に特化したサービスです。テラバイトやペタバイトのような非常に膨大なデータに対しても、SQLを利用して簡単に処理をすることが可能です。データウェアハウスはRDBと比べ、データ分析をする事を前提として構成されており、一般的に次のような違いが特徴として挙げられます。

  • データウェアハウスではデータを時系列順に保持しており、蓄積されたデータはどんどん溜まり続ける(自動では削除されることがない)こと

RDBではその目的に応じて、古いデータを自動的に削除したり、キャッシュしたり、というのが一般的ですが、データウェアハウスサービスはデータの蓄積が目的のため、全てのデータを保持し続けます。BigQueryも例に漏れず、あらゆるデータソースから収集してきたデータを蓄積し、必要に応じてデータに処理をする事を目的としたサービスです。

また、BigQueryは蓄積したデータに対して縦方向に向かって処理をしていく「列指向」という概念のもと設計されており、通常のシステム(業務システムやアプリケーションをイメージください)で利用されるようなRDB、あるいは競合他社クラウドのデータウェアハウスサービスと比較しても、データに対してより高速な処理を実現しています。

最後に、BigQueryを始めとしたGCPサービス群のいくつかは、先のCloud SQLとは違い、従量課金制という料金形態を取っています。目的に応じてデータの処理内容が多くも少なくも変化する「データ分析」という領域に関しては、この従量課金制がよくマッチしており、他のクラウドサービスと比べても、利用量に対して料金が安くなりやすいのも大きな特徴です。

Google Cloud
Google Cloud 事例

データポータルのサービス概要

Google データポータルは、Googleが提供する基本無料のBIツールです。本稿で併せて紹介したBigQueryやCloud SQLを始め、GoogleアナリティクスやGoogle広告などのデータも簡単に接続し、グラフや表の形で可視化することができます。本構成では使用していませんが、データポータルにもデータを統合する機能が存在し、テーブル結合に近い操作をGUI上で簡単に実施することができます。スケジュール管理を含めたメール配信機能や、レポート上のグラフや表を直接スプレッドシートにエクスポートする機能もあるため、可視化・分析したデータを他のチームや必要なメンバーに簡単に共有することができるサービスとなっています。

STEP1: BigQuery の外部テーブル機能を利用したデータ転送

BigQuery の外部テーブル機能を利用したデータ転送

ここまでご紹介してきましたサービスを組み合わせ、本構成では上の図のような設計・実装をしました。実装は主に3つのステップに分かれ、ここからは更に各ステップごとにポイントをご紹介致します。

はじめにSTEP1として、Cloud SQLからBigQueryへのデータロードを実装します。

BigQueryの画面左のエクスプローラパネルよりオプションのボタンをクリックし、「データを追加」→「外部データソース」の順に進むと、次の画像のように、画面右側に「外部データソース」というパネルが展開します。ここからデータソースのタイプを選び、必要な接続情報を入力することで、BigQueryからデータソースに直接接続し、SQLクエリを発行することが可能となります。

BigQueryの外部データソース機能を活用したデータ分析基盤の構築方法をご紹介!

BigQueryの外部データソース機能を活用したデータ分析基盤の構築方法をご紹介!-2

本稿の執筆時点では、Google CloudのCloud SQL(MySQL/PostgreSQL)、Cloud Spanner、BigLakeテーブル、更にはBigQuery Omniという拡張機能を利用して、AWSやAzureからデータを引っ張ってくることも可能です。

非常に便利な機能ですが、下記の2点には注意が必要となります。

  • データ処理に対するパフォーマンスは、BigQueryにデータを転送・保存した時と比べ、一般的に大きく落ちること(処理が遅くなること)
  • データ処理にかかる課金額について、外部テーブルへのクエリ発行の場合、BigQueryにデータを転送・保存した時と比べ、一般的高くなりがちな傾向にあること(SQLの内容に依存します)

STEP2: データポータルを利用した可視化・分析

ここまで来れば、目的のデータ分析に応じたデータが、既にBigQueryに用意されていることでしょう。データポータルからBigQueryへと接続し、任意のレポーティングを実施することが可能です。

本構成では分析用のテーブルをすべてBigQuery上に保存することを前提としていますが、データポータルの概要でも述べた通り、データポータルはデータソースとして直接Cloud SQLに接続し、データを表示することも可能です。対象のデータを加工せずそのまま可視化するような用途であれば、データポータル上の統合機能を利用して、SQLを使わずにデータを分析する、といったことも選択肢に入るでしょう。

まとめ

ここまでご紹介しました様に、GCPにはデータ分析基盤を構築するための様々なサービスが存在し、それらを組み合わせることで比較的容易にデータ分析基盤を構築することが可能です。しかしながら、全社を挙げてのデータ利活用など、規模が大きくなるに連れ、より複雑な仕組みや専門性の高い知識が必要とされて来ます。

DSKでは、企業が最も効率的に、素早く経営データをビジネスに活かせる様、データ分析基盤構築サービスを実施しています。

データ分析基盤構築サービスでは、弊社の誇るデータサイエンティスト・データエンジニア達がデータ分析における課題の設定、計画、データ収集、データの加工、集計、可視化まで一貫してサポート致します。

データ分析基盤のご導入をご検討の方は、無料相談を受け付けておりますので、是非一度DSKまでお問い合わせ下さい。


RELATED POST関連記事


RECENT POST「Google Cloud(GCP)」の最新記事


Google Cloud(GCP)

BigQueryとデータポータルで構築するSNS分析環境の構築方法をご紹介!

Google Cloud(GCP)

データパイプラインを構築してデータ分析の自動化や効率化を実現

Google Cloud(GCP)

データ分析基盤とは?必要性や構成要素を解説!

Google Cloud(GCP)

SnowflakeとBigQueryを比較、メリットと選定基準を解説

BigQueryの外部データソース機能を活用したデータ分析基盤の構築方法をご紹介!