Abstract:
Parallel logical replication involves multiple apply threads running on a destination database server applying, in parallel, changes made by source transactions, where the changes of a single source transaction may be applied in parallel by multiple apply threads. An apply transaction for a source transaction may be committed by an apply thread independently of the commitment of any other apply transaction of the source transaction, that is, without coordinating the committing of another apply transaction executed by another apply thread for the source transaction. A configuration language is used to configure parallel logical replication. The language facilitates the configuration of various aspects of parallel logical replication, including the number of apply threads, partitioning schemes for the apply threads for partitioning change records between the apply threads, and various other aspects of parallel logical replication.
Abstract:
Parallel logical replication involves multiple apply threads running on a destination database server applying, in parallel, changes made by source transactions, where the changes of a single source transaction may be applied in parallel by multiple apply threads. An apply transaction for a source transaction may be committed by an apply thread independently of the commitment of any other apply transaction of the source transaction, that is, without coordinating the committing of another apply transaction executed by another apply thread for the source transaction. A configuration language is used to configure parallel logical replication. The language facilitates the configuration of various aspects of parallel logical replication, including the number of apply threads, partitioning schemes for the apply threads for partitioning change records between the apply threads, and various other aspects of parallel logical replication.
Abstract:
Techniques are provided for dependency-aware transaction batching for data replication. A plurality of change records corresponding to a plurality of transactions is read. Inter-transaction dependency data is generated, the inter-transaction dependency data including at least one inter-transaction dependency relationship between a plurality of pending transactions. Each inter-transaction dependency relationship indicates that a first transaction is dependent on a second transaction. A batch transaction is generated based on the inter-transaction dependency data. The batch transaction includes at least one pending transaction of the plurality of pending transactions. The batch transaction is assigned to an apply process of a plurality of apply processes configured to apply batch transactions in parallel.
Abstract:
Techniques are provided for dependency-aware transaction batching for data replication. A plurality of change records corresponding to a plurality of transactions is read. Inter-transaction dependency data is generated, the inter-transaction dependency data including at least one inter-transaction dependency relationship between a plurality of pending transactions. Each inter-transaction dependency relationship indicates that a first transaction is dependent on a second transaction. A batch transaction is generated based on the inter-transaction dependency data. The batch transaction includes at least one pending transaction of the plurality of pending transactions. The batch transaction is assigned to an apply process of a plurality of apply processes configured to apply batch transactions in parallel.