We have just released MySQL 8.0.20. And it has some interesting replication enhancements. In particular one big and exciting feature: binary log compression. Here is the list of things in this release:
- Binary Log Compression (WL#3549). This work done by Luís Soares implements binary log compression, making use of the popular compression algorithm ZSTD. Compression is done per transaction. Compressed transactions remain compressed when they are replicated between servers. This means that storing on disk and moving the contents of the binary log around through the network shall consume less storage space and network bandwidth respectively.
- Controlling Primary Key Checks on Secondaries (WL#13239). This work done by Pedro Gomes enables the user or operator to control whether the applier threads are allowed to: (a) create or alter tables in such a way that would leave them with no primary key; (b) apply CREATE TABLE or ALTER TABLE without holding the privileges to alter @@session.sql_require_primary_key. This means that a DBA operating a secondary, that is deployed on a different responsibility domain than that of the primary, can adjust the primary key policies on that secondary server independently of the settings on the upstream primary server.
Alright, this time it is a small list – but compelling! Have fun trying out these new replication features in MySQL 8.0.20 and send us feedback either by commenting on this blog post or by submitting a feature request or even a bug. Enjoy!