[MDEV-6877] Merge binlog_row_image from MySQL 5.6 Created: 2014-10-16 Updated: 2015-11-01 Resolved: 2015-06-30 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Replication |
| Fix Version/s: | 10.1.6 |
| Type: | Task | Priority: | Major |
| Reporter: | Arjen Lentz | Assignee: | Vicențiu Ciorbaru |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||
| Sprint: | 10.1.6-1 | ||||||||||||||||||||||||||||||||
| Description |
|
Sadly, many production environments do have InnoDB tables without PRIMARY KEY. This happens for instance in Drupal deployments where either core or modules may not always have a PK defined in their structure. This MySQL 5.6 optimisation would help MariaDB slaves execute certain queries faster. Ref http://dev.mysql.com/doc/refman/5.6/en/replication-options-binary-log.html#sysvar_binlog_row_image heading "Optimized Row-Based Replication" quoted below By only replicating those elements of the row image that have changed following INSERT, UPDATE and DELETE operations, replication throughput for both the master and slave(s) can be increased while binary log disk space, network resource and server memory footprint are all reduced. This is especially useful when replicating across datacenters or cloud availability zones. Another performance enhancements is the was Row-Based Replication events are handled on the slave against tables without Primary Keys. Updates would be made via multiple table scans. In MySQL 5.6, no matter size of the event, only one table scan is performed, significantly reducing the apply time. You can learn more about Optimized Row Based Replication from the MySQL documentation (http://dev.mysql.com/doc/refman/5.6/en/replication-options-binary-log.html#sysvar_binlog_row_image) |
| Comments |
| Comment by Arjen Lentz [ 2014-10-16 ] |
|
This option was already flagged for porting by Kristian Nielsen in November 2013 on the MariaDB dev list, in response to an email from Sergey Vojtovic. |
| Comment by Vicențiu Ciorbaru [ 2015-06-22 ] |
|
Can you please review the patch set found here? https://github.com/MariaDB/server/compare/10.1-MDEV-6877-binlog_row_image Thanks |
| Comment by Vicențiu Ciorbaru [ 2015-06-30 ] |
|
Implemented with: https://github.com/MariaDB/server/compare/768620ee5c71...1a3321b6496d |
| Comment by Daniel Black [ 2015-07-29 ] |
|
great work cvicentiu. missing from documentation however https://mariadb.com/kb/en/mariadb/server-system-variables/ |
| Comment by Daniel Black [ 2015-08-06 ] |
|
greenman - ^ new variable undocumented |
| Comment by Daniel Black [ 2015-08-22 ] |
|
thanks greenman |