{"id":536,"date":"2007-04-26T13:38:47","date_gmt":"2007-04-26T18:38:47","guid":{"rendered":"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/26\/extreme-makeover-database-or-mysqlyoutube"},"modified":"2007-04-27T03:10:30","modified_gmt":"2007-04-27T08:10:30","slug":"extreme-makeover-database-or-mysqlyoutube","status":"publish","type":"post","link":"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/26\/extreme-makeover-database-or-mysqlyoutube","title":{"rendered":"Extreme Makeover: Database or MySQL@YouTube"},"content":{"rendered":"<p>Arguably one of the most interesting keynotes (and technical to boot!), Paul Tuckfield not only entertained us in his 40 minute keynote, he also did so outside when the keynotes ended.<\/p>\n<p>Just the DBA at PayPal, just the DBA at YouTube. Only 3 DBAs at YouTube that make it all happen. Only a MySQLer for ~8 months (Oracle for ~15 years). So guess PayPal is a Oracle shop.<\/p>\n<p>MySQL is one (important) piece of the scalability picture.<\/p>\n<p>Technologies: Python, Memcache, MySQL replication. Praises Python, a lot (its much quicker, than C++, to implement goodness).<\/p>\n<p>Click tracking on a separate MyISAM site. But Read\/write on InnoDB, using replication. Far more reads than writes at YouTube<\/p>\n<p>4x2ghz Opteron core, 16GB ram, 12x10krpm scsi &#8211; constantly crashing, replication saved them<\/p>\n<p>5.0 &#8220;mystery cache hits&#8221; &#8211; when you export and import (mysqldump and load back into 5.0), you boost your performance, rather than if you upgrade in place, because there&#8217;s a compact row format. They moved from 4.1 -&gt; 5.0.<\/p>\n<p>Cache is king. Writes, cache by RAID controller rather than the OS. Only the DB should cache reads (not raid, not linux buffer cache)<\/p>\n<p>Software striping atop hardware array.<\/p>\n<p>The oracle caching algorithm &#8211; in academia. Not something I&#8217;ve heard much about, and definitely need to look into it further.<\/p>\n<p>The talk was too long, but would make a most interesting read, and an actual presentation rather than a keynote. I hope his presentation makes it online, sometime soon.<\/p>\n<p><strong>Note-to-entrepreneurs:<\/strong> If building a web business, and you want to be acquired by Google, its quite largely possible that their due diligence includes &#8220;python&#8221; compatibility. Most of their released tools, are all python-related or based. Oh, and make sure you use commodity hardware (in fact, do that if you want to get VC funded, even.)<\/p>\n<p><strong>Update:<\/strong> A little note on the <a href=\"http:\/\/jan.prima.de\/~jan\/plok\/archives\/62-The-oracle-Algorithm-this-is-a-small-o.html\">oracle algorithm<\/a>. If anyone has papers, and more credible links, please do drop me a line.<\/p>\n<p>Technorati Tags: <a href=\"http:\/\/technorati.com\/tag\/mysql\" class=\"performancingtags\" rel=\"tag\">mysql<\/a>, <a href=\"http:\/\/technorati.com\/tag\/mysqlconf\" class=\"performancingtags\" rel=\"tag\">mysqlconf<\/a>, <a href=\"http:\/\/technorati.com\/tag\/mysqlconf07\" class=\"performancingtags\" rel=\"tag\">mysqlconf07<\/a>, <a href=\"http:\/\/technorati.com\/tag\/youtube\" class=\"performancingtags\" rel=\"tag\">youtube<\/a>, <a href=\"http:\/\/technorati.com\/tag\/scaling\" class=\"performancingtags\" rel=\"tag\">scaling<\/a>, <a href=\"http:\/\/technorati.com\/tag\/performance\" class=\"performancingtags\" rel=\"tag\">performance<\/a>, <a href=\"http:\/\/technorati.com\/tag\/architecture\" class=\"performancingtags\" rel=\"tag\">architecture<\/a><\/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%20Extreme%20Makeover%3A%20Database%20or%20MySQL%40YouTube&body=http%3A%2F%2Fwww.bytebot.net%2Fblog%2Farchives%2F2007%2F04%2F26%2Fextreme-makeover-database-or-mysqlyoutube&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=\"5e547a2ae4\" data-email-share-track-url=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/26\/extreme-makeover-database-or-mysqlyoutube?share=email\"><span>Email<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-536\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/26\/extreme-makeover-database-or-mysqlyoutube?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-536\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/26\/extreme-makeover-database-or-mysqlyoutube?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-536\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/26\/extreme-makeover-database-or-mysqlyoutube?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>Arguably one of the most interesting keynotes (and technical to boot!), Paul Tuckfield not only entertained us in his 40 minute keynote, he also did so outside when the keynotes ended. Just the DBA at PayPal, just the DBA at YouTube. Only 3 DBAs at YouTube that make it all happen. Only a MySQLer for [&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%20Extreme%20Makeover%3A%20Database%20or%20MySQL%40YouTube&body=http%3A%2F%2Fwww.bytebot.net%2Fblog%2Farchives%2F2007%2F04%2F26%2Fextreme-makeover-database-or-mysqlyoutube&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=\"5e547a2ae4\" data-email-share-track-url=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/26\/extreme-makeover-database-or-mysqlyoutube?share=email\"><span>Email<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-536\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/26\/extreme-makeover-database-or-mysqlyoutube?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-536\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/26\/extreme-makeover-database-or-mysqlyoutube?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-536\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/26\/extreme-makeover-database-or-mysqlyoutube?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":"open","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":[23],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4vJD-8E","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":2295,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/replication-features-of-2011-by-sergey-petrunia","url_meta":{"origin":536,"position":0},"title":"Replication features of 2011 by Sergey Petrunia","date":"5\/2\/2012","format":false,"excerpt":"Sergey Petrunia of the\u00a0MariaDB project & 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\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2262,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/building-simple-complex-replication-clusters-with-tungsten-replicator-by-giuseppe-maxia","url_meta":{"origin":536,"position":1},"title":"Building simple &#038; complex replication clusters with Tungsten Replicator by Giuseppe Maxia","date":"5\/2\/2012","format":false,"excerpt":"Giuseppe Maxia of Continuent. MySQL replication is single threaded. Multi-master replication is complex with MySQL. Circular replication works but is very fragile. Once you've achieved the feat, how do you avoid conflicts? The lack of global transaction ID today also means you may have slaves that may not be synchronized\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2253,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/mysql-ha-reloaded-by-ivan-zoratti","url_meta":{"origin":536,"position":2},"title":"MySQL HA reloaded by Ivan Zoratti","date":"5\/2\/2012","format":false,"excerpt":"MySQL HA reloaded - old tricks and cool new tools to guarantee high availability to your MySQL Servers by Ivan Zoratti of SkySQL. This talk is a little longer, so check out: HA Reloaded - many ways to provide High Availability. The slides are already online. Questions to ask: which\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":491,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2007\/03\/20\/its-mid-week-for-the-google-summer-of-code-we-have-some-new-goodies","url_meta":{"origin":536,"position":3},"title":"Its mid-week for the Google Summer of Code &#8211; we have some new goodies!","date":"20\/3\/2007","format":false,"excerpt":"Well, that's right. Student applications close this Saturday, the 24th, so I'd be right in saying its mid-week, so get your applications coming in for the Google Summer of Code.To be a bit of a tease, MySQL has actually upped the amount of projects that we think students can accomplish,\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2298,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/managing-mysql-with-percona-toolkit-by-frederic-descamps","url_meta":{"origin":536,"position":4},"title":"Managing MySQL with Percona Toolkit by Fr\u00c3\u00a9d\u00c3\u00a9ric Descamps","date":"5\/2\/2012","format":false,"excerpt":"Fr\u00e9d\u00e9ric Descamps of Percona. Percona Toolkit is Maatkit & Aspersa combined. Opensource and the tools are very useful for a DBA. You need Perl, DBI, DBD::mysql, Term::ReadKey. Most tools are written in Perl, and whatever is in Bash is being re-written in Perl. There is also a tarball or RPM\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":562,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2007\/06\/05\/ticketmaster-thrives-on-mysql-replication","url_meta":{"origin":536,"position":5},"title":"Ticketmaster thrives on MySQL Replication","date":"5\/6\/2007","format":false,"excerpt":"Even though the conference is long over, I still have unpublished notes sitting on my ~\/Desktop, and it only makes sense that I clean it out. These are notes from Ed Presz's session, titled For Ticketmaster, MySQL Replication is the Ticket! They are as always, pretty raw.We were all given\u2026","rel":"","context":"In &quot;MySQL&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\/536"}],"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=536"}],"version-history":[{"count":0,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/536\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/media?parent=536"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/categories?post=536"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/tags?post=536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}