Skip to content
Open Data Sync ↗

Cloud Bigtable

Data Sync reads Google Cloud Bigtable as a source: it backfills the tables you select, then streams changes from each table's change stream. There is no Bigtable sink.

Source Change streams

Overview

A Bigtable change stream records every mutation to a table. Data Sync reads it rather than re-scanning the table, so each change is seen once. The stream is split into partitions that change as the table splits and merges, which is what the heartbeat and partition-retry settings under Advanced settings tune.

Before you connect

  1. Enable a change stream on every table you want to replicate, with a retention period long enough to cover an outage. If Data Sync is stopped for longer than the retention period, the sync cannot pick up where it stopped.
  2. Grant access to the identity Data Sync uses: it needs to read the tables and their change streams.
# turn on a change stream with 7 days of retention gcloud bigtable instances tables update orders \ --instance=example-instance \ --change-stream-retention-period=7d

Connection fields

Set once, on the connection, in step 2 of the add-a-connection wizard.

FieldDefaultDescription
project_idRequired—The Google Cloud project that owns the instance.
instance_idRequired—The Bigtable instance.
app_profile_idOptionalThe instance's default profileThe app profile Data Sync's reads go through, so you can route them to a specific cluster.
endpointOptionalGoogle CloudA custom endpoint. Leave it empty for the standard endpoint.
credentials_fileAdvanced—A service-account key file for the runner to use. Most connections attach the key in step 3 instead.
heartbeat_intervalAdvanced5sHow often the change stream reports progress on a quiet partition.
partition_retry_backoffAdvanced1sThe wait before retrying a change-stream partition that failed.

Credentials

Step 3 asks for Credentials JSON: a service-account key, stored as a Blunox-managed secret or as a reference to your own secret store. Leave it empty when the runner already has an identity in the project. See Connections.