Skip to content

Commit 8b01e6f

Browse files
authored
Merge pull request #352 from percona/pxc-5243-8.4
PXC-5243 [DOCS] - PXC missing documentation about streaming replicati…
2 parents 4276d7b + 0fea7db commit 8b01e6f

7 files changed

Lines changed: 684 additions & 5 deletions

docs/gcache-record-set-cache-difference.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ then the storage is switched from Heap to Page
2424
All these limits are non-configurable,
2525
but having a memory-page size greater than 4MB per transaction
2626
can cause things to stall due to memory pressure,
27-
so this limit is reasonable. This is another
28-
limitation to address when Galera supports large transaction.
27+
so this limit is reasonable. For large or long-running transactions that exceed these caches, use [streaming replication](streaming-replication.md).
2928

3029
The same long-running transaction will also generate binlog data
3130
that also appends to out-write-set on commit (`HeapStore->FileStore`).

docs/glossary.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ This property guarantees that all updates of a transaction occur in the database
2222
Normal replication path for cluster members. Can be encrypted (not by
2323
default) and unicast or multicast (unicast by default). Runs on tcp port 4567 by default.
2424

25+
## Certification
26+
27+
Process by which Galera validates that a transaction's changes do not conflict with changes already committed on other cluster nodes. For details, see [Certification in Percona XtraDB Cluster](certification.md).
28+
2529
## Consistency
2630

2731
This property guarantees that each transaction that modifies the database takes it from one consistent state to another. Consistency is implied with [Isolation](#isolation).
@@ -38,6 +42,10 @@ The node elected to provide a state transfer (SST or IST).
3842

3943
Once a transaction is committed, it will remain so and is resistant to a server exit.
4044

45+
## Flow control
46+
47+
Mechanism that pauses write-set replication when a node's receive queue exceeds configured thresholds. Flow control throttles the cluster to let slow nodes catch up. Monitor flow control with the status variables in [Index of wsrep status variables](wsrep-status-index.md#flow-control-variables).
48+
4149
## Foreign Key
4250

4351
A referential constraint between two tables. Example: A purchase order in the purchase_orders table must have been made by a customer that exists in the customers table.
@@ -149,6 +157,10 @@ A majority (> 50%) of nodes. In the event of a network partition, only the clus
149157

150158
Split brain occurs when two parts of a computer cluster are disconnected, each part believing that the other is no longer running. This problem can lead to data inconsistency.
151159

160+
## Streaming replication
161+
162+
A Galera 4 feature that divides large or long-running transactions into smaller fragments. Galera certifies and replicates each fragment while the transaction remains open. Enable streaming replication at the session level with [`wsrep_trx_fragment_unit`](wsrep-system-index.md#wsrep_trx_fragment_unit) and [`wsrep_trx_fragment_size`](wsrep-system-index.md#wsrep_trx_fragment_size). For details, see [Streaming replication for large transactions](streaming-replication.md).
163+
152164
## SST
153165

154166
State Snapshot Transfer is the full copy of data from one node to another. It's used when a new node joins the cluster, it has to transfer data from an existing node.
@@ -168,6 +180,10 @@ A [`Storage Engine`](#storage-engine) is a piece of software that implements the
168180

169181
A tech preview item can be a feature, a variable, or a value within a variable. The term designates that the item is not yet ready for production use and is not included in support by SLA. A tech preview item is included in a release so that users can provide feedback. The item is either updated and released as [general availability(GA)](#general-availability-ga) or removed if not useful. The item’s functionality can change from tech preview to GA.
170182

183+
## Write-set
184+
185+
Binary log representation of the rows a transaction modifies. Galera replicates write-sets between cluster nodes for [certification](#certification) and application. Write-set caching during long transactions is described in [Understand GCache and Record-Set cache](gcache-record-set-cache-difference.md).
186+
171187
## UUID
172188

173189
Universally Unique IDentifier which uniquely identifies the state and the sequence of changes node undergoes. 128-bit UUID is a classic DCE UUID Version 1 (based on current time and MAC address). Although in theory this UUID could be generated based on the real MAC-address, in the Galera it is always (without exception) based on the generated pseudo-random addresses ("locally administered" bit in the node address (in the UUID structure) is always equal to unity).

docs/index-contents.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
- [Security basics](security-index.md)
5656
- [Set up a testing environment with ProxySQL](virtual-sandbox.md)
5757
- [Set up Galera arbitrator](garbd-howto.md)
58+
- [Streaming replication for large transactions](streaming-replication.md)
5859
- [State snapshot transfer](state-snapshot-transfer.md)
5960
- [State Snapshot Transfer (SST) Method using Clone plugin](clone-sst.md)
6061
- [Telemetry on Percona XtraDB Cluster](telemetry.md)

docs/limitation.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ The following limitations apply to Percona XtraDB Cluster:
2626
2727
`LOAD DATA INFILE` processing will commit every 10 000 rows. So large transactions due to `LOAD DATA` will be split into a series of small transactions.
2828
29+
For transactions that exceed these limits or cause replication lag and flow control, use [streaming replication](streaming-replication.md) (available in Galera 4) instead of raising the limits globally.
30+
2931
* Transaction issuing `COMMIT` may still be aborted at that stage.
3032
3133
Due to cluster-level optimistic concurrency control, there can be two transactions writing to the same rows and committing on separate Percona XtraDB Cluster nodes, and only one of them can successfully commit. The failing one will be aborted. For cluster-level aborts, Percona XtraDB Cluster returns a deadlock error code:

0 commit comments

Comments
 (0)