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