[Maria-developers] Group commit comparison between mysql and mariadb
Hi Kristian, I'm wondering, do we have any comparison of MariaDB's binlog group commit implementation vs MySQL's binlog's group commit? I recall Mats writing a blog about the differences last year, but he didn't have the code back then. I'm wondering if Oracle had implemented what he described, or did something else... I understand that in order to do benchmark we need to finish merging InnoDB from MySQL 5.6 into MariaDB 10.0. One can't benchmark group commit per se, it is tied to innodb. Do we still have any clue, before the merge happens? Btw, what should the merge do - take group commit from MariaDB or from MySQL? BR Sergei -- Sergei Petrunia, Software Developer Monty Program AB, http://askmonty.org Blog: http://s.petrunia.net/blog
Sergei Petrunia <psergey@askmonty.org> writes:
Hi Kristian,
I'm wondering, do we have any comparison of MariaDB's binlog group commit implementation vs MySQL's binlog's group commit? I recall Mats writing a blog
This is the best I have: http://kristiannielsen.livejournal.com/16382.html You can also try asking Monty, I believe he did something about this in his slides at the UC this Spring.
about the differences last year, but he didn't have the code back then. I'm wondering if Oracle had implemented what he described, or did something else...
What Oracle (and Mats, I think) ended up implementing is completely different from what Mats originally described in his blogs. The idea in the final implementation in MySQL 5.6 is basically the same as the MariaDB group commit. The implementation is completely different (and in my opinion it has some problems).
I understand that in order to do benchmark we need to finish merging InnoDB from MySQL 5.6 into MariaDB 10.0. One can't benchmark group commit per se, it is tied to innodb.
Well, if you do a write-benchmark with short transactions and crash-safe configuration (--log-bin --innodb-flush-log-at-trx-commit=1 --sync-binlog=1), the fsync() at commit will be your bottleneck unless you have a _very_ fast disk system (remember to disable disk cache, unless you have a battery-backed-up controller). This kind of load and setup is where binlog group commit is interesting. Most likely other differences between different InnoDB versions will not be visible...
Do we still have any clue, before the merge happens? Btw, what should the merge do - take group commit from MariaDB or from MySQL?
The MariaDB one (we have other code that depends on it, and the MySQL one has serious deadlock and other issues, see this mail thread: https://lists.launchpad.net/maria-developers/msg05239.html ). But note that we have already done this. A previous merge with an earlier MySQL 5.6 InnoDB was done, where the MySQL 5.6 group commit part in InnoDB was replaced with the MariaDB part. Note that there are only small changes inside InnoDB for group commit, most of it happens in the binlog code. Hope this helps, - Kristian.
Hi! On 11 Jun 2013, at 17:43, Kristian Nielsen <knielsen@knielsen-hq.org> wrote:
Sergei Petrunia <psergey@askmonty.org> writes:
Hi Kristian,
I'm wondering, do we have any comparison of MariaDB's binlog group commit implementation vs MySQL's binlog's group commit? I recall Mats writing a blog
This is the best I have:
http://kristiannielsen.livejournal.com/16382.html
You can also try asking Monty, I believe he did something about this in his slides at the UC this Spring.
It was based on the older work you did, before 5.6 became GA. So there is nothing new, i.e. something done recently/in 2013 -- Colin Charles, http://bytebot.net/blog/ | twitter: @bytebot | skype: colincharles MariaDB: Community developed. Feature enhanced. Backward compatible. Download it at: http://www.mariadb.org/ Open MariaDB/MySQL documentation at the Knowledgebase: http://kb.askmonty.org/
FYI we migrated from MariaDB group commit to Oracle group commit and attempted to keep the MariaDB testcases, unfortunately without group_commit and group_commit_binlog_pos for now. Then from our perspective the difference in the implementations was the following: http://bugs.mysql.com/bug.php?id=68929 (cosmetical) http://bugs.mysql.com/bug.php?id=68932 (IMHO serious) http://bugs.mysql.com/bug.php?id=68953 (IMHO serious, fixed in 5.6.12). The fact that we didn't port all the testcases is https://bugs.launchpad.net/percona-server/+bug/1168312. 2013/6/11 Sergei Petrunia <psergey@askmonty.org>:
Hi Kristian,
I'm wondering, do we have any comparison of MariaDB's binlog group commit implementation vs MySQL's binlog's group commit? I recall Mats writing a blog about the differences last year, but he didn't have the code back then. I'm wondering if Oracle had implemented what he described, or did something else...
I understand that in order to do benchmark we need to finish merging InnoDB from MySQL 5.6 into MariaDB 10.0. One can't benchmark group commit per se, it is tied to innodb.
Do we still have any clue, before the merge happens? Btw, what should the merge do - take group commit from MariaDB or from MySQL?
BR Sergei -- Sergei Petrunia, Software Developer Monty Program AB, http://askmonty.org Blog: http://s.petrunia.net/blog
_______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
-- Laurynas
participants (4)
-
Colin Charles
-
Kristian Nielsen
-
Laurynas Biveinis
-
Sergei Petrunia