Tracks
私がビッグデータに触れ始めたのは10年以上前、アドテク分野のソフトウェアエンジニアとして働いていた頃です。当時、データセットは急速に肥大化し、それは大きなチャンスである一方で課題でもありました。基本的ながら重要なレポーティングのためのクエリが、突然何時間もかかるようになったのです。
その対応として、2013年からBigQueryのようなカラム指向データベースを使い始めました。クラウドベースであるため、分析処理を高性能かつコスト効率よく実行でき、必要に応じてリソースをスケールさせることができました。ここ数年は、ホームグッズ製品の急成長するカタログと増大する分析ニーズに対応するため、10PB超のBigQueryデータウェアハウスを構築するデータエンジニアの大規模チームを率いてきました。
現在はDataCampのCTOとして、まさにこうしたスキル(ほか多数)を学び実践できるよう、さまざまなエンジニアリングおよびコンテンツチームを率いています。BigQueryのようなクラウドデータウェアハウスは、多くのワークフローをはるかに効率化できると確信しています。そこで本チュートリアルでは、私の経験を皆さんと共有したいと思います。
このガイドでは、BigQueryとは何か、その仕組み、そして従来型データウェアハウスとの違いを学びます。さらに、実践例としてGoogleトレンドにクエリを実行し、人気トピックを調べる方法を通じて、Googleが提供する公開データセットにBigQueryコンソールからクエリする方法を学びます。
TL;DR
- BigQueryはGoogle Cloudのフルマネージド型サーバーレス・データウェアハウスで、標準SQLを使ってペタバイト級のデータにクエリを実行できます
- ストレージとコンピュートが分離されており、インフラ管理なしでそれぞれを独立してスケール可能です
- 無料サンドボックスではクレジットカード不要で、月あたり1 TiBのクエリと公開データセットへのアクセスが可能です
- BigQueryは分析(OLAP)向けに最適化されたカラム型ストレージを採用しており、行指向のOLTPデータベースとは異なります
- BigQuery MLにより、SQLだけで倉庫内で直接機械学習モデルの構築・デプロイが可能です
BigQueryとは?
BigQueryは、Googleが開発したフルマネージド型サーバーレス・データウェアハウスで、大規模なデータの保存と分析を目的としています。組織は、インフラを管理することなく、SQLを使ってペタバイト級のデータに対して分析クエリを実行できます。
BigQueryには、Google Cloud コンソール、bqコマンドラインツール、あるいはPython、Java、Go、Node.js、C#、PHP、Ruby向けのクライアントライブラリからアクセスできます。
BigQueryには機械学習機能(BigQuery ML)も組み込まれており、倉庫内でSQLを使って直接MLモデルを作成・実行できます。Vertex AIや他のフレームワークで学習済みのモデルをインポートすることも可能です。
本チュートリアルは、BigQueryを使い始めるデータアナリスト、データエンジニア、データウェアハウス管理者向けです。さらに深く学びたい場合は、クエリ最適化や高度なワークフローを扱うIntroduction to BigQuery コースをご覧ください。BigQueryサンドボックスのガイドやGCPデータウェアハウスの完全チュートリアルも併せて参考にできます。
従来型 vs クラウド・データウェアハウス
従来型のデータウェアハウスはオンプレミスに展開され、通常は高額な初期コスト、運用管理に長けたチーム、そして従来のデータセンターにおける硬直的なリソーススケーリングに起因する需要増への入念な計画が必要です。
一方、クラウド・データウェアハウスはクラウドサービスプロバイダーによって管理・ホスティングされます。例として、Google BigQuery、Amazon Redshift、Snowflakeがあります。
クラウド・データウェアハウスの利点
一般に、クラウド・データウェアハウスには従来型に比べて次のような利点があります。
- クラウド環境の柔軟性を活かし、スケールを前提として設計されている
- 速度とパフォーマンスが向上している
- 柔軟な料金体系とクラウド環境によりコスト最適化が可能(需要が低い時にスケールダウンするなど)
- 全面的または部分的にマネージドで、運用コストを削減できる
行指向 vs 列指向データベース
行指向データベースの例:

列指向データベースの例:

行指向データベースは、行全体のルックアップ、レコードの挿入、更新といった操作に適していますが、分析ワークロードは不得手です。
たとえば、50列のテーブルから3列だけを取得する場合でも、行指向データベースは各行について50列すべてを読み込みます。列指向データベースであれば必要な3列だけを読み込むため、製品の需要予測やアドホックなレポーティングなどの分析ではるかに高速です。
行指向データベースは一般にオンライン・トランザクション処理(OLTP)に適し、列指向データベースはオンライン分析処理(OLAP)に適しています。
OLTPとOLAP
- OLTPはトランザクション指向アプリケーションで用いられるデータベースシステムの一種です。「オンライン」とは、ユーザーの要求にリアルタイムで応答し処理する(すなわちトランザクションを処理する)ことが期待されることを意味します。
- これに対してオンライン分析処理(OLAP)は、データ分析に焦点を当てます。
比較のまとめ:
|
行指向データベース |
列指向データベース |
||||||
|
ストレージ |
行単位 |
列単位 |
|||||
|
データ取得 |
レコード全体 |
関連する列 |
|||||
|
典型的な用途 |
OLTP |
OLAP |
|||||
|
高速な操作 |
挿入、更新、ルックアップ |
レポート用途のクエリ |
|||||
|
データのロード |
通常は1レコードずつ |
通常はバッチで |
|||||
|
代表的な選択肢 |
Postgres、MySQL、Oracle、Microsoft SQL Server |
Snowflake、Google BigQuery、Amazon Redshift |
|||||
BigQueryの仕組み
BigQueryはコンピュートエンジンとストレージを分離しており、それぞれを独立してスケールできます。結果として、テラバイト級のデータを数秒で、ペタバイト級のデータを数分でクエリできます。
BigQueryがクエリを実行すると、クエリエンジンが処理を並列に分散し、ストレージ内の該当テーブルをスキャンして結果をマージし、最終的なデータセットを返します。

2026年時点のBigQuery主要機能
BigQueryの登場以降、Googleは従来のデータウェアハウスの枠を超える多くの機能を追加してきました。
- BigQuery ML — SQLで機械学習モデルを構築・学習・デプロイ。線形回帰、分類、時系列予測などをサポート。
- Gemini in BigQuery — 自然言語でのクエリ作成支援、スキーマ理解、インサイト生成を支援するAIアシスタンス。
- BigQuery Studio — BigQueryコンソール内でSQL、Pythonノートブック、Sparkを統合したワークスペース。
- フェデレーション クエリ — データをBigQueryに移動せずに、Cloud SQL、Cloud Storage、Bigtableなどのデータに対してクエリ。
- BigQuery Omni — Google Cloudにコピーせずに、AWSやAzureに保存されたデータ上でBigQueryの分析を実行。
BigQueryの始め方
BigQueryサンドボックスを使えば、クレジットカードや請求アカウントを用意しなくてもBigQueryを試せます。ここでは、サンドボックスを使ってBigQueryへアクセスし、最初のプロジェクトを設定する手順を説明します。
BigQueryにはGoogle Cloud Consoleからアクセスできます。Googleアカウントでログイン(または作成)してください。ログインすると、ウェルカム画面が表示されます。

左側のメニューにBigQueryがあります。クリックすると次の画面に移動します。

BigQueryサンドボックスの利用
BigQueryサンドボックスを利用するには、まず「Select Project」をクリックしてプロジェクトを作成します。

続いて「New Project」をクリックします。

プロジェクト名を指定します。このガイドではdatacamp-guide-projectを使用します。

BigQueryのページにサンドボックスに関する案内が表示され、BigQueryサンドボックスが有効になったことを確認できます。

サンドボックスが有効になったら、新しいプロジェクトでデータの読み込みやクエリができるほか、Googleの公開データセットにもクエリできます。
データセットとテーブルの作成
テーブルを作成する前に、新しいプロジェクトにデータセットを作成する必要があります。データセットは、テーブルやビューの集合を整理しアクセス制御するための最上位コンテナです。作成するには、プロジェクトの「Actions」アイコンをクリックします。

このガイドでは「Dataset ID」に「main」と入力します。

テーブルはSQLで作成できます。BigQueryはANSI準拠のGoogleSQLを使用します。
CREATE TABLE datacamp-guide-project.main.users (
id INT64 NOT NULL,
first_name STRING NOT NULL,
middle_name STRING,
last_name STRING NOT NULL,
active_account BOOL NOT NULL
);
BigQueryコンソールのインターフェースから作成することも可能です。

注意:サンドボックス環境ではデータの挿入はできません。挿入を試す場合は無料トライアルを有効化してください。次のセクションでは、Google Cloudの一部として提供される公開データセットへのクエリに焦点を当てます。
BigQueryコンソールで公開データセットにクエリする
公開データセットにクエリするには、以下の手順に従ってください。
1. Explorerの横にある「Add」をクリックします。

2. データセットを選択します。

3. 「Google Trends」を検索し、Google Trendsを選択して「View dataset」ボタンをクリックします。

4. bigquery-public-dataに、多数のデータセットが一覧表示されます。bigquery-public-dataにスターを付け、Explorerで常に表示されるようにします。

Googleトレンド・データセットを使った実践例
ここではtop_termsテーブルを使用します。

top_termsテーブルをクリックして開き、DetailsとPreviewタブを確認してtop_termsのデータについて理解を深めましょう。


次の例のように、直近2週間で1位にランクインした用語を取得するクエリを実行できます。
SELECT
term
FROM
bigquery-public-data.google_trends.top_terms
WHERE
rank = 1
AND refresh_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 2 WEEK)
GROUP BY
term
結果(内容は変動します):

BigQueryの料金
BigQueryの料金は大きく2つの要素で構成されます。コンピュート(クエリ処理)とストレージです。
| コンポーネント | 無料枠 | 有料料金 |
|---|---|---|
| オンデマンドクエリ | 月あたり1 TiB | TiBあたり$6.25 |
| ストレージ(アクティブ) | 10 GiB | GiB/月あたり$0.02 |
| ストレージ(長期) | 10 GiB | GiB/月あたり$0.01 |
| ストリーミング挿入 | N/A | 200 MBあたり$0.05 |
ワークロードが予測可能なチーム向けに、BigQueryはキャパシティ予約(BigQuery Editions)による定額課金も提供しています。最新の料金は公式の料金ページを確認してください。
まとめ
BigQueryは、クラウド・データウェアハウスへの最もアクセスしやすい入り口の一つです。サンドボックスによりリスクなく試せ、月1 TiBの無料クエリ枠で公開データセットをコストゼロで探索できます。さらに必要になった場合は、Google Cloudの無料トライアルで$300分のクレジットが提供されます。
ここで学んだ内容をさらに発展させたい場合は、DataCampのIntroduction to BigQueryコースがおすすめです。クエリ最適化や大規模データセットの扱いを取り上げています。より広いデータエンジニアリングの観点では、Data Engineer in Pythonトラックで、データの取り込みからウェアハウジングまでの全体像を学べます。
また、BigQueryとRedshiftの比較、BigQueryとSnowflakeの比較、面接対策としてBigQueryの面接質問ガイドも参考にしてください。