Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 10.1.6
    • Component/s: Replication
    • Labels:
      None
    • 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
      ===
      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)
      ===

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              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

              Show
              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
              Hide
              cvicentiu Vicentiu 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

              Show
              cvicentiu Vicentiu 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
              Show
              cvicentiu Vicentiu Ciorbaru added a comment - Implemented with: https://github.com/MariaDB/server/compare/768620ee5c71...1a3321b6496d
              Hide
              danblack Daniel Black added a comment - - edited
              Show
              danblack Daniel Black added a comment - - edited great work Vicentiu Ciorbaru . missing from documentation however https://mariadb.com/kb/en/mariadb/server-system-variables/
              Hide
              danblack Daniel Black added a comment -

              Ian Gilfillan - ^ new variable undocumented

              Show
              danblack Daniel Black added a comment - Ian Gilfillan - ^ new variable undocumented
              Hide
              danblack Daniel Black added a comment -
              Show
              danblack Daniel Black added a comment - thanks Ian Gilfillan

                People

                • Assignee:
                  cvicentiu Vicentiu Ciorbaru
                  Reporter:
                  arjen Arjen Lentz
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - 0 minutes
                    0m
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 1 week, 3 days
                    1w 3d

                      Agile