をご覧ください。
概要
このトピックでは、Datastream の使用に関するよくある質問とその回答をご覧いただけます。このよくある質問は、以下のケースに関連しています。
- Datastream と変更データ キャプチャ(CDC)に関する一般的な質問
- MySQL 変更データ キャプチャ(CDC)
- Oracle 変更データ キャプチャ(CDC)
- Datastream を使用する一般的なユースケース
- Datastream と Google Cloud データサービスの統合方法
- Datastream がサポートするソースと宛先
- Datastream の動作と制限事項
- セキュリティと接続性
- Datastream ファイルの処理
- Datastream のモニタリング
- 料金
- Datastream に関する追加情報
Datastream と変更データ キャプチャ(CDC)に関する一般的な質問
質問 | 回答 |
---|---|
Datastream とは | Datastream は、サーバーレスで使いやすい変更データ キャプチャ(CDC)およびレプリケーション サービスであり、異種のデータベースおよびアプリケーション間で、最小限のレイテンシでデータ ストリームを確実に同期できます。Datastream では、Oracle データベースと MySQL データベースから Cloud Storage へのデータのストリーミングの変更がサポートされています。 このサービスを使用すると、Dataflow テンプレートとの統合を効率化して、BigQuery で最新のマテリアライズド ビューを分析用に強化することや、データベース同期のために Cloud SQL または Cloud Spanner にデータベースを複製すること、Cloud Storage のストリームを直接活用してイベント ドリブンのアーキテクチャを実現することができます。BigQuery への変換を含むデータ パイプラインを構築する場合は、Datastream も Cloud Data Fusion と統合されます。 |
CDC とは | CDC は、少ないシステム リソースでデータを迅速に統合、分析できるデータ統合のアプローチです。これは、データソースが独自の内部トランザクションの整合性を維持するために保持している変更のログを読み取ることで、データソースから最新の変更(更新、挿入、削除)のみを取得する方法です。 CDC は、新しいデータを運用データストアやデータ ウェアハウスに読み込む際にソースへの影響を抑える非常に効率的なメカニズムです。これにより、データの宛先へのデータ変更の増分読み込みやリアルタイム ストリーミングが可能になるため、一括読み込みによる更新や不便なバッチ ウィンドウが不要になります。 CDC は、分析、地理的に分散したシステム間のデータの同期、イベント駆動型アーキテクチャなど、データの変更に継続的にアクセスすることで価値を生み出す多くのユースケースで使用できます。 |
バックフィルとは | Datastream は、進行中の変更だけでなく、バックフィルも使用してソースから既存のデータをすべて pull し、転送先にストリーミングします。その結果、宛先にはソースの履歴データがすべて「バックフィル」されます。 |
Datastream でデータをストリーミングする方法はどのようなものですか? | Datastream は、次の 2 つの方法のいずれかにより、ソースから宛先にデータをストリーミングします。
|
変更ストリームとは | 変更ストリームは、ダウンストリームで利用するために Cloud Storage などの宛先に Datastream が出力する一連のイベントです。変更ストリームの転送先に書き込まれた結果は、特定のデータベース テーブルからの一定期間の変更ログイベントが含まれるファイルのセットです。これらのイベントは、ソースからそのテーブルへの挿入、更新、削除を表し、イベント駆動型アーキテクチャの場合は Dataflow などのサービスで宛先のダウンストリームに使用され、処理されます。 |
マテリアライズド ビューとは | マテリアライズド ビューは、宛先のソーステーブルの 1 対 1 の最新表現です。このタイプのビューの例としては、テーブルの変更が継続的に BigQuery テーブルにレプリケートされる Oracle データベース テーブルが挙げられます。そのため、Oracle テーブルからストリーミングした変更を使用して BigQuery テーブルが最新の状態に保たれます。 マテリアライズド ビューでは、各変更イベントを使用してマテリアライズド ビューを更新することによって、変更ストリームを活用します。Datastream では、宛先から変更ストリーム イベントを pull して適切に宛先テーブルを更新するテンプレートを活用し、Dataflow との統合により、BigQuery、Cloud SQL、Cloud Spanner などの宛先にマテリアライズド ビューを提供します。 |
Datastream にはソースのエージェントが必要ですか? | ソースにエージェントをインストールする必要はありません。Datastream は、既存のインターフェース(Oracle LogMiner など)を使用して、ソースからデータを取得します。 |
Datastream を本番環境のデータベースで使用することによるパフォーマンスへの影響はどうですか? | CDC は、新しいデータが宛先のデータストアやデータ ウェアハウスに読み込まれる際に、ソースへの影響を抑える非常に効率的なメカニズムです。また、CDC では、データ変更の宛先への増分読み込みやリアルタイム ストリーミングが可能になるため、一括読み込みによる更新や不便なバッチ ウィンドウが不要になります。 また、Datastream では、同時にバックフィルするタスクの数を制限し、どのオブジェクトをいつバックフィルするかを決定するメカニズムを提供することで、初期のバックフィルの影響を最小限に抑えています。 |
ログファイルをソースから Google Cloud にコピーできますか? | いいえ。Datastream では、データベース サーバーで直接ログのクエリが実行され、指定されたテーブルへの変更のみが宛先に書き込まれます。 |
Datastream は過去のデータも転送できますか? | はい。デフォルトでは、Datastream は CDC ストリームと並行して、指定したソースのデータベース テーブルからすべての履歴データを取得します。Datastream では、ソースの一部またはすべてのデータベース テーブルから履歴データを柔軟に取得できます。また、ストリームを構成する際、過去のバックフィルを無効にすることもできます。 |
Datastream でサポートされている最大行サイズはどのくらいですか? | Datastream は現在、3 MB 以下の行に制限されています。 |
Datastream で順序は保証されますか? | Datastream では順序は保証されません。イベントごとに追加のメタデータが提供され、それを使用して宛先バケットの結果整合性が確保されます。ソース、変更の速度と頻度、などのパラメータに応じて、結果整合性は通常 1 時間以内に達成できます。 |
Datastream では 1 回限りの配信が保証されますか? | いいえ。Datastream は at-least-once(最低 1 回)配信です。Datastream が各イベントに書き込む追加のメタデータを使用して、重複するデータを削除できます。 |
Datastream は、ソースへのスキーマの変更をどのように処理しますか? | Datastream は、ソースからスキーマを定期的に取得します。ただし、スキーマの取得の間に一部のスキーマの変更が検出されず、データの不一致が生じる可能性があります。データ定義言語のイベントをリアルタイムで取得し、現在の制限を解消する予定です。 |
暗号化されたデータベースを処理しますか? | はい。 |
Datastream は、特定のテーブルと列をソースからストリーミングできますか? | はい。Datastream では、テーブルとスキーマの追加リストと除外リストを指定して、ソースから必要なデータのみを宛先にストリーミングできます。対象のテーブルについては、そのテーブルの特定の列を除外することで、宛先にストリーミングするデータを細かく調整できます。ただし、マテリアライズド ビューは複製できません。 |
ストリームを別のプロジェクトまたはリージョンに移動するにはどうすればよいですか? |
|
Datastream は、データベース ログファイル内の commit されていないトランザクションをどのように処理しますか? | commit されていないトランザクションがデータベースのログファイルに含まれている場合、トランザクションがロールバックされると、これは「逆」のデータ操作言語(DML)オペレーションとしてデータベースに反映されます。たとえば、ロールバックした INSERT オペレーションには、対応する DELETE オペレーションがあります。Datastream は、これらのオペレーションをログファイルから読み取ります。 |
Datastream を利用できるリージョンは? | Datastream を使用できるリージョンの一覧を表示するには、IP 許可リストとリージョンをご覧ください。 |
MySQL 変更データ キャプチャ(CDC)
質問 | 回答 |
---|---|
Datastream では MySQL からデータをどのように取得しますか? | Datastream は、MySQL のバイナリログを使用して MySQL から変更イベントを抽出します。 |
Datastream は、Cloud SQL for MySQL リードレプリカ インスタンスをサポートしていますか? | はい。Datastream は、Cloud SQL for MySQL バージョン 5.7 と 8.0 のリードレプリカ インスタンスをサポートしています。 これらのインスタンスでバイナリ ロギングを有効にできます。有効にするには、次の gcloud コマンドを実行します。 gcloud sql instances patch INSTANCE_NAME -- enable-bin-log 詳細については、リードレプリカのバイナリ ロギングをご覧ください。 |
Datastream は MySQL データベース テーブルをロックしますか?Datastream にはなぜ LOCK TABLE 権限が必要なのですか? |
ほとんどの場合、Datastream はテーブルをロックする必要はありません。ただし、特定の条件(InnoDB ストレージ エンジンと分離レベルが |
Oracle 変更データ キャプチャ(CDC)
質問 | 回答 |
---|---|
Datastream は Oracle からデータをどのように取得しますか? | Datastream は、Oracle LogMiner を使用して Oracle の REDO ログからデータを抽出します。 |
Datastream には Oracle の GoldenGate ライセンスが必要ですか? | いいえ。Datastream は Oracle LogMiner を使用して、データベースの REDO ログからデータを読み取ります。 |
Oracle LogMiner がサポートされなくなった場合はどうなりますか? | Oracle は今後のリリースでサポートされる予定です。現時点では、Oracle LogMiner は一般提供されているすべての Oracle リリースで引き続きご利用いただけます。 |
Datastream は、Oracle データベースから転送中のデータの暗号化をサポートしていますか。 | Datastream では、Oracle Net サービスに基づいて転送中のデータの暗号化をサポートします。Datastream は |
Datastream は、Oracle マルチテナント アーキテクチャ、特にコンテナ データベース(CDB)とプラガブル データベース(PDB)をサポートしていますか? | Datastream は現在、CDB と PDB をサポートしていませんが、今後サポートされる予定です。 |
ユースケース
質問 | 回答 |
---|---|
Datastream を使用する一般的なユースケースは何ですか? | Datastream は CDC とレプリケーション サービスです。つまり、継続的にストリーミングされる変更データにアクセスすることでメリットが得られる、さまざまなユースケースに柔軟に対応できます。Datastream の最も一般的なユースケースをよく見られる順に並べると、次のようになります。
|
統合
質問 | 回答 |
---|---|
Datastream は Google Cloud データサービスとどのように統合されますか? | Datastream では、ソースからさまざまな Google Cloud サービスへの CDC データ レプリケーションを提供することで、Google Cloud のデータスイートを補完し、強化します。Datastream は、これらのサービスとシームレスに統合することで、より大きな Google Cloud エコシステムに収まります。 Datastream は、次のデータサービスと統合されています。
|
送信元と宛先
質問 | 回答 |
---|---|
Datastream ではどのソースと宛先がサポートされていますか? | |
Datastream は暗号化されたデータベースを処理できますか? | はい。 |
動作と制限事項
質問 | 回答 |
---|---|
Datastream ではどのソース バージョンがサポートされていますか? | MySQL の場合、Datastream はバージョン 5.6、5.7、および 8.0 をサポートします。以下の MySQL 準拠のデータベースがサポートされています(ただし、これらに限定されません)。
Oracle の場合、Datastream は 11g リリース 2 以上をサポートします(SCAN 構成、CDB/PDB、自律型 DB の RAC はサポートしていません)。以下の Oracle 準拠のデータベースがサポートされています(ただし、これらに限定されません)。
|
Datastream はどのようにソースからデータを抽出しますか? | MySQL の場合、Datastream は MySQL のバイナリログを処理して変更イベントを抽出します。 Oracle の場合、Datastream は LogMiner と補足ロギング設定を使用して、Oracle の REDO ログからデータを抽出します。 |
ログファイルをソースから Google Cloud に直接コピーできますか? | Datastream は、ログファイル全体をコピーするのではなく、データベース サーバーから直接ログファイルに対してクエリを実行し、指定したテーブルの変更のみを宛先に複製します。 |
Oracle ソースの場合、Datastream には GoldenGate ライセンスが必要ですか? | Datastream は、Oracle LogMiner を使用してデータベースのREDO ログからデータを読み取るため、GoldenGate ライセンスは必要ありません。 |
Oracle LogMiner が新しいバージョンでサポートされていない場合はどうなりますか? | Oracle では LogMiner の CONTINUOUS_MINE オプションのサポートを終了していますが、このオプションは Datastream で使用されていないため、このサポートの終了は Datastream に影響しません。 |
Datastream が処理できるデータにはどのような制限がありますか? |
一般的な制限、MySQL ソースの制限、Oracle ソースの制限があります。 一般的な制限事項は次のとおりです。
MySQL の制限事項は、主キーのないテーブルで 1 億行を超えるテーブルはサポートされていません。 Oracle の制限事項は次のとおりです。
|
Datastream が生成するすべてのイベントには、どのようなデータが含まれていますか。 | 生成された各イベント(挿入、更新、削除)には、ソースからのデータ行全体と、各列のデータ型と値が含まれます。各イベントにはイベント メタデータも含まれており、このメタデータを使用して順序指定や 1 回限りの確実な配信の保証を行うことができます。 |
Datastream で順序は保証されますか? | Datastream は順序を保証するものではありませんが、イベントごとに追加のメタデータを提供します。このメタデータを使用すると、宛先での結果整合性が確保されます。ソース、変更の速度と頻度、などのパラメータに応じて、結果整合性は通常 1 時間以内に達成できます。 |
Datastream では 1 回限りの配信が保証されますか? | Datastream は at-least-once(最低 1 回)配信です。Datastream が各イベントに書き込む追加のメタデータを使用して、重複データを削除できます。 |
Datastream は、ダウンストリーム処理で使用するソースのデータ型をどのように表現していますか? | Datastream は、すべてのソースでデータ型を正規化することにより、データソース間のデータのダウンストリーム処理を簡単でわかりやすいものにします。Datastream は、元のソースデータ型(MySQL の 統合型とは、使用可能なすべてのソース型のロスレスのスーパーセットを表し、正規化とは、さまざまなソースのデータをダウンストリームでソースに依存しない方法で簡単に処理およびクエリできることを意味します。 Datastream システムでソースのデータ型を認識する必要がある場合は、Datastream のスキーマ レジストリへの API 呼び出しで実行できます。このレジストリには、すべてのデータソースについて、バージョニングされた最新のスキーマが保存されます。また、スキーマ レジストリ API を使用すると、ソース データベースのスキーマが変更されるため、ダウンストリーム スキーマのブレの解決が速くなります。 |
Datastream は、ソース内の構造(スキーマ)の変更をどのように処理しますか? | Datastream は、ソースデータ構造への変更を継続的に追跡します。スキーマは Datastream のスキーマ レジストリに保存され、各イベントは生成された時点でスキーマを参照します。これにより、Datastream やその他のダウンストリーム プロセスがスキーマの変更をリアルタイムで追跡し、その変更に基づいて調整を行うことができます。これにより、すべてのデータが確実にストリーミングされ、宛先に読み込まれます。 |
セキュリティと接続性
質問 | 回答 |
---|---|
Datastream は機密データ向けの安全なサービスですか? | Datastream は、ソースから宛先にストリーミングされる転送中のデータを保護するために、複数の安全なプライベート接続構成をサポートしています。データが複製されると、デフォルトで暗号化され、Cloud Storage のセキュリティ管理が利用されます。Datastream によってバッファリングされたデータは、すべて保存時に暗号化されます。 |
ソースを Datastream に接続するために使用できる接続オプションはどれですか? | 構成できる接続方法には、次の 3 種類があります。
|
Datastream による機密データの処理を制限するにはどうすればよいですか? |
Datastream を使用すると、宛先にストリーミングするソースのデータ要素(スキーマ、テーブル、列)とストリーミングから除外する要素を指定できます。 データベース ログには、ストリーム定義で除外された要素の変更データが含まれている場合があります。ソースではこれらの要素をフィルタできないため、Datastream では要素に関連付けられているデータを読み取りますが、無視します。 |
Datastream では、データベースの認証情報はどのように保護されますか? | すべてのユーザーのメタデータ(データソースへのアクセスに使用されたユーザー名とパスワードを含む)は、転送中も保存時も暗号化されます。このメタデータへのアクセスは追跡および監査されます。 |
Datastream ファイルを処理する
質問 | 回答 |
---|---|
Cloud Storage でファイルを作成する方法 | Datastream は、テーブルごとにフォルダを作成します。各フォルダでは、Datastream が、ユーザー定義のサイズまたは時間のしきい値に達するたびにファイルをローテーション(または新しいファイルを作成)します。Datastream は、スキーマの変更が検出された場合も常にファイルをローテーションします。ファイル名は、(スキーマのハッシュに基づく)一意のスキーマキーの後に、ファイル内の最初のイベントのタイムスタンプが続きます。セキュリティ上の理由から、これらのファイル名は人が読み取ったり理解したりするためのものではありません。 |
Cloud Storage 内のデータが順序付けられていない場合、宛先に読み込まれる前にイベントを並べ替えるにはどうすればよいですか? | 各イベントには複数のメタデータ フィールドがあり、Oracle REDO ログの行が一意に識別されます。具体的には、以下のとおりです。
|
同じタイムスタンプで複数のファイルが作成された場合、どの順序で処理する必要がありますか? | ファイル内およびファイル間での順序は保証されていないため、特定のタイムスタンプを持つすべてのファイルからすべてのイベントを取得し、上記の方法で順序を適用してファイルを処理する順序を決定することをおすすめします。 |
主キーの更新はどのように処理されますか?イベントの前後に情報はありますか? | row_id メタデータ フィールドは、変更する行を一意に識別します。データの整合性を確保するため、主キーに頼るのではなく、row_id フィールドに関連付けられた値に基づいてデータを統合します。 |
Datastream のモニタリング
質問 | 回答 |
---|---|
すべての履歴データが宛先の Cloud Storage バケットにコピーされたことを、どのように確認できますか? | Datastream は、ログファイルで現在のステータスに関する情報を提供します。テーブルのバックフィルが完了したことを示すログエントリが作成されます。 |
料金
質問 | 回答 |
---|---|
Datastream の料金を教えてください。 | Datastream の料金は、ソースから宛先にストリーミングされるデータの量(GB)に基づいて計算されます。 Datastream の料金情報については、料金をご覧ください。 |
データのサイズの計算方法を教えてください。 | 料金は、ソースから宛先にストリーミングされた未加工(未圧縮)のデータのサイズに基づいて計算されます。Datastream の料金は、宛先にストリーミングされたデータに対してのみ発生します。 |
Dataflow または Cloud Data Fusion で Datastream を使用する場合、料金はどのくらいですか? | どちらのサービスも個別に料金が請求されます。 |
詳細情報
質問 | 回答 |
---|---|
Datastream の使用に関して他に質問や問題がある場合はどうすればよいですか? | Datastream の使用に関して問題が発生した場合は、Google のサポートチームがサポートを行います。また、このトラブルシューティング ガイドでは、Datastream の使用中に発生する可能性のある一般的な問題を扱っています。 |