前置き
- 自分用
- ここでは、
-
主にGoogleCloudサービスのデータ基盤に関する内容を記載するものとする
- 記載する単語は以下とする
- 全く分からない単語
- イメージはできても他者にはっきりと言語化して説明が難しいと感じた単語
- なんだっけ?となりやすい単語
- 各単語の説明/解説は生成AIで一括出力(LLM: Gemini-2.5-Pro)
- 随時加筆する
1. 一般的なデータ基盤の概念
特定の製品に依存しない、データ基盤に関する普遍的な概念や技術。
1-1. アーキテクチャ・全体構想
-
アーキテクチャ:
システム全体の構造設計。データ基盤においては、単なるサービスの組み合わせだけでなく、「データがどのように流れ(Data Flow)」、「どこでどのように処理され(Data Processing)」、「どう統制されるか(Data Governance)」といった、データライフサイクル全体を考慮した設計を指す。優れたアーキテクチャは、将来の拡張性、運用保守性、セキュリティを担保する。
-
データガバナンス:
データを組織の重要な資産として捉え、その価値を最大化するために、データの品質、セキュリティ、可用性、ライフサイクルなどを組織横断的に維持・管理していくための仕組みやプロセス。具体的には、「誰がどのデータにアクセスできるか」「このKPIの定義は何か」といったルール作りやメタデータ管理が含まれる。
-
関連するGoogle Cloudサービス:
Dataplex
, Data Catalog
-
OLTP (Online Transaction Processing):
「オンライントランザクション処理」。金融機関の勘定系システムやECサイトの受発注システムなど、多数のユーザーからの短時間で頻繁な更新処理(INSERT
, UPDATE
, DELETE
)を高速に行うことを目的としたシステム。データの整合性と高い即時応答性が最優先される。例:ATMでの入出金、商品の在庫更新など。
-
OLAP (Online Analytical Processing):
「オンライン分析処理」。DWHなどに蓄積された大量データに対し、複雑な集計や多角的な分析を対話的に行うことを目的としたシステム。大量データの高速な読み取りと集計に最適化されている。OLTPシステムからデータを抽出し、分析用に再構成して利用する。例:年度別の売上トレンド分析、地域別の顧客セグメント分析など。
-
データウェアハウス (DWH):
企業の意思決定を支援するために、様々な業務システムからデータを集約・整理・保管する目的特化型のデータベース。OLAPの用途に特化し、データは主題別に整理され、過去からの変更履歴を保持する形で時系列に蓄積される。
-
関連するGoogle Cloudサービス:
BigQuery
-
データマート:
DWHの中から、特定の部門や用途(例:営業部門向け、マーケティング分析用)に必要なデータだけを抽出・集計して構築される、小規模なDWH。利用者は自分に必要なデータだけにアクセスできるため、分析の応答性が向上し、理解しやすくなる。
-
データレイク:
あらゆる形式の生(Raw)データを、加工せずにそのままの形で一元的に保管する巨大なリポジトリ。将来どのような分析に使われるか未定のデータも、まず保管しておく「スキーマ・オン・リード」という思想に基づく。
-
関連するGoogle Cloudサービス:
Cloud Storage
-
Analytics Lakehouse:
データレイクの柔軟性とDWHの信頼性を両立させるアーキテクチャ。データレイク上のデータに対して、直接DWHのような高速なクエリ実行やトランザクション管理を実現し、データの二重管理を防ぎ、鮮度の高い分析を可能にする。
-
関連するGoogle Cloudサービス:
BigQuery
, BigLake
-
Spark:
インメモリ(メモリ上)での処理を基本とする大規模データ分散処理フレームワーク。Hadoop MapReduceがディスクベースの処理であるのに対し、Sparkはメモリ上で中間データを保持するため、より高速なデータ処理が可能。機械学習やストリーミング処理のライブラリも充実している。
1-2. データ構造とモデリング
-
構造化データ:
CSVやデータベースのテーブルのように、行と列によって構造が厳密に定義されているデータ。
-
半構造化データ:
JSONやXMLのように、構造定義がデータ自体に含まれており、ある程度の柔軟性を持つデータ。同じ列に異なる型のデータが入ることもある。
-
非構造化データ:
画像、動画、音声、テキスト文書など、決まった構造を持たないデータ。
-
スキーマ:
データベースにおけるデータの構造定義。テーブルを構成する各列(カラム)の名前、データ型、制約を定義したもの。データの一貫性を保つための設計図の役割を持つ。
-
スキーマオンライト:
データを書き込む(Write)時点で厳格なスキーマを適用する方式。DWHで採用され、データの一貫性と高いクエリ性能を保証する。
-
スキーマオンリード:
データを読み出す(Read)時点でスキーマを解釈・適用する方式。データレイクで採用され、多様な形式のデータを柔軟に受け入れられるが、読み出し側の処理が複雑になることがある。
-
スキーマドリフト:
データソース側の仕様変更などにより、データのスキーマ(構造)が時間とともに変化してしまうこと。データパイプラインの運用において、エラーの原因となりうるため検知と対応が必要。
-
スタースキーマ:
DWHで広く採用されるモデリング手法。中心に売上金額や数量といった**事実(ファクト)を格納する「ファクトテーブル」を配置し、その周囲に分析の切り口となる属性(ディメンション)**を格納する「ディメンションテーブル」を配置する。結合がシンプルで、BIツールでの集計や分析が高速に行える。
-
メタデータ:
「データのためのデータ」。データに関する付帯情報を指す。
-
ビジネスメタデータ: データのビジネス上の意味、定義、所有者、KPIの計算式など、利用者がデータを理解するために必要な情報。
-
テクニカルメタデータ: データの物理的な特性、スキーマ情報、データ系統(リネージ)、更新日時など、システムがデータを管理するために必要な情報。
-
テーブルメタデータ: テーブルに関するメタデータ。列名、データ型、説明、パーティション情報などが含まれる。
-
キュレートされたデータ:
生データをクレンジング、変換、検証し、ビジネスユーザーが直接分析できる状態に整備された、信頼性の高い高品質なデータのこと。「磨かれたデータ」とも呼ばれる。
1-3. データ処理とパイプライン
-
データパイプライン:
データの抽出、変換、ロード(書き込み)といった一連の処理を自動化したデータの流れ。
-
中間テーブル:
ELTプロセスにおいて、生データを最終的なテーブルに加工する過程で一時的に作成される作業用のテーブル。複雑なデータ変換を複数のステップに分割することで、処理の見通しを良くしたり、デバッグを容易にしたりする目的で利用される。
-
ETL (Extract, Transform, Load):
「抽出→変換→書き込み」の順で処理する伝統的な方式。DWHへのロード「前」に専用のETLサーバーで変換する。
-
ELT (Extract, Load, Transform):
「抽出→書き込み→変換」の順で処理するモダンな方式。DWHにロードした「後」に、その潤沢な計算能力で変換する。
-
CDC (Change Data Capture):
DBの変更差分のみをリアルタイムに検知・転送する技術。ソースDBへの負荷が低く、リアルタイム連携が可能。
-
関連するGoogle Cloudサービス:
Datastream
-
ストリーミング処理:
リアルタイムで発生し続けるデータを、即座に処理する方式。
-
関連するGoogle Cloudサービス:
Pub/Sub
, Dataflow
-
バッチ処理:
データを一定期間ためておき、まとめて一括で処理する方式。DWHの文脈では、主に夜間などに日次や月次のデータをまとめてロード・集計する処理を指す。
-
データクリーンルーム:
複数の組織が保有するデータを、各々のプライバシーを保護したまま、安全な環境で共同分析するための仕組み。生データ自体は共有せず、集計結果のみを共有することで機密性を保つ。
-
関連するGoogle Cloudサービス:
Analytics Hub
1-4. データベースとSQL
-
MPP (Massive Parallel Processing):
「超並列処理」アーキテクチャ。一つの巨大な処理を、多数の独立したノードに分散し、並列で処理する方式。分析系DWHの性能の根幹をなす技術。
-
クエリオプティマイザ:
実行されたSQLを解析し、最も効率的な実行計画(クエリプラン)を作成するデータベースの頭脳部分。カーナビが最適なルートを探索するように、テーブルの統計情報などを考慮して処理手順を決定する。
-
インデックス:
特定の列に対して作成される索引。本の索引のように、データの検索速度を向上させるが、DWHではフルスキャンが前提のため、用途は限定的。
-
ストアドプロシージャ:
一連のSQL処理をまとめてデータベースに保存し、繰り返し呼び出せるようにしたプログラム。
-
UDF (User Defined Function):
ユーザーが独自に定義して利用できる関数。
-
トランザクション:
関連する一連の処理を一つの不可分な処理単位として扱うための仕組み。一般的にACID特性(原子性、一貫性、独立性、永続性)を満たすことが求められる。
-
スナップショット分離:
トランザクション開始時点のデータ状態(スナップショット)を参照するため、他の処理中の変更の影響を受けずに一貫性のあるデータを読める仕組み。
-
DML (Data Manipulation Language):
INSERT
, UPDATE
, DELETE
, MERGE
など、データを操作するSQL文の総称。
1-5. データ分析とBI
-
ビジネスインテリジェンス (BI):
企業データを収集・分析・可視化し、意思決定に役立てる活動やツールの総称。
-
発展的な分析:
BIの範囲を超え、機械学習等を用いて「なぜ起きたか」「次に何が起きるか」といった深い洞察を得る分析手法。
-
アドホック分析:
事前に定義されていない、特定の仮説や疑問を検証するために都度行われる非定型的な分析。
-
定形分析:
日々や週次で数値を追いかける、決まった形式の分析。主にBIツールやダッシュボードを用いてKPIをモニタリングする。
-
ドリルダウン:
BIツールで集計データから、より詳細な階層のデータへと掘り下げて表示を切り替える操作。
-
Jupyter Notebook:
コード、実行結果、テキスト、可視化を一つのドキュメントにまとめられるWebアプリ。データサイエンティストが探索的分析に広く利用。
1-6. システム性能と可用性
用語 |
概要 |
オーバーヘッド |
本来の目的以外の付加的・間接的な処理やリソース消費。 |
I/O (Input/Output) |
コンピュータがストレージとの間でデータを読み書きする処理。 |
I/Oパフォーマンス |
単位時間あたりにどれくらいのデータを読み書きできるかの性能指標。 |
スループット |
単位時間あたりの処理量。システムの「処理能力の高さ」を示す。 |
レイテンシ |
要求から結果が返るまでの遅延時間。システムの「応答速度」を示す。 |
ベストエフォート |
結果を保証しないサービス形態。性能が状況により変動する可能性がある。 |
障害ドメイン |
ある障害が発生した際に影響が及ぶ範囲。 |
RTO (目標復旧時間) |
障害発生からシステムを復旧させるまでの目標時間。 |
RPO (目標復旧時点) |
障害発生時に、どの時点までのデータを保証するかの目標。 |
マネージドディザスターリカバリー |
クラウド事業者が管理・提供する障害復旧の仕組みやサービス。 |
1-7. 接続とフォーマット
用語 |
概要 |
Arvo |
行指向のデータフォーマット。スキーマ情報がデータ自体に含まれ、スキーマ変更に強い。 |
Parquet / ORC |
列指向のデータフォーマット。分析クエリに非常に効率的で、高い圧縮率を誇る。 |
CSV / JSON |
汎用的なテキストベースのデータフォーマット。 |
ODBC/JDBC ドライバ |
アプリケーションが様々なデータベースに接続するための標準規格(API)と、個別製品との「通訳」を担うソフトウェア。 |
ODBC/JDBC 接続 |
ODBC/JDBCドライバを介して、アプリケーションがデータベースとの接続を確立し、データを操作すること。 |
RPC (Remote Procedure Call) |
ネットワークで接続された別のコンピュータ上のプログラムを、あたかも自身のプログラム内にあるかのように呼び出す仕組み。 |
gRPC |
Googleが開発した高性能なRPCフレームワーク。 |
2. Google Cloud特有の概念とサービス
Google Cloud、特にBigQueryに関連する独自の用語やサービス。
2-1. BigQueryのアーキテクチャと基本概念
用語 |
概要 |
関連サービス |
マルチテナント方式 |
一つのシステムやリソースを、複数のユーザー(テナント)で共有して利用する方式。 |
BigQuery |
分散ストレージ |
データを複数の物理サーバーに分散して保存する仕組み。 |
BigQuery, Cloud Storage |
分散インメモリシャッフル |
クエリの中間データを多数のサーバーのメモリ上で高速に並べ替える技術。BigQueryの高速化の核の一つ。 |
BigQuery |
データセット |
BigQueryにおけるテーブルのグループ化(名前空間)。 |
BigQuery |
外部テーブル |
BigQuery内にデータをロードせず、Cloud Storageなど外部ソースのデータを直接クエリするテーブル。 |
BigQuery |
BigLakeテーブル |
Cloud Storageなどの外部データに対し、BigQuery同様のきめ細やかなアクセス制御やパフォーマンス最適化を提供するテーブル。 |
BigQuery, BigLake |
オブジェクトテーブル |
Cloud Storage上の非構造化データ(画像、音声など)をテーブルとして扱い、メタデータを参照したりリモート関数を適用したりできるテーブル。 |
BigQuery |
2-2. BigQueryの料金とリソース管理
用語 |
概要 |
関連サービス |
スロット |
BigQueryがクエリ実行に使う計算リソース(CPU、メモリ等)の単位。 |
BigQuery |
PAYG |
Pay-as-you-go。オンデマンド料金モデル。BigQueryでは、クエリによって処理されたデータ量に応じて課金される。 |
BigQuery |
予約(スロット予約) |
一定量のスロットを特定の期間購入することで、オンデマンド料金よりも割安に、かつ安定した性能でクエリを実行できるようにする契約形態。 |
BigQuery |
ベースライン |
予約したスロットのうち、常に確保される最低限のスロット数。 |
BigQuery |
最大予約サイズ |
予約スロットが自動的にスケールアップ(オートスケール)する際の上限値。 |
BigQuery |
論理バイト課金 |
データを圧縮する前の、元のデータサイズに基づいて課金されるストレージ料金方式。 |
BigQuery |
物理バイト課金 |
内部でデータが圧縮された後の、実際に使用している物理的なストレージサイズに基づいて課金されるストレージ料金方式。 |
BigQuery |
ワークロードマネジメント |
実行されるクエリ(ワークロード)が、利用可能なリソース(スロット)を効率的に使えるように管理・制御すること。 |
BigQuery |
フェアスケジュ-リング |
複数のプロジェクトでスロットを共有している場合、各プロジェクトが公平にスロットを利用できるように、動的にスロットを再配分する仕組み。 |
BigQuery |
キューイング |
利用可能なスロットが不足している場合に、実行要求されたクエリが順番待ちの列(キュー)に入って待機している状態。 |
BigQuery |
スロットレコメンダー |
過去のクエリ使用状況を分析し、最適なスロット予約量を提案してくれる機能。 |
BigQuery |
サイジング |
システムに必要なリソース(スロット数、ストレージ容量など)の量を見積もること。 |
BigQuery |
2-3. BigQueryのパフォーマンスと最適化
用語 |
概要 |
関連サービス |
パーティション分割 |
テーブルを特定の列(多くは日付)の値に基づいて、小さな区画に分割して保存する技術。性能向上とコスト削減に繋がる。 |
BigQuery |
カラムベースのパーティション分割 |
BigQueryにおけるパーティション分割のこと。列(カラム)の値に基づいてデータを分割する。 |
BigQuery |
クラスタ化 |
パーティション分割されたデータ内部で、さらに特定の列の値に基づいてデータを並べ替えて保存する技術。 |
BigQuery |
自動再クラスタリング機能 |
データの追加や更新によってクラスタ化されたデータの並び順が乱れた際に、BigQueryがバックグラウンドで自動的に並べ替えを最適化してくれる機能。 |
BigQuery |
マテリアライズドビュー |
よく使うクエリの結果を、あらかじめ計算して物理的なテーブルとして保存しておく機能。 |
BigQuery |
リフレッシュ |
マテリアライズドビューや、外部データソースを参照するテーブルの内容を、最新の状態に更新する処理。 |
BigQuery |
検索インデックス |
構造化されていないテキストデータや半構造化データの中から、特定の値を高速に検索するためのインデックス機能。 |
BigQuery |
SEARCH関数 |
検索インデックスを利用して、テーブル全体をスキャンすることなく、効率的に特定の文字列を検索するための関数。 |
BigQuery |
ALL COLUMNSオプション |
SEARCH 関数で、インデックスが作成されていない列も含めてテーブル全体を検索対象とするためのオプション。 |
BigQuery |
BigQuery BI Engine |
BIツールからBigQueryへのクエリを劇的に高速化するために設計された、インメモリ分析サービス。 |
BigQuery |
列指定方式 |
SELECT * のように全列を取得するのではなく、SELECT column_a, column_b のように、クエリに必要な列だけを明示的に指定するコーディングスタイル。BigQueryのような列指向ストレージでは、不要な列のI/Oを削減し、コストとパフォーマンスを最適化するための最も基本的なベストプラクティス。 |
BigQuery |
2-4. BigQueryのデータ保護とガバナンス
用語 |
概要 |
関連サービス |
タイムトラベル機能 |
テーブルに対して、過去(デフォルトで最大7日間)のある時点の状態のデータを、特別なバックアップなしで参照できる機能。 |
BigQuery |
スナップショットデコレータ |
タイムトラベル機能を利用するための古い構文。現在はFOR SYSTEM_TIME AS OF 句の使用が推奨されている。 |
BigQuery |
テーブルスナップショット |
ある特定の時点におけるテーブルの、読み取り専用のコピーを作成する機能。 |
BigQuery |
テーブルクローン |
ある時点のテーブルの書き込み可能なコピーを作成する機能。ストレージコストは変更された差分に対してのみ発生する。 |
BigQuery |
フェイルセーフストレージ |
タイムトラベル期間が過ぎた後も、さらに7日間、データを障害復旧目的で保持しておくためのストレージ領域。 |
BigQuery |
コピーオンライト方式 |
データのコピーを要求された際、すぐには物理的なコピーを作成せず、データに変更が加えられた時点で初めて、物理的なコピーが作成される効率的な技術。 |
BigQuery |
動的データマスキング |
クエリ実行時に、ユーザーのロールに基づいてリアルタイムでデータをマスキング(隠蔽)する機能。機密データを保護しながら分析を許可できる。 |
BigQuery |
クロスリージョンデータセットレプリケーション |
あるリージョンのデータセットを、別のリージョンに自動的に複製する機能。大規模災害対策に利用される。 |
BigQuery |
2-5. Google Cloudサービス連携
用語 |
概要 |
関連サービス |
BigQuery DataFrames |
PythonのPandasライブラリと似た操作感で、BigQuery上の大規模データを直接、効率的に処理できるライブラリ。 |
BigQuery, Vertex AI |
Gemini in BigQuery |
AIが自然言語でのSQL生成やコードアシスト、データ準備の支援など、データ分析作業をサポートしてくれる機能群。 |
BigQuery |
BigQuery Studio data canvas |
SQL、Python、自然言語を組み合わせて、ノートブック形式でデータ探索や分析を行える統合開発環境。 |
BigQuery |
リモート関数 |
BigQueryのSQLから、Cloud Functionsで定義した独自のコードを直接呼び出せる機能。 |
BigQuery, Cloud Functions |
BigQuery コネクタ |
Sparkや各種ETLツール、BIツールといった外部のアプリケーションが、BigQueryとのデータ連携を容易に行えるように提供される専用の接続ソフトウェア。 |
BigQuery |
サービスアカウントにおける外部接続 |
Google Cloudの外部にあるアプリケーションが、「サービスアカウント」をIDとして利用し、Google Cloud内のデータ基盤にアクセスすること。 |
IAM |
Analytics Hub |
組織内外で安全にデータセットや分析アセットを共有するためのプラットフォーム。 |
BigQuery |
BigQuery BI Engine SQL Interface |
BI Engineの能力を、ODBC/JDBC接続を介してサードパーティ製のBIツール(Tableauなど)でも利用できるように拡張されたインターフェース。 |
BigQuery |
2-6. 主要Google Cloudサービス一覧
カテゴリ |
サービス名 |
役割・概要 |
データレイク/レイクハウス |
Cloud Storage |
あらゆるデータを安価に保存するオブジェクトストレージ。 |
|
BigLake |
Cloud Storage等の外部データに、BigQuery同様のアクセス制御や最適化を提供する。 |
DWH/データマート |
BigQuery |
このアーキテクチャの中核をなすサーバレスDWH。 |
ストリーミング処理 |
Pub/Sub |
ストリーミングデータの受け口となるメッセージングサービス。 |
|
Dataflow |
ストリーミング/バッチ処理のためのフルマネージドサービス。 |
データパイプライン |
Datastream |
DBからのCDCを容易に実現するサービス。 |
|
Dataform |
SQLでデータ変換パイプラインを開発・管理するサービス。 |
|
Workflows |
各種Google Cloudサービスを連携させ、サーバーレスなワークフローを構築する。 |
|
Cloud Data Fusion |
GUIベースでETL/ELTパイプラインを構築できる統合プラットフォーム。 |
|
Cloud Composer |
Apache Airflowベースのフルマネージドなワークフロー管理サービス。 |
データガバナンス |
Data Catalog |
データ資産を発見・管理するためのメタデータ管理サービス。 |
|
Dataplex |
データレイクからDWHまでを統合的に管理・統制するインテリジェントなデータファブリック。 |
BI |
Looker |
エンタープライズ向けのBIプラットフォーム。データモデリング機能が強力。 |
|
Looker Studio |
無料で利用できるセルフサービスBIツール。 |
|
コネクテッドシート |
Googleスプレッドシートから直接BigQueryのデータを分析できる機能。 |
発展的な分析 |
BigQuery ML |
SQLだけで機械学習モデルの学習と予測ができる機能。 |
|
Vertex AI |
機械学習モデルの開発から運用までを支援する統合プラ-ットフォーム。 |
Discussion