このページでは、Datastream の使用に関するよくある質問(FAQ)とその回答をご覧いただけます。このよくある質問は、以下のケースに関連しています。
- Datastream と変更データ キャプチャ(CDC)に関する一般的な質問
- ソースの一般的な動作と制限事項
- MySQL ソースの動作と制限事項
- Oracle ソースの動作と制限事項
- PostgreSQL ソースの動作と制限事項(AlloyDB for PostgreSQL を含む)
- SQL Server ソースの動作と制限事項
- Salesforce ソースの動作と制限事項
- BigQuery の宛先の動作
- Cloud Storage の宛先の動作
- Datastream を使用する一般的なユースケース
- Datastream と Google Cloud データサービスの統合方法
- セキュリティと接続
- Datastream のモニタリング
- 料金
- Datastream に関する追加情報
Datastream と変更データ キャプチャ(CDC)に関する一般的な質問
質問 | 回答 |
---|---|
Datastream とは | Datastream は、サーバーレスで使いやすい変更データ キャプチャ(CDC)とレプリケーション サービスです。Datastream を使用すると、AlloyDB for PostgreSQL、PostgreSQL、MySQL、SQL Server、Oracle などのリレーショナル データベース ソースから、また Salesforce や MongoDB から BigQuery にデータを直接シームレスにレプリケートできます。Datastream は、現代のビジネスに必要なスケーラビリティ、スピード、セキュリティ、シンプルさを提供します。サーバーレスで、自動スケーリングのアーキテクチャを持つ Datastream では、ELT(抽出、読み込み、変換)パイプラインを設定できるため、低レイテンシのデータ レプリケーションにより、準リアルタイムの分析情報を得ることができます。 また、Datastream は、異種のデータベースおよびアプリケーション間でデータ ストリームを最小限のレイテンシで確実に同期できます。このサービスを Dataflow テンプレートと統合して、データベース同期のために Cloud SQL または Spanner にデータベースを複製したり、Cloud Storage から直接イベント ストリームを活用してイベント ドリブン アーキテクチャを実現したりできます。 |
Datastream でデータをストリーミングする方法はどのようなものですか? | Datastream は、次の 2 つの方法のいずれかにより、ソースから宛先にデータをストリーミングします。
|
CDC とは |
CDC は、少ないシステム リソースを使用して、より迅速にデータを統合、分析できるデータ統合のアプローチです。これは、データソースから最新の変更(更新、挿入、削除)のみを pull する方法です。多くの場合、ソースが内部トランザクションの整合性のために保持している変更のログを読み取ります。 CDC は、新しいデータを運用データストアやデータ ウェアハウスに読み込む際にソースへの影響を抑える非常に効率的なメカニズムです。これにより、データの宛先へのデータ変更の増分読み込みやほぼリアルタイム ストリーミングが可能になるため、一括読み込みによる更新や不便なバッチ ウィンドウが不要になります。 CDC は、分析、地理的に分散したシステム間のデータの同期、イベント駆動型アーキテクチャなど、データの変更に継続的にアクセスすることで価値を生み出す多くのユースケースで使用できます。 |
バックフィルとは | Datastream は、進行中の変更だけでなく、バックフィルも使用してソースから既存のデータをすべて pull し、転送先にストリーミングします。その結果、宛先にはソースの履歴データがすべて「バックフィル」されます。バックフィルには次の 2 種類があります。
|
バックフィルを実行する際に考慮すべき制限事項はありますか? |
バックフィルの制約については、それぞれのソースタイプの既知の制限事項のページをご覧ください。
|
CDC とバックフィル オペレーションの推奨順序は何ですか? | ほとんどの場合、特別な考慮事項はありません。ストリームでバックフィルが有効になっている場合、Datastream はバックフィルと CDC の両方を同時に実行します。一部の例外的なケース(Datastream を使用してバックフィルできない非常に大きなテーブルを複製する場合など)では、ストリームを開始する前に、まずデータを BigQuery に読み込む必要があります。 |
CDC オペレーションとバックフィル オペレーションのステータスをモニタリングできますか? | オブジェクトごとにバックフィル ステータスをモニタリングできます。
CDC ステータスは、事実上ストリーム ステータスです。CDC オペレーションが失敗すると、ストリーム全体が失敗します。 オブジェクト レベルの追加の指標は、Cloud Monitoring で使用できます。詳細については、Cloud Monitoring のドキュメントをご覧ください。 |
変更ストリームとレプリケーションの違いは何ですか? | 変更ストリームとは、ダウンストリームで利用するために Datastream が宛先に出力する一連のイベントのことです。Cloud Storage に変更ストリームが書き込まれると、特定のテーブルからの一定期間の変更ログイベントを含むファイルのセットが生成されます。イベントは、そのテーブルに対する挿入、更新、削除を表します。イベント ドリブン アーキテクチャなどのユースケースでは、これらのイベントは Dataflow などのサービスにより、Cloud Storage のダウンストリームで使用、処理されます。 レプリケーションとは、Datastream のコンテキストでは宛先のソーステーブルの 1 対 1 の最新表現を意味します。たとえば、Oracle のテーブルの変更が継続的に BigQuery テーブルにレプリケートされる場合、BigQuery テーブルは Oracle テーブルからストリーミングされる変更を使用して最新の状態に維持されます。レプリケーションでは各変更イベントを取り込み、それを使用して宛先を更新することで、変更ストリームを活用します。Datastream を使用すると、BigQuery にデータを直接レプリケートできるほか、Dataflow との統合によって Cloud SQL や Spanner などの他の宛先からのレプリケーションもサポートできます。その場合は Dataflow テンプレートを使用して、Cloud Storage から変更ストリーム イベントを pull し、それらのイベントに応じて宛先テーブルを更新します。 |
Datastream にはソースのエージェントが必要ですか? | ソースにエージェントをインストールする必要はありません。Datastream は、既存のインターフェース(Oracle LogMiner など)を使用して、ソースからデータを取得します。 |
1 つのストリームに含めることができるテーブルの数はいくつですか? | Datastream は、1 つのストリームで最大 10,000 個のテーブルを処理できます。データベースを複数のストリームに分割する技術的な理由はありませんが、PostgreSQL ソースからの大規模なトランザクションを複製する場合など、さまざまな論理フローに異なるストリームを使用するビジネス上の考慮事項がある場合があります。ただし、各ストリームはソース データベースの負荷を増加させます。このような負荷は CDC では無視できますが、バックフィルでは大きくなる可能性があります。 |
Datastream を本番環境のデータベースで使用することによるパフォーマンスへの影響はどうですか? |
CDC は、新しいデータが宛先のデータストアやデータ ウェアハウスに読み込まれる際に、ソースへの影響を抑える非常に効率的なメカニズムです。また、CDC では、データ変更の宛先への増分読み込みやほぼリアルタイムのストリーミングが可能になるため、一括読み込みによる更新や不便なバッチ ウィンドウが不要になります。 また、Datastream では、同時にバックフィルするタスクの数を制限し、どのオブジェクトをいつバックフィルするかを決定するメカニズムを提供することで、初期のバックフィルの影響を最小限に抑えています。 |
ソースから Google Cloudにログファイルをコピーできますか? | いいえ。Datastream では、データベース サーバーで直接ログのクエリが実行され、指定されたテーブルへの変更のみが宛先に書き込まれます。 |
Datastream は過去のデータも転送できますか? | はい。デフォルトでは、Datastream は CDC ストリームと並行して、指定したソースのデータベース テーブルからすべての履歴データを取得します。Datastream を使用すると、ソース内の一部またはすべてのデータベース テーブルから過去のデータを取り込むことができます。また、ストリームを構成する際に、過去のバックフィルを無効にすることもできます。 |
Datastream では 1 回限りの配信が保証されますか? | いいえ。Datastream は at-least-once(最低 1 回)配信です。Datastream が各イベントに書き込む追加のメタデータを使用して、重複するデータを削除できます。 |
Datastream は暗号化されたデータベースを処理できますか? | はい。 |
Datastream は、特定のテーブルと列をソースからストリーミングできますか? | はい。Datastream では、テーブルとスキーマの追加リストと除外リストを指定して、ソースから必要なデータのみを宛先にストリーミングできます。対象のテーブルについては、そのテーブルの特定の列を除外することで、宛先にストリーミングするデータを細かく調整できます。ただし、マテリアライズド ビューは複製できません。 |
ストリームを別のプロジェクトまたはリージョンに移動するにはどうすればよいですか? |
|
Datastream は、データベース ログファイル内の commit されていないトランザクションをどのように処理しますか? | データベース ログファイルに commit されていないトランザクションが含まれている場合、トランザクションがロールバックされると、データベースはこれをログファイルに「逆」のデータ操作言語(DML)オペレーションとして反映します。たとえば、ロールバックした INSERT オペレーションには、対応する DELETE オペレーションが含まれます。Datastream は、これらのオペレーションをログファイルから読み取ります。 |
Datastream を利用できるリージョンは? | Datastream を使用できるリージョンの一覧を表示するには、IP 許可リストとリージョンをご覧ください。 |
ソースの一般的な動作と制限事項
質問 | 回答 |
---|---|
Datastream ではどのソースがサポートされていますか? | Datastream では、Oracle、MySQL、PostgreSQL、AlloyDB for PostgreSQL、SQL Server、Salesforce、MongoDB のソースからのデータのストリーミングを、クラウドホスト型とセルフマネージド型の両方でサポートしています。ソース固有のバージョンについては、次のページをご覧ください。
|
Datastream は暗号化されたデータベースを処理できますか? | はい。 |
Datastream はどのようにソースからデータを抽出しますか? | MySQL の場合、Datastream は MySQL のバイナリログを処理して変更イベントを抽出します。 Oracle の場合、Datastream は LogMiner と補足ロギング設定を使用して、Oracle の REDO ログからデータを抽出します。 PostgreSQL と AlloyDB for PostgreSQL の場合、Datastream は PostgreSQL の論理デコーディング機能を利用します。論理デコーディングでは、データベースにコミットされたすべての変更が公開され、これらの変更を使用、処理することができます。 SQL Server の場合、Datastream でトランザクション ログを使用してデータ操作言語(DML)の変更が追跡されます。 |
ソースから Google Cloudにログファイルを直接コピーできますか? | Datastream は、ログファイル全体をコピーするのではなく、データベース サーバーから直接ログファイルに対してクエリを実行し、指定したテーブルの変更のみを宛先に複製します。 |
Datastream が処理できるデータにはどのような制限がありますか? |
一般的な制限事項と、特定のデータベース ソースに適用される制限事項があります。 一般的な制限事項は次のとおりです。
ソース固有の制限事項については、次のページをご覧ください。
|
Datastream が生成するすべてのイベントには、どのようなデータが含まれていますか。 | 生成される各イベント(挿入、更新、削除)には、ソースからのデータの行全体と、各列のデータ型と値が含まれます。各イベントには、順序付けを確立し、1 回限りの配信を保証するために使用できるイベント メタデータも含まれています。 |
Datastream で順序は保証されますか? | Datastream は順序を保証するものではありませんが、イベントごとに追加のメタデータを提供します。このメタデータを使用すると、宛先での結果整合性が確保されます。ソース、変更の速度と頻度、などのパラメータに応じて、結果整合性は通常 1 時間以内に達成できます。 |
Datastream では 1 回限りの配信が保証されますか? | Datastream は at-least-once(最低 1 回)配信です。Datastream が各イベントに書き込む追加のメタデータを使用して、重複データを削除できます。 |
Datastream は、ダウンストリーム処理で使用するソースのデータ型をどのように表現していますか? | Cloud Storage などのスキーマレスの宛先に書き込む場合、Datastream はすべてのソースでデータ型を正規化することで、ソース間のデータのダウンストリーム処理を簡素化します。Datastream は、元のソースデータ型(MySQL または PostgreSQL の 統合型とは、使用可能なすべてのソース型のロスレスのスーパーセットを表し、正規化とは、さまざまなソースのデータをダウンストリームでソースに依存しない方法で簡単に処理およびクエリできることを意味します。 |
Datastream は、ソース内の構造(スキーマ)の変更をどのように処理しますか? | Datastream は、ソースからスキーマを定期的に取得します。スキーマは Datastream の内部スキーマ レジストリに保存され、各イベントは生成時にスキーマを参照します。これにより、Datastream はスキーマの変更を追跡し、これらの変更に基づいて調整を行うことができるため、すべてのデータがストリーミングされ、宛先に適切に読み込まれるようになります。ただし、スキーマの取得の間に一部のスキーマの変更が検出されず、データの不一致が生じる可能性があります。 |
移行元データベース内の列を削除(ドロップ)しましたが、引き続き宛先に表示されます。なぜでしょうか。 | Datastream は、宛先の列を削除しません。列は手動で削除する必要があります。この動作は意図的なものです。場合によっては、削除された列を宛先に残しておく方が望ましいことがあるためです。たとえば、Datastream では、ソースの列の名前を変更することを、列を削除して別の列を追加することと解釈します。この場合、宛先の元の列を失いたくありません。 |
検証エラーによりストリームを開始できません。しかしそれはエラーだと思います。または、とにかくストリームの実行を試行したいと思います。この検証をクリアするにはどうすればよいですか? | force=true フラグを追加して検証チェックをスキップすると、API を使用してストリームを開始できます。なお、検証をスキップしても、ストリームを実行できるとは限りません。また、データベースに必要な構成や権限がない場合でも、検証に失敗する場合があります。 |
失敗したストリームを再開できますか? | Datastream によって報告されたエラーに対処することで、
|
Datastream はデータベース テーブルをロックしますか? | いいえ。Datastream はテーブルをロックする必要はありません。 |
各ソースの制限ページでは、ストリームに最大 10,000 個のテーブルを含めることができると指定されています。これは、Datastream が同時に 10,000 個を超えるテーブルに対して CDC オペレーションを並行して実行できないことを意味しますか? | いいえ。記載されている上限はストリームあたりの上限です。複数のストリームを作成し、テーブルの合計数を 10,000 を超えるように設定できます。 |
MySQL ソースの動作と制限事項
質問 | 回答 |
---|---|
Datastream では MySQL からデータをどのように取得しますか? | Datastream は、MySQL のバイナリログを使用して MySQL から変更イベントを抽出します。 |
Datastream は、Cloud SQL for MySQL リードレプリカ インスタンスをサポートしていますか? | はい。Datastream は、Cloud SQL for MySQL バージョン 5.7 と 8.0 のリードレプリカ インスタンスをサポートしています。 これらのインスタンスでバイナリ ロギングを有効にできます。これを行うには、次の gcloud CLI コマンドを実行します。 gcloud sql instances patch INSTANCE_NAME -- enable-bin-log 詳細については、リードレプリカでのバイナリ ロギングをご覧ください。 |
Datastream がソース MySQL データベースからデータを複製するために最低限必要な権限は何ですか。 | MySQL データベースからデータを複製するには、Datastream ユーザーに次の権限を付与する必要があります。
|
Datastream ではバイナリログ圧縮がサポートされていますか? | いいえ、Datastream はバイナリログ トランザクション圧縮によるトランザクション イベントの圧縮をサポートしていません。バイナリログ トランザクション圧縮を無効にして、Datastream で MySQL の変更データ キャプチャ機能を使用します。 |
組織ですべてのテーブルとデータベースに対する SELECT 権限の付与が許可されていません。Datastream は引き続き使用できますか? |
GRANT SELECT ON DATABASE_NAME.TABLE_NAME TO USER_NAME@'%'; GRANT SELECT ON DATABASE_NAME.* TO USER_NAME@'%'; 以下を置き換えます。
権限を特定のホスト名に制限する場合は、 |
Oracle ソースの動作と制限事項
質問 | 回答 |
---|---|
Datastream は Oracle からデータをどのように取得しますか? | Datastream は、Oracle LogMiner を使用して Oracle の REDO ログからデータを抽出します。 |
Datastream には Oracle の GoldenGate ライセンスが必要ですか? | いいえ。Datastream は、Oracle LogMiner を使用してデータベースのREDO ログからデータを読み取るため、GoldenGate ライセンスは必要ありません。 |
Oracle LogMiner がサポートされなくなるとどうなりますか? | Oracle LogMiner は、一般提供されているすべての Oracle リリースで引き続きサポートされており、Datastream は今後のすべてのリリースで LogMiner を引き続きサポートします。Oracle では LogMiner の CONTINUOUS_MINE オプションのサポートを終了していますが、このオプションは Datastream で使用されていないため、このサポート終了は Datastream に影響しません。 |
Datastream は、Oracle データベースから転送中のデータの暗号化をサポートしていますか。 | Datastream では、Oracle Net サービスに基づいて転送中のデータの暗号化をサポートします。Datastream は |
Datastream はセキュア ソケット レイヤ(SSL)と Transport Layer Security(TLS)の暗号化をサポートしていますか? | はい。Datastream は、Oracle ソースへの SSL/TLS 暗号化接続に TCPS プロトコルをサポートしています。 |
Datastream は、Oracle マルチテナント アーキテクチャ、特にコンテナ データベース(CDB)とプラガブル データベース(PDB)をサポートしていますか? | はい。Datastream は Oracle マルチテナント アーキテクチャ(CDB/PDB)をサポートしていますが、ストリーム内に複製できるプラガブル データベースは 1 つだけです。 |
組織で GRANT SELECT ANY TABLE 権限の付与が許可されていません。Datastream は引き続き使用できますか? |
Datastream を使用して変更をストリーミングするには、ストリームに含まれるすべてのテーブルに対する読み取りアクセス権も必要です。 ストリームを開始するには、API を使用して検証をバイパスします。詳しくは、ストリームを開始するをご覧ください。 |
Datastream では、Oracle リードレプリカ インスタンスからのレプリケーションがサポートされていますか? | Datastream は、インスタンスが構成ガイドラインに従って構成されている限り、Oracle リードレプリカ インスタンスからのレプリケーションをサポートします。 |
Datastream は Oracle SCAN RAC データベースをサポートしていますか? | はい。ただし、Datastream を使用している Oracle Real Application Clusters(RAC)環境の単一クライアント アクセス名(SCAN)機能を使用してデータベースへの直接接続を確立することはできません。この制限を回避するには、ノードのいずれかに直接接続するか、Oracle Connection Manager を使用します。HAProxy などのリバース プロキシ ソリューションを使用して、プライベート接続構成を作成することもできます。 |
PostgreSQL ソースの動作と制限事項
質問 | 回答 |
---|---|
Datastream は PostgreSQL からデータをどのように取得しますか? | Datastream は、PostgreSQL の論理デコーディング機能を使用して、PostgreSQL から変更イベントを抽出します。 |
Datastream は、AlloyDB for PostgreSQL または AlloyDB Omni のソースからのレプリケーションをサポートしていますか? | はい。Datastream は、この両方のソースをサポートしています。ソース AlloyDB for PostgreSQL データベースの構成については、AlloyDB for PostgreSQL データベースの構成をご覧ください。ソース AlloyDB Omni データベースの構成については、セルフマネージド PostgreSQL データベースの構成をご覧ください。 |
Datastream は、PostgreSQL リードレプリカ インスタンスからのレプリケーションをサポートしていますか? | いいえ。Datastream は、PostgreSQL のリードレプリカ インスタンスからのレプリケーションをサポートしていません。 |
Datastream は行レベル セキュリティ(RLS)をサポートしていますか? | Datastream は、RLS が有効になっているテーブルのレプリケーションをサポートしていません。ただし、BYPASSRLS 句を使用すると、この制限を回避できます。ALTER USER USER_NAME BYPASSRLS; USER_NAME は、Datastream がデータベースとの接続に使用する、RLS ポリシーのバイパス対象に設定するユーザー名に置き換えます。 |
Datastream は、PostgreSQL ソースから複製するときに、複数の CDC オペレーションを同時に実行できますか? | いいえ。PostgreSQL レプリケーションはレプリケーション スロットのコンセプトに依存しており、レプリケーション スロットは同時接続をサポートしていません。レプリケーション スロットから一度に読み取る CDC タスクは 1 つだけです。たとえば、ソース データベースから多数のレコードを削除すると、レプリケーション スロットが削除イベントによって過負荷状態になる可能性があります。これ以降にソースに対して行われた変更は、レプリケーション スロットのキュー内の既存の削除イベントが処理されるまで遅延します。 大量のトランザクション データを複製する際の推奨アプローチについては、問題の診断をご覧ください。 |
Datastream はセキュア ソケット レイヤ(SSL)と Transport Layer Security(TLS)の暗号化をサポートしていますか? | はい。Datastream は SSL/TLS で暗号化された接続をサポートしています。 |
SQL Server ソースの動作と制限事項
質問 | 回答 |
---|---|
Datastream ではどの SQL Server エディションがサポートされていますか? | Datastream では、変更データ キャプチャをサポートする SQL Server データベース バージョンがサポートされています。サポートされている SQL Server のバージョンとエディションの一覧については、バージョンをご覧ください。 |
SQL Server ソースに対する Datastream CDC レプリケーションの仕組み | Datastream のデータ取り込みプロセスでは、移行元構成に応じてトランザクション ログまたは変更テーブルが使用されます。詳細については、ソース SQL Server データベースをご覧ください。 |
Datastream がソース SQL Server データベースからデータを複製するために最低限必要な権限は何ですか。 | SQL Server データベースからデータを複製するには、Datastream ユーザーに次のロールと権限を付与する必要があります。 変更テーブルの CDC メソッドの場合:
また、トランザクション ログの CDC メソッドでは、次の点にも注意してください。
移行元の構成の詳細については、データベースのタイプに応じた構成ページをご覧ください。 |
トランザクション ログを使用するときに、ポーリング間隔の変更や切り捨て防止対策の設定などの構成が必要なのはなぜですか? | トランザクション ログを使用して SQL Server ソースからデータをレプリケートする場合、Datastream での読み取り前にログが切り捨てられると、データが失われます。ポーリング間隔の変更と切り捨て防止対策の設定は任意ですが、ダウンタイムや接続の問題が発生した場合でも Datastream がデータを読み取れるよう、これらによって保護が強化されます。詳細については、ソース SQL Server データベースを構成するをご覧ください。 |
SQL Server ソースから複製する場合に選択する CDC メソッド | ソース SQL Server データベースの構成に基づいて、次の 2 つの CDC メソッドのいずれかを選択できます。
詳細については、ソースとしての SQL Server の概要をご覧ください。 |
Salesforce ソースの動作と制限事項
質問 | 回答 |
---|---|
Salesforce 組織とは | Salesforce 組織(組織とも呼ばれます)は、データベース インスタンスと同様に、Salesforce の専用のデプロイです。組織には、ライセンス ユーザーの定義済みセットがあり、すべての顧客データとアプリケーションを保存します。 |
Salesforce のオブジェクト、レコード、フィールドとは | オブジェクトはクラス エンティティであり、リレーショナル データベースのテーブルに似ています。標準またはカスタムにできます。標準オブジェクトはデフォルトで Salesforce に含まれていますが、カスタム オブジェクトはユーザーがユースケースに固有のデータを保存するために作成します。 レコードは、リレーショナル データベースの行と同様に、オブジェクトの特定のインスタンスです。 フィールドは、リレーショナル データベースの列と同様に、オブジェクトの特定の属性です。 |
BigQuery の宛先の動作
質問 | 回答 |
---|---|
Datastream と BigQuery はどのように連携してソース データベースからの変更を複製しますか? | Datastream は、ソースデータベースから変更ストリームを継続的に読み取り、Storage Write API を使用して、アップサート イベントと削除イベントを BigQuery の宛先テーブルにストリーミングします。BigQuery は、テーブルの未更新の構成に基づいて、テーブルに変更を適用します。 |
BigQuery でデータ操作言語(DML)オペレーションはどのように適用されますか? |
|
Datastream と BigQuery はイベントの順序をどのように処理しますか? | BigQuery は、イベント メタデータと内部変更シーケンス番号(CSN)を使用して、イベントを正しい順序でテーブルに適用します。イベントのメタデータの詳細については、イベントとストリームをご覧ください。 |
Datastream と併用した場合の BigQuery の費用はどのように計算されますか? | BigQuery の費用は、Datastream とは別に計算され、請求されます。BigQuery の費用を管理する方法については、BigQuery CDC の料金をご覧ください。 |
BigQuery へのデータのストリーミング時に Datastream でサポートされている最大行サイズはどのくらいですか? | Datastream でサポートされている最大行サイズは 20 MB です。 |
BigQuery にストリーミングすると、テーブル名の接頭辞は になります。BigQuery のテーブルがソース データベースと同じ構造になるように、この動作を変更できますか? |
BigQuery の宛先用にデータセットを構成する場合は、スキーマごとにデータセットを作成するか、すべてのスキーマに対して 1 つのデータセットを作成します。スキーマごとにデータセットを作成すると、ソース内の各スキーマが BigQuery のデータセットにマッピングされ、ソーススキーマ内のすべてのテーブルがデータセット内のテーブルにマッピングされます。すべてのスキーマ オプションに対して単一データセットを選択すると、BigQuery のテーブルの命名規則に従って、テーブル名の先頭に が付けられます。 |
CDC は、ソースに列が挿入または削除されたときなど、ソースのスキーマ変更をキャプチャできますか?このような変更は、宛先 BigQuery データセットのすでにデータが入力されているテーブルに自動的に反映されますか? | Datastream は新しい列を自動的に検出し、新しい行の宛先スキーマに追加しますが、宛先にすでに複製されている行には追加しません。削除された列は無視され、Datastream は宛先で NULL 値を入力します。その後、BigQuery でこれらの列を手動で削除できます。 |
Cloud Storage の宛先の動作
質問 | 回答 |
---|---|
Cloud Storage でファイルはどのように作成されますか? | Datastream はテーブルごとにフォルダを作成します。Datastream は、ユーザー定義のサイズまたは時間のしきい値に達するたびに、各フォルダでファイルをローテーション(または新しいファイルを作成)します。また、Datastream は、スキーマの変更が検出されるたびにファイルをローテーションします。ファイル名は、スキーマのハッシュに基づく一意のスキーマキーと、それに続くファイルの最初のイベントのタイムスタンプで構成されます。セキュリティ上の理由から、これらのファイル名は人々が読んだり理解したりすることは意図されていません。 |
Cloud Storage 内のデータが順序付けられていない場合、宛先に読み込まれる前にイベントを並べ替えるにはどうすればよいですか? | 各イベントには、ログファイル内の行を一意に識別し、イベントを並べ替えることができる複数のメタデータ フィールドが含まれています。次のようなフィールドがあります。 Oracle ソースの場合:
MySQL ソースの場合:
PostgreSQL ソースの場合:
メタデータ フィールドの詳細については、ソース固有のメタデータをご覧ください。 |
同じタイムスタンプで複数のファイルが作成された場合、どの順序で処理する必要がありますか? | ファイル内およびファイル間の順序は保証されないため、ソースのファイルを処理する順序を決定する最良の方法は、特定のタイムスタンプのすべてのファイルからすべてのイベントを取得し、このセクションで前述した方法で順序を適用することです。 |
主キーの更新はどのように処理されますか?イベントの前と後の情報はありますか? | 行の主キーが変更されると、Datastream によって変更に対応する UPDATE-DELETE と UPDATE-INSERT の 2 つのイベントが生成されます。UPDATE-DELETE イベントは更新前のデータを表し、UPDATE-INSERT は更新後のデータを表します。ソース固有のメタデータの詳細については、イベントとストリームをご覧ください。 |
Cloud Storage へのデータのストリーミング時に Datastream でサポートされている最大行サイズはどのくらいですか? | Datastream でサポートされている最大行サイズは 100 MB です。 |
ユースケース
質問 | 回答 |
---|---|
Datastream を使用する一般的なユースケースは何ですか? | Datastream は CDC とレプリケーション サービスです。つまり、継続的にストリーミングされる変更データにアクセスすることでメリットが得られる、さまざまなユースケースに柔軟に対応できます。Datastream の最も一般的なユースケースは次のとおりです。
|
統合
質問 | 回答 |
---|---|
Datastream はデータサービスとどのように統合されますか? Google Cloud | Datastream は、ソースからさまざまな Google Cloud サービスへの CDC データ レプリケーションを提供することで、 Google Cloud データスイートを補完し、強化します。Datastream は、これらのサービスとシームレスに統合することで、より大きな Google Cloud エコシステムに収まります。 Datastream は、次のデータサービスと統合されています。
|
Dataflow の Datastream-to-BigQuery テンプレートのデータ操作言語(DML)オペレーションの数に制限はありますか? | いいえ。このテンプレートは、ストリーミング挿入 API を使用してデータを BigQuery に読み込みます。そのため、DML オペレーションの数に制限はありません。ただし、一部の割り当て上限が適用されます。 |
セキュリティと接続
質問 | 回答 |
---|---|
Datastream は機密データに適した安全なサービスですか? | Datastream は、ソースから宛先にストリーミングされる転送中のデータを保護するために、複数の安全なプライベート接続構成をサポートしています。データが複製されると、デフォルトで暗号化され、BigQuery または Cloud Storage のセキュリティ管理が利用されます。Datastream によってバッファリングされたデータは、すべて保存時に暗号化されます。 |
ソースを Datastream に接続するために使用できる接続オプションはどれですか? | 構成できる接続方法には、次の 3 種類があります。
|
Datastream による機密データの処理を制限するにはどうすればよいですか? |
Datastream では、宛先にストリーミングするソースの特定のデータ要素(スキーマ、テーブル、列)や、ストリーミングから除外する要素を指定できます。 データベースログには、ストリーム定義で除外された要素の変更データが含まれている場合があります。ソースでこれらの要素はフィルタできないため、Datastream はこれらの要素に関連付けられたデータを読み取りますが、無視します。 |
Datastream はデータベース認証情報をどのように保護しますか? | Secret Manager を使用してパスワードを保存する場合でも、接続プロファイルの作成時にパスワードを手動で入力する場合でも、すべてのユーザー メタデータは転送中と保存時に暗号化され、Google の独自のストレージ システムに保存されます。このメタデータへのアクセスは追跡され、監査されます。 |
[プライベート接続構成の作成] には、共有 VPC でプライベート接続構成を作成するために、Datastream サービス アカウントに roles/compute.networkAdmin ロールを付与する必要があると書いてありますが、なぜですか? |
networkAdmin ロールは、VPC ピアリングの作成にのみ必要です。ピアリングが確立されると、このロールは不要になります。 組織で Datastream サービス アカウントへの networkAdmin ロールの付与が許可されていない場合は、次の特定の権限を持つカスタムロールを作成します。
IP 範囲を動的に選択する
ピアリングされたネットワークを作成する
IP アドレスを予約する
|
Private Service Connect を使用してプライベート接続の構成を作成できますか? | Datastream は、プライベート接続構成として Private Service Connect インターフェースをサポートしています。Private Service Connect インターフェースは、プロデューサーの Virtual Private Cloud(VPC)ネットワークがコンシューマー VPC ネットワーク内のネットワーク アタッチメントへの接続を開始し、そのネットワーク アタッチメントからの接続を受信できるようにするためのリソースです。詳細については、Private Service Connect インターフェースを構成するをご覧ください。 |
Datastream のモニタリング
質問 | 回答 |
---|---|
すべての履歴データが宛先にコピーされたことを、どのように確認できますか? | Datastream は、現在のステータスに関する情報をログファイルに記録します。テーブルのバックフィルが完了したことを示すログエントリが作成されます。 |
レイテンシが一時的に上昇し、その後徐々に低下します。これは想定されることですか? | ソースで生成されるイベント スループットが増加すると、Datastream は自動的にスケールアップします。ただし、ソース データベースと Datastream の両方を保護するため、Datastream が同時に開くことができる接続とプロセスの数には上限があります。イベントのスループットの大幅な増加が見込まれ、イベントのバックログの処理が徐々に行われると、レイテンシの一時的な急増が予測されます。 |
料金
質問 | 回答 |
---|---|
Datastream の料金体系はどのようになっていますか? | Datastream の料金は、ソースから宛先に処理されたデータの量(GB)に基づいて計算されます。 Datastream の料金の詳細については、料金をご覧ください。 |
データのサイズの計算方法を教えてください。 | 課金は、Datastream で処理されるデータのサイズに基づいて計算されます。Datastream では、宛先にストリーミングされたデータに対してのみ課金されます。 |
BigQuery または Dataflow で Datastream を使用する場合、料金はどのくらいですか? | 各サービスは個別に料金設定され、個別に課金されます。 |
その他の情報
質問 | 回答 |
---|---|
Datastream の使用に関して他に質問や問題がある場合はどうすればよいですか? | Datastream の使用に関して問題が発生した場合は、Google のサポートチームがサポートを行います。また、このトラブルシューティング ガイドでは、Datastream の使用中に発生する可能性のある一般的な問題を扱っています。 |
次のステップ
- Datastream の詳細を確認します。
- Datastream の主なコンセプトと機能について学ぶ。
- Datastream がサポートするソースについて学習する。
- Datastream がサポートする宛先について学習する。