{"id":2295,"date":"2012-02-05T09:32:45","date_gmt":"2012-02-05T14:32:45","guid":{"rendered":"http:\/\/www.bytebot.net\/blog\/?p=2295"},"modified":"2012-02-05T09:32:51","modified_gmt":"2012-02-05T14:32:51","slug":"replication-features-of-2011-by-sergey-petrunia","status":"publish","type":"post","link":"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/replication-features-of-2011-by-sergey-petrunia","title":{"rendered":"Replication features of 2011 by Sergey Petrunia"},"content":{"rendered":"<p><a href=\"http:\/\/s.petrunia.net\/blog\/\">Sergey Petrunia<\/a> of the\u00a0<a href=\"http:\/\/mariadb.org\/\">MariaDB<\/a> project &amp;<a href=\"http:\/\/montyprogram.com\/\"> Monty Program<\/a>.<\/p>\n<p>MySQL 5.5 GA at the end of 2010. MariaDB 5.3 RC towards the end of 2011 (beta in June 2011).<\/p>\n<p>MySQL 5.5 is merged to Percona Server 5.5 which included semi-sync replication, slave fsync options, atuomatic relay log recovery, RBR slave type conversions (question if this is useful or not), individual log flushing (very useful, but not many using), replication heartbeat, SHOW RELAYLOG EVENTS. About 2\/3rds of the audience use MySQL 5.5 in production, with only 2 people using semi-sync replication.<\/p>\n<p>MariaDB 5.3 brings replication features brings group commit in the binary log, which is merged into Percona Server 5.5. Checksums for binlog events which is merged from MySQL 5.6. Sergey goes in-depth about the <a href=\"http:\/\/kb.askmonty.org\/en\/group-commit-for-the-binary-log\">group commit for the binary log<\/a>. To find out a little more about MariaDB replication changes, see <a href=\"http:\/\/kb.askmonty.org\/en\/replication\">Replication<\/a> in the Knowledgebase.<\/p>\n<p>There are several implementations of group commit. Facebook started it, followed by MariaDB &amp; Oracle. Percona 5.5 is GA so the feature is there, its not in MySQL 5.6 (yet?), and MariaDB 5.3 is where its at. Seems like the MariaDB implementation is the best so far &#8211; refer to the <a href=\"https:\/\/www.facebook.com\/note.php?note_id=10150261692455933\">Facebook benchmark<\/a> performed by Mark Callaghan.<\/p>\n<p><a href=\"http:\/\/kb.askmonty.org\/en\/annotate_rows_log_event\">Annotated RBR<\/a> poses a compatibility problem. MariaDB 5.3 has annotate_rows, while MySQL 5.6 has rows_query event. They are different events. So you cannot have a MariaDB 5.3 master and a MySQL 5.6 slave at this moment. So MySQL 5.6 will have a flag to mark &#8220;ignorable&#8221; binlog events which will be merged into MariaDB and this will make binary logs compatible again.<\/p>\n<p>There is now also optimized <a href=\"http:\/\/kb.askmonty.org\/en\/row-based-replication-with-no-primary-key\">RBR for tables with no primary key<\/a>.<\/p>\n<p>MySQL 5.6 also has crash-safe slave (replication information stored in tables). Crash-safe master (binary log recovery if the server starts &amp; sees the binary log is corrupted). <a href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.6\/en\/news-5-6-3.html\">Parallel event execution<\/a> is something that is new in MySQL 5.6 which is the most important feature for Sergey.<\/p>\n<p>Pre-heating: There is mk-slave-prefetch (<a href=\"https:\/\/twitter.com\/#!\/xaprb\/status\/128876485472829440\">famous quote<\/a>: &#8220;Please don&#8217;t use mk-slave-prefetch on #MySQL unless you are Facebook.&#8221;). There is <a href=\"http:\/\/yoshinorimatsunobu.blogspot.com\/2011\/10\/making-slave-pre-fetching-work-better.html\">replication booster<\/a> by Yoshinori Matsunobu. There is a <a href=\"http:\/\/dom.as\/2011\/12\/03\/replication-prefetching\/\">Python version<\/a> of mk-slave-prefetch that Facebook uses.<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"mailto:?subject=%5BShared%20Post%5D%20Replication%20features%20of%202011%20by%20Sergey%20Petrunia&body=http%3A%2F%2Fwww.bytebot.net%2Fblog%2Farchives%2F2012%2F02%2F05%2Freplication-features-of-2011-by-sergey-petrunia&share=email\" target=\"_blank\" title=\"Click to email a link to a friend\" data-email-share-error-title=\"Do you have email set up?\" data-email-share-error-text=\"If you&#039;re having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself.\" data-email-share-nonce=\"d4fd470b2c\" data-email-share-track-url=\"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/replication-features-of-2011-by-sergey-petrunia?share=email\"><span>Email<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-2295\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/replication-features-of-2011-by-sergey-petrunia?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\" ><span>Facebook<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-2295\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/replication-features-of-2011-by-sergey-petrunia?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\" ><span>LinkedIn<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-2295\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/replication-features-of-2011-by-sergey-petrunia?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\" ><span>Twitter<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Sergey Petrunia of the\u00a0MariaDB project &amp; Monty Program. MySQL 5.5 GA at the end of 2010. MariaDB 5.3 RC towards the end of 2011 (beta in June 2011). MySQL 5.5 is merged to Percona Server 5.5 which included semi-sync replication, slave fsync options, atuomatic relay log recovery, RBR slave type conversions (question if this is [&hellip;]<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"mailto:?subject=%5BShared%20Post%5D%20Replication%20features%20of%202011%20by%20Sergey%20Petrunia&body=http%3A%2F%2Fwww.bytebot.net%2Fblog%2Farchives%2F2012%2F02%2F05%2Freplication-features-of-2011-by-sergey-petrunia&share=email\" target=\"_blank\" title=\"Click to email a link to a friend\" data-email-share-error-title=\"Do you have email set up?\" data-email-share-error-text=\"If you&#039;re having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself.\" data-email-share-nonce=\"d4fd470b2c\" data-email-share-track-url=\"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/replication-features-of-2011-by-sergey-petrunia?share=email\"><span>Email<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-2295\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/replication-features-of-2011-by-sergey-petrunia?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\" ><span>Facebook<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-2295\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/replication-features-of-2011-by-sergey-petrunia?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\" ><span>LinkedIn<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-2295\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/replication-features-of-2011-by-sergey-petrunia?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\" ><span>Twitter<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_options":[]},"categories":[1064,23],"tags":[1332,1052,1775,1046,1339],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4vJD-B1","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":2256,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/mariadb-5-3-query-optimizer-by-sergey-petrunia","url_meta":{"origin":2295,"position":0},"title":"MariaDB 5.3 query optimizer by Sergey Petrunia","date":"5\/2\/2012","format":false,"excerpt":"Sergey Petrunia of the MariaDB project. What exactly is not working in MySQL? MySQL is poor at decision support\/analytics. With large datasets you need special disk access strategies. Complex queries like insufficient subquery support and big joins are common int he MySQL world. DBT-3 is used, scale=30, with a 75GB\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2924,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2014\/05\/02\/mysql-5-6-gtid-mariadb-10-replication","url_meta":{"origin":2295,"position":1},"title":"MySQL 5.6 + GTID &#038; MariaDB 10 replication","date":"2\/5\/2014","format":false,"excerpt":"While at the keynote of\u00a0Tomas Ulin\u00a0at Percona Live MySQL Conference & Expo Santa Clara 2014, he asked the audience what they were running, and most of the audience was on MySQL 5.5 while about 15% of the audience was on MySQL 5.6. This number is steadily increasing I\u2019m sure, so\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2335,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2012\/03\/22\/mariadb-at-percona-live-santa-clara","url_meta":{"origin":2295,"position":2},"title":"MariaDB at Percona Live Santa Clara","date":"22\/3\/2012","format":false,"excerpt":"I for one can say that I'm truly excited that MariaDB will be part of Percona Live Santa Clara. The MariaDB session list includes: A tutorial: Improving MySQL\/MariaDB query performance through optimizer tuning by\u00a0Timour Katchaounov and\u00a0Sergey Petrunia. You can benefit from this even as a stock MySQL user naturally. MySQL\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2126,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2011\/04\/20\/where-is-mariadb-today","url_meta":{"origin":2295,"position":3},"title":"Where is MariaDB today?","date":"20\/4\/2011","format":false,"excerpt":"These were my notes from the \"Where is MariaDB today?\" session at the Lisbon MariaDB Developers Meeting that happened in March 2011. I just realised I hadn't posted it; also note that it is really raw. Where is MariaDB today? 5.3 - look at the KB article titled \"MariaDB 5.3\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2735,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2013\/06\/01\/percona-has-more-mariadb-features-now","url_meta":{"origin":2295,"position":4},"title":"Percona has more MariaDB features now","date":"1\/6\/2013","format":false,"excerpt":"Lately more people ask me for comparisons between Percona Server & MariaDB. There isn't a definitive blow-by-blow feature comparison yet, but it'll come soon. All that said, its great to see new features from MariaDB make it into Percona Server. The features that I've managed to track: group commit for\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2354,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2012\/03\/30\/paybox-services-and-seeing-mariadb-in-use","url_meta":{"origin":2295,"position":5},"title":"Paybox Services and seeing MariaDB in use","date":"30\/3\/2012","format":false,"excerpt":"When I was at MySQL, I took for granted that pretty much every website I used had software at the back of it that was basically MySQL. It was a nice feeling. MariaDB is a lot younger, so when I was in Paris and had to make a payment for\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/2295"}],"collection":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/comments?post=2295"}],"version-history":[{"count":2,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/2295\/revisions"}],"predecessor-version":[{"id":2297,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/2295\/revisions\/2297"}],"wp:attachment":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/media?parent=2295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/categories?post=2295"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/tags?post=2295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}