Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-6877

Merge binlog_row_image from MySQL 5.6

Details

    • 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
      ===
      The final piece in improving replication performance is to introduce efficiencies to the binary log itself.

      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)
      ===

      Attachments

        Issue Links

          Activity

            arjen Arjen Lentz added a comment - - edited

            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.
            Ref: MDEV-5277

            arjen Arjen Lentz added a comment - - edited 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. Ref: MDEV-5277

            Can you please review the patch set found here?

            https://github.com/MariaDB/server/compare/10.1-MDEV-6877-binlog_row_image

            Thanks
            Vicentiu

            cvicentiu Vicențiu Ciorbaru added a comment - Can you please review the patch set found here? https://github.com/MariaDB/server/compare/10.1-MDEV-6877-binlog_row_image Thanks Vicentiu
            cvicentiu Vicențiu Ciorbaru added a comment - Implemented with: https://github.com/MariaDB/server/compare/768620ee5c71...1a3321b6496d
            danblack Daniel Black added a comment - - edited

            great work cvicentiu.

            missing from documentation however https://mariadb.com/kb/en/mariadb/server-system-variables/

            danblack Daniel Black added a comment - - edited great work cvicentiu . missing from documentation however https://mariadb.com/kb/en/mariadb/server-system-variables/
            danblack Daniel Black added a comment -

            greenman - ^ new variable undocumented

            danblack Daniel Black added a comment - greenman - ^ new variable undocumented
            danblack Daniel Black added a comment -

            thanks greenman

            danblack Daniel Black added a comment - thanks greenman

            People

              cvicentiu Vicențiu Ciorbaru
              arjen Arjen Lentz
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.