ハイブリッドクラウドやマルチクラウドでシステムを運用する際は、もととなるデータベースから別のデータベースへと、レプリケーション(データの複製)を行う機会が多いものです。例えば、OracleのデータベースからAWSのデータベースへ、オンプレミスからクラウドのデータベースへといった形でデータを転送するのが一般的です。
このような場合、データベースとデータベースの間に、Datastreamというサービスを組み入れて活用することをおすすめします。これにより、データソースから更新データのみを抽出して転送できるため、レプリケーションの効率化や工数削減につながります。
本記事では、Datastreamの特徴や仕組み、使い方、料金などについて詳しく解説します。具体的な活用例も紹介しているので、ぜひ参考にしてください。
DatastreamとはGoogleが提供するCDCサービス
Datastreamとは、Googleが提供するCDCサービスです。サーバーレスかつフルマネージドサービスとして提供されており、簡易的な操作だけで効率良くデータレプリケーションを行えるのが特徴です。ここでは、CDCサービスの基礎知識やDatastreamの役割・仕組みについて解説します。
そもそもCDCサービスとは
CDC(Change Data Capture)とは、差分更新時のレコードを抽出する技術や手法を指します。
あるデータベースから別のデータベースへとレプリケーション(データの複製)を行う場合、そのなかに含まれたデータは常に更新されているため、毎回すべてのデータを対象に処理を行うとデータ量が膨大になり、工数やコストがかさんでしまいます。このような課題を解消するには、前回の作業以降に更新されたデータのみを抽出し、その分だけレプリケーションを実施する方法が有効です。
この方法は「差分更新」と呼ばれ、重複するデータを処理対象から外すことで、ストレージやネットワーク帯域の使用量を最適化しつつ、レプリケーションの工数やコストを削減できるのが特徴です。CDCサービスを活用すると、前回以降、新たに更新されたデータを継続的に監視・追跡し、更新データのみを別のデータベースにリアルタイムで反映させることができます。
Datastreamの役割・仕組み
CDCサービスにはさまざまな種類がありますが、なかでもGoogleが提供している製品は「Datastream」と呼ばれています。データソースやレプリケーション元となるデータベースから更新データのみを抽出し、その変更内容を別のデータベースへと記録できるのが特徴です
Datastreamは、フルマネージドサービスとして提供されており、かつ優れたスケーラビリティを有しています。また、Google Cloudに搭載されたサービスの一つだからこそ、Google Cloud内のほかのサービスと柔軟に連携できるのも強みです。Google Cloudの管理コンソールからシンプルな操作だけでレプリケーションを行えるため、高度な知識不要で、初めての方でも扱いやすいメリットもあります。
Datastreamの5つの特徴
Datastreamの特徴は次の5つの要素に分けられます。
- フルマネージドサービス
- スケーラブルかつ高スループットな性能
- シンプルな操作性
- データパイプライン構築に役立つテンプレート
- 堅牢なセキュリティ
それぞれの特徴を理解することで、Datastreamの特有の強みや他社製品との違いを把握できます。
フルマネージドサービス
Datastreamは、フルマネージドサービスとして提供されているのが特徴です。フルマネージドサービスとは、サーバーやネットワーク機器といったITインフラを、サービス提供事業者がユーザーの代わりに運用してくれるサービスです。ITインフラの管理や監視、保守、セキュリティ対策など、運用に必要なほとんどの作業をGoogle側で担ってくれるため、導入時のコストや運用時の手間を最小限に抑えられます。
また、サーバーに障害が発生した場合でも、Googleのエンジニアチームが即座に対応してくれます。そのため、社内にエンジニアがいない、あるいは不足しているケースでも、システムの可用性を確保したうえで安心してサービスを利用できます。
スケーラブルかつ高スループットな性能
Datastreamは完全なクラウドサービスとして提供されており、そのシステムにはサーバーレスなアーキテクチャが採用されています。ユーザーにとっては、サーバーやネットワーク機器といった物理的なITインフラを用意せずに済むのが利点です。また、需要の変化に合わせてリソースを割り当てるだけで済むのも魅力で、サーバーの増設といった物理的なスケールアップや、プロビジョニング(需要に応じてリソースを予測・準備するプロセス)に時間を割く必要もありません。
レイテンシを最小限に抑えつつ、高いスループットを実現できるのも特徴です。Datastreamでは、単一のストリームにおいて1秒間で数十MBものデータを処理できます。そのため、膨大なデータ群で構成された複雑なデータベースやデータシートを扱う場合でも、本来であれば1年以上の期間を要する同期作業を数週間程度で終わらせることも可能です。
シンプルな操作性
Datastreamはシステムの構成そのものが非常にシンプルだからこそ、簡易的な操作のみで扱えます。例えば、ソースとなるデータベースで、INSERT(挿入)やDELETE(削除)、UPDATE(更新)といった処理が発生した場合、Datastreamがそのデータのみを検出し、自動で別のデータベースへと転送してくれます。
ユーザーにとっては、最初にソースまたは宛先のデータベースのプロファイルを作成し、ストリームIDやリージョン、宛先などを設定するだけで済みます。あとは動作確認を行い、ストリーム実行の機能をオンにするだけでシステムが稼働します。
プログラミングのような高度な知識がいらず、初心者でも容易に扱えるのは、Datastreamの大きなメリットだといえるでしょう。
データパイプライン構築に役立つテンプレート
Datastreamを使ってレプリケーションを実行する際は、データパイプラインを構築するのが一般的です。データパイプラインとは、データの前処理や読み込み、集計、保存といった一連のプロセスを指し、専用のフローを構築することで大規模なデータでも効率的に処理できるようになります。
Datastreamでは、このデータパイプライン構築の作業を、DataflowというGoogle Cloud内のサービスを使って進められます。Google Cloudには、Dataflow専用のテンプレートが用意されており、宛先のデータベースにおけるテーブルの作成やデータの更新といった作業を自動化できるのが特徴です。また、想定外のイベントや重複データ発生した場合でも、自動的にエラーを解消できる機能も備わっています。
堅牢なセキュリティ
Datastreamでは、ソースとなるデータベースと宛先のデータベースとの間に、プライベート接続環境を簡単に構築できます。プライベート接続環境は、特定のユーザーやグループのみ利用できる閉域的なネットワークなので、なりすましや不正アクセスといったセキュリティリスクを抑えつつ、安全にデータを保護できるのが特徴です。
また、Google Cloudそのものにさまざまなセキュリティ機能が搭載されているのもポイントです。例えば、データの暗号化やアクセス制御、多段階認証などの種類があり、内部監査チームによるモニタリングやインシデント対応などのサポートも充実しています。また、データが保管されているデータセンターでは、生体認証やレーザーを使った侵入検知システムが設置されており、物理的なセキュリティ対策も万全です。
Datastreamの使い方
ここでは、外部データソースからCloud Storageに更新データを転送する方法を例にあげ、Datastreamの使い方や設定方法を解説します。その手順は次の通りです。
- データソースの接続プロファイルを作成
- 宛先(Cloud Storage)の接続プロファイルを作成
- ストリーム作成・動作確認
手順ごとの進め方やポイントを解説します。
1. データソースの接続プロファイルを作成
ソースとなるデータベースの接続プロファイルを作成します。手順は次の通りです。
- Google Cloudの管理コンソールからDatastreamのページにアクセスし
- [プロファイルの作成]をクリック
- ソースとなるデータベースの種類を選択
- [接続設定の定義]の項目で必要な情報を入力
- [接続方式の定義]の項目で接続方式を選択
- [接続プロファイルのテスト]の項目で接続テストを実行
- 問題がなければ画面下部の[作成]をクリック
[接続設定の定義]の項目では、次のような情報を入力します。
- 接続プロファイルの名前:任意の名称を設定
- 接続プロファイルID:上記の名称をもとに自動入力
- リージョン:接続プロファイルを保存するリージョンを選択
- ホスト名またはIP:データソースに接続する際のホスト名かIPアドレスを入力
- ポート:データソース用用に予約されているポート番号を入力
- ユーザー名・パスワード:データソースの認証用ユーザー名とパスワードを入力
- データベース:データベースインスタンスを識別する名称を入力
また、[接続方式の定義]の項目では、IP許可リストやフォワードSSHトンネル、プライベート接続(VPCピアリング)のなかから任意で接続方式を選択します。
2. 宛先(Cloud Storage)の接続プロファイルを作成
Datastreamでレプリケーションを実施する際は、あわせて宛先となる接続プロファイルも作成する必要があります。なお、データソースの接続プロファイルを作成する際と同じ手順で設定が可能です。今回はCloud Storageが宛先のデータベースとなるため、[プロファイルの作成]をクリックし、データベース一覧から[Cloud Storage]を選択しましょう。
宛先の接続プロファイルを作成する場合のみ、データを格納するバケットを指定する必要があります。プロファイル作成画面を開き、[接続の詳細]の項目から[参照]をクリックすることでバケットの選択が可能です。
設定が完了すれば、画面下部の[作成]をクリックします。
3. ストリーム作成・動作確認
レプリケーション用のストリームを作成します。Datastreamのページに表示されている[ストリームの作成]をクリックすると作成画面に移行し、画面の左側に[始める・ソースの定義とテスト・ソースの構成]といったフローが現れます。そして、各フローの項目をクリックし、それぞれの定義やプロパティなどを設定します。
最後のフローである[確認と作成]まで設定が完了すれば、画面下部の[作成]をクリックします。その後、ストリームの詳細画面に[開始]のボタンが現れるので、それをクリックするとストリームが実行される仕組みです。
なお、ストリームが開始された後は、実際にソースとなるデータベースにアクセスし、データの挿入や削除、更新といったテスト処理を行ってみると良いでしょう。そして、Cloud Storageにアクセスし、更新したデータがデータベース内に反映されていれば、Datastreamが正常に動作していることを表します。
Datastreamの活用例5選
Datastreamは、Google Cloudに搭載されている関連サービスを組み合わせることで、さまざまな形で発展が可能です。
そもそもGoogle Cloudとは、データベース構築やクラウドコンピューティング、アプリケーション・AIモデル開発などに関する150種類以上のサービスが搭載されたプラットフォームです。Datastreamとは、オブジェクトストレージサービスの「Cloud Storage」や、ETLツールの「Dataflow」、DWH(データウェアハウス)の「BigQuery」などを組み合わせて利用できます。
ここでは、このようなサービスと組み合わせた際の活用例を詳しく紹介します。
BigQueryへの直接的なレプリケーション
Datastreamを利用することで、MySQLやPostgreSQLなどのデータベースからBigQueryへと直接レプリケーションが可能です。かつてはDatastreamとBigQueryとの間にCloud StorageやDataflowを挟む複雑な構成が必要でしたが、現在はDatastreamが直接BigQueryへの書き込みをサポートしているため、サーバーレスかつニアリアルタイムなパイプラインを簡単に構築できます。
結果として、ECサイトの受注データや在庫データをMySQLからBigQueryへ即座に同期し、Looker Studioなどを介してリアルタイム分析を行えるようになります。そのほか、マイクロサービスごとに分散している複数のデータベースを一つのDWHに統合することも可能です。
Dataflowを経由したBigQueryへのレプリケーション
Datastreamを利用する際は、Dataflowを経由してBigQueryへとレプリケーションを行うことも可能です。Dataflowは、バッチ処理・ストリーミング処理の両方に対応する「Apache Beam」と呼ばれるフレームワークを活用し、大規模なデータパイプラインを簡易的な定義付けで構築できます。
また、この作業を行う際は、非構造化データの一元管理が可能なCloud Storageや、メッセージを生成する際に送信側と受信側を分離できるPub/Subといったサービスも利用します。Pub/Subは必須ではありませんが、データ出力の通知を送信できるので、あわせて活用すると便利です。
具体的な流れは次の通りです。
- Datastreamでソースのデータベースから更新データを抽出
- Cloud Storageに更新データを出力・保存
- 更新データの出力と同時にPub/Subで通知を受信
- Cloud StorageからDataflowに更新データを転送
- BigQueryに更新データを書き込み、Merge文で適用
BigQueryまで更新データを転送することで、その後、LookerやLooker StudioといったBIツールにデータを移行できるようになり、そのままデータ分析へとスムーズに展開できます。
また、Dataflowには、「Cloud Datastream to BigQuery」というテンプレートが用意されています。このテンプレート上でファイルロケーションやファイル形式、Pub/Subのサブスクリプション、Mergeの頻度などを設定できます。初心者にとっても扱いやすいため、初めてBigQueryにレプリケーションを実施する際は、Dataflowを経由させるのがおすすめです。
Cloud Data Fusionを経由したBigQueryへのレプリケーション
BigQueryへのレプリケーションを実施するにあたっては、Dataflowの代わりにCloud Data Fusionを利用する選択肢も存在します。
Cloud Data FusionもDataflowと同じETLツールに属し、データソースからのデータ抽出(Extract)や変換・加工(Transform)、出力・格納(Load)という一連のプロセスを、データパイプラインに置き換えて実行できるのが特徴です。両者の違いとしては、Cloud Data Fusionには専用のGUI(Graphical User Interface)が搭載されている点です。ドラッグ&ドロップなどのマウス操作でデータパイプラインを構築・実行できるため、初めてETLツールを利用する方でも扱いやすいメリットがあります。
BigQueryにレプリケーションを行う際の流れは、Dataflowを使用する場合とほぼ同じで、DataflowをCloud Data Fusionに置き換えるだけで済みます。ただし、Dataflowのようなテンプレートは利用できないため、BigQuery内でデータセットやテーブルを作成する必要があります。
Dataflowを経由したCloud Spannerへのレプリケーション
水平方向のスケーリングを有効化するため、MySQLやPostgreSQLといったオープンソース型のリレーショナルデータベース(RDB)から、Cloud Spanner(Google Cloudに搭載されているRDB)にデータを移行するケースも考えられます。このような異種データベース間でデータを移行する場合でも、Datastreamを活用した転送や同期が可能です。
Cloud Spannerへのレプリケーションを実施する場合、Cloud StorageやDataflowといったサービスを経由するのが一般的です。次のような流れでCloud Spannerへとデータを転送できます。
- DatastreamでソースとなるRDBから更新データを抽出
- Cloud Storageに更新データを出力・保存
- Cloud StorageからDataflowに更新データを転送
- DataflowからCloud Spannerに更新データを転送
Dataflowには、「Cloud Datastream to Spanner」というテンプレートが用意されています。これにより、Dataflowのデータパイプラインを簡単に構築できるため、作業効率の向上につながります。
HarbourBridgeを経由したCloud Spannerへのレプリケーション
Cloud Spannerへのレプリケーションを実施するにあたっては、Dataflowの代わりにHarbourBridgeというサービスを利用することもできます。
HarbourBridgeは、Cloud Spannerのコミュニティでオープンソースとして公開されているサービスで、MySQLやPostgreSQLなどからデータを取り込み、Cloud Spanner専用のスキーマを構築できるのが特徴です。このスキーマを活用すると、Cloud Spannerのデータベースの作成やソースとなるRDBからのデータ入力、実行プロセスに関するレポート出力などが可能になります。
ただし、Dataflowのようなテンプレートを活用できないため、Cloud Spannerへのレプリケーションに慣れていない場合は、先ほど紹介したDataflow経由の方法がおすすめです。
Datastreamの料金
Datastreamでは、CDC(変更データキャプチャ)とバックフィルという処理によって、それぞれ異なる料金が発生します。CDCとは、データソース内の更新データをリアルタイムに抽出する処理です。一方のバックフィルは、更新データの履歴に関するスナップショットをDatastream内に取り込む処理を指します。
それぞれの料金は次の通りです。
| 処理方法 | 1ヶ月あたりの料金 |
| CDC |
|
| バックフィル |
|
※2026年1月27日時点、東京リージョンの価格
なお、Cloud StorageやDataflow、BigQueryなどを組み合わせて利用する際は、それぞれのサービス利用料も加算されるので注意が必要です。Google Cloudの主要なサービスの料金体系に関しては、こちらの記事で詳しく解説しています。
Datastreamを活用してレプリケーション業務を効率化
Datastreamは、データベースからデータベースへとデータをレプリケーションする際に欠かせないツールの一つだといえます。ソースとなるデータベースを更新した際、その更新データのみを別のデータベースへと転送・同期できるため、より少ないデータ量で効率良くレプリケーションを進められます。複雑な操作が不要で、簡単な接続プロファイルを設定するだけで利用できるのもポイントです。
また、Google Cloudには、Cloud StorageやCloud Spannerなど、さまざまな種類のデータベースサービスが搭載されており、外部のデータベースからデータを転送できます。そのほか、BigQueryやLookerなどを組み合わせることで、転送したデータをスムーズに分析業務へと展開できるのもメリットです。そのため、Google Cloudの関連サービスの使い方もあわせて理解しておくと、Datastreamをより有効活用できるでしょう。
電算システムでは、Google Cloudのスターターパックサービスや技術コンサルティングサービスなどを提供しています。Google Cloudを活用したデータ分析基盤の構築方法や、データの活用方法などに関して、プロの観点からアドバイスを行っています。「Google Cloudを活用したいが具体的なイメージが湧かない」といったお悩みを抱える方は、ぜひ電算システムへと気軽にお問い合わせください。
- カテゴリ:
- Google Cloud(GCP)
- キーワード:
- data stream

