Three replication-log implementations
Three replication-log implementations
Statement-based
WAL shipping
Logical (row-based)
IDEA — WHAT SHIPS
ships the SQL text
follower re-executes
INSERT / UPDATE / DELETE
ships physical bytes
same block changes
engine to engine
row-level records
new row / key / delta
decoupled from engine
WEAKNESS
NOW() + RAND() differ
order + side effects
may diverge silently
tied to one engine
no mixed versions
no rolling upgrade
needs row identity
engine must decode it
heavier than WAL
UPGRADES
risk: nondeterminism
blocks rolling upgrades
rolling upgrades OK
prefer logical: version-proof + feeds CDC pipelines