Achieving durability with commit scopes v6.4.0

Use commit scopes to control when PGD acknowledges a commit. Commit scopes let you align your database's durability guarantees with your workload's needs. Which scope fits depends on your deployment, your tolerance for data loss, and your consistency requirements:

  • Distributing data across regions. In a geo-distributed cluster, every synchronous cross-region confirmation adds latency. If you can't tolerate data loss on a regional failure, use Synchronous Commit to require remote confirmation before a commit returns, with an optional timeout to fall back to async when peers are slow to respond.

  • Processing high-value transactions. In payments or banking, two nodes can independently commit conflicting changes. By the time the conflict surfaces, both transactions have already completed. Use Quorum Commit to prevent conflicting commits at the transaction level.

  • Meeting data compliance requirements. Regulations like GDPR may require data to be confirmed as resident in a specific region before a transaction is complete. Committing asynchronously creates a window where the data exists only outside the compliant region. Use Synchronous Commit to make the commit itself the guarantee that data is resident in the required region.

  • Protecting a high-throughput ingest pipeline. Synchronous confirmation on every write adds latency that compounds at scale, but committing with no replication guarantee risks losing a large window of data on node failure. Use Lag Control to keep async performance while bounding how far replication can fall behind.

  • Preventing duplicate transactions on failover. When a client retries after a connection failure, it can't always know whether the original commit succeeded. Use CAMO to prevent a transaction from being applied more than once on retry.

PGD offers two ways to configure commit scopes. Predefined scopes are ready to use with no configuration and cover the most common single-group patterns. If your cluster spans multiple groups with different requirements, or you need distributed consistency guarantees, custom scopes let you compose your own policy using the full commit scope language.