<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>domas mituzas &#187; mysqlconf</title>
	<atom:link href="http://dom.as/tag/mysqlconf/feed/" rel="self" type="application/rss+xml" />
	<link>http://dom.as</link>
	<description></description>
	<lastBuildDate>Thu, 02 Feb 2012 21:29:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='dom.as' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/6e344c6e0cd7462eb056f8b98eb2cbcd?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>domas mituzas &#187; mysqlconf</title>
		<link>http://dom.as</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://dom.as/osd.xml" title="domas mituzas" />
	<atom:link rel='hub' href='http://dom.as/?pushpress=hub'/>
		<item>
		<title>after the conference, mydumper, parallelism, etc</title>
		<link>http://dom.as/2009/05/18/after-the-conference-mydumper-parallelism-etc/</link>
		<comments>http://dom.as/2009/05/18/after-the-conference-mydumper-parallelism-etc/#comments</comments>
		<pubDate>Mon, 18 May 2009 22:00:57 +0000</pubDate>
		<dc:creator>Domas Mituzas</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[mydumper]]></category>
		<category><![CDATA[mysqlconf]]></category>

		<guid isPermaLink="false">http://dammit.lt/?p=490</guid>
		<description><![CDATA[Though slides for my MySQL Conference talks were on the O&#8217;Reilly website, I placed them in my talks page too, for both dtrace and security presentations. I also gave a lightning talk about mydumper. Since my original announcement mydumper has &#8230; <a href="http://dom.as/2009/05/18/after-the-conference-mydumper-parallelism-etc/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=490&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Though slides for my MySQL Conference talks were on the O&#8217;Reilly website, I placed them in my <a href="http://dom.as/talks/">talks</a> page too, for both <a href="http://domasmituzas.files.wordpress.com/2011/09/mysqluc2009-mysql-dtrace.pdf">dtrace</a> and <a href="http://domasmituzas.files.wordpress.com/2011/09/mysqluc2009-mysql-security.pdf">security</a> presentations.</p>
<p>I also gave a lightning talk about <a href="http://launchpad.net/mydumper">mydumper</a>. Since my <a href="http://dom.as/2009/02/03/mydumper/">original</a> announcement mydumper has changed a bit. It supports writing compressed files, detecting and killing slow queries that could block table flushes, supports regular expressions for table names, and trunk is slowly moving towards understanding that storage engines differ :)</p>
<p>I&#8217;ve been using mydumper quite a lot in my deployments (and observing 10x faster dumps). Now, the sad part is how to do faster recovery. It is quite easy to parallelize load of data (apparently, xargs supports running parallel processes):</p>
<pre>echo *.sql.gz | xargs -n1 -P 16 -I % sh -c 'zcat % | mysql dbname'</pre>
<p>Still, that doesn&#8217;t scale much &#8211; only doubles the load speed, compared to single threaded load, even on quite powerful machine. The problem lives in log_sys mutex &#8211; it is acquired for every InnoDB <strong>row</strong> operation, to grab LogicalSequenceNumbers (LSNs), so neither batching nor differentiation strategies really help, and same problem is hit by LOAD DATA too. In certain cases I saw quite some spinning on other mutexes, and it seems that InnoDB currently doesn&#8217;t scale that well with lots of small row operations. Maybe someone some day will pick this up and fix, thats why we go to conferences and share our findings :)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/domasmituzas.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/domasmituzas.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/domasmituzas.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/domasmituzas.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/domasmituzas.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/domasmituzas.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/domasmituzas.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/domasmituzas.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/domasmituzas.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/domasmituzas.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/domasmituzas.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/domasmituzas.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/domasmituzas.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/domasmituzas.wordpress.com/490/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=490&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dom.as/2009/05/18/after-the-conference-mydumper-parallelism-etc/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c660a6eb3a4005232acb111303bef12c?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">domasmituzas</media:title>
		</media:content>
	</item>
		<item>
		<title>oracle?</title>
		<link>http://dom.as/2009/04/20/oracle/</link>
		<comments>http://dom.as/2009/04/20/oracle/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 15:14:48 +0000</pubDate>
		<dc:creator>Domas Mituzas</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqlconf]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://dammit.lt/?p=482</guid>
		<description><![CDATA[oracle! While everyone is sleeping and preparing for four busy days of MySQL Conference, here, in Santa Clara &#8211; I started getting SMSes asking if I already learnt PL/SQL, and here, I&#8217;m jetlagged, and finding out that I work for &#8230; <a href="http://dom.as/2009/04/20/oracle/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=482&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.sun.com/third-party/global/oracle/index.jsp'>oracle!</a></p>
<p>While everyone is sleeping and preparing for four busy days of MySQL Conference, here, in Santa Clara &#8211; I started getting SMSes asking if I already learnt PL/SQL, and here, I&#8217;m jetlagged, and finding out that I work for another company.</p>
<p>If they don&#8217;t kill MySQL, InnoDB and MySQL will finally be together.</p>
<p>If they kill MySQL, I&#8217;ll have to look for a job. Will anyone use MySQL then, or will I have to fall back to more generic non-MySQL work I&#8217;ve been doing for my hobby projects, teeeheeee.</p>
<p>And for now, I see 6AM faces showing up, and greeting Oracle buddies &#8211; some jetlagged, some just early birds.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/domasmituzas.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/domasmituzas.wordpress.com/482/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/domasmituzas.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/domasmituzas.wordpress.com/482/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/domasmituzas.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/domasmituzas.wordpress.com/482/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/domasmituzas.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/domasmituzas.wordpress.com/482/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/domasmituzas.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/domasmituzas.wordpress.com/482/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/domasmituzas.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/domasmituzas.wordpress.com/482/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/domasmituzas.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/domasmituzas.wordpress.com/482/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=482&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dom.as/2009/04/20/oracle/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c660a6eb3a4005232acb111303bef12c?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">domasmituzas</media:title>
		</media:content>
	</item>
		<item>
		<title>Percona performance conference</title>
		<link>http://dom.as/2009/02/06/percona-performance-conference/</link>
		<comments>http://dom.as/2009/02/06/percona-performance-conference/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 01:43:08 +0000</pubDate>
		<dc:creator>Domas Mituzas</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqlconf]]></category>
		<category><![CDATA[percona]]></category>

		<guid isPermaLink="false">http://dammit.lt/?p=324</guid>
		<description><![CDATA[Heee, Baron announced &#8220;Percona Performance Conference&#8221;. How do I feel when somebody schedules that on top of MySQL Conference? Bad. Seriously, this was totally uncool. I sure understand that Percona folks have to give same talk over and over again &#8230; <a href="http://dom.as/2009/02/06/percona-performance-conference/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=324&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Heee, Baron announced <a href="http://www.mysqlperformanceblog.com/2009/02/05/announcing-percona-performance-conference-2009-on-april-22-23/">&#8220;Percona Performance Conference&#8221;</a>.</p>
<p>How do I feel when somebody schedules that on top of MySQL Conference? Bad. Seriously, this was totally uncool.</p>
<p>I sure understand that Percona folks have to give same talk over and over again (of course, there&#8217;re few new things every year), and need venue for that, but&#8230; it is incredible work and preparation to come up with new topics too, and that involves lots of work and research. I may sound harsh, but I really don&#8217;t feel well, when people we should work together, instead end up blackmailing.</p>
<p><strong>Update: </strong>apparently I was seriously misguided back then, Percona seems to have been shunned out of MySQL Conference by organizers and this was their way to get back into the community.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/domasmituzas.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/domasmituzas.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/domasmituzas.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/domasmituzas.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/domasmituzas.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/domasmituzas.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/domasmituzas.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/domasmituzas.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/domasmituzas.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/domasmituzas.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/domasmituzas.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/domasmituzas.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/domasmituzas.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/domasmituzas.wordpress.com/324/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=324&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dom.as/2009/02/06/percona-performance-conference/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c660a6eb3a4005232acb111303bef12c?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">domasmituzas</media:title>
		</media:content>
	</item>
		<item>
		<title>Packing for MySQL Conference 2009</title>
		<link>http://dom.as/2008/12/16/packing-for-mysql-conference-2009/</link>
		<comments>http://dom.as/2008/12/16/packing-for-mysql-conference-2009/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 13:36:45 +0000</pubDate>
		<dc:creator>Domas Mituzas</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[dtrace]]></category>
		<category><![CDATA[mysqlconf]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://dammit.lt/?p=291</guid>
		<description><![CDATA[Yay, coming to Santa Clara again (4th conference in a row!:). I can&#8217;t imagine my year without MySQL Conference trip anymore. To get a free ticket I&#8217;ll present on two topics, MySQL Security (lately I have related role, and have &#8230; <a href="http://dom.as/2008/12/16/packing-for-mysql-conference-2009/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=291&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yay, coming to Santa Clara again (4th conference in a row!:). I can&#8217;t imagine my year without MySQL Conference trip anymore. To get a free ticket I&#8217;ll present on two topics, MySQL Security (lately I have related role, and have prepared bunch of information already) and deep-inspecting MySQL with DTrace (a voodoo session for all happy Solaris and MacOSX users :). See you there?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/domasmituzas.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/domasmituzas.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/domasmituzas.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/domasmituzas.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/domasmituzas.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/domasmituzas.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/domasmituzas.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/domasmituzas.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/domasmituzas.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/domasmituzas.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/domasmituzas.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/domasmituzas.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/domasmituzas.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/domasmituzas.wordpress.com/291/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=291&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dom.as/2008/12/16/packing-for-mysql-conference-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c660a6eb3a4005232acb111303bef12c?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">domasmituzas</media:title>
		</media:content>
	</item>
		<item>
		<title>Speaking at MySQL Conference again, twice</title>
		<link>http://dom.as/2008/02/03/speaking-at-mysql-conference-again-twice/</link>
		<comments>http://dom.as/2008/02/03/speaking-at-mysql-conference-again-twice/#comments</comments>
		<pubDate>Sun, 03 Feb 2008 23:31:00 +0000</pubDate>
		<dc:creator>Domas Mituzas</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[charsets]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[mysqlconf]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://dammit.lt/2008/02/03/speaking-at-mysql-conference-again-twice/</guid>
		<description><![CDATA[Yay, coming this year to the MySQL conference again. This time with two different talks (second got approved just few days ago) on two distinct quite generic topics: Practical MySQL for web applications Practical character sets The abstracts were submitted &#8230; <a href="http://dom.as/2008/02/03/speaking-at-mysql-conference-again-twice/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=96&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yay, coming this year to the MySQL conference again. This time with two different talks (second got approved just few days ago) on two distinct quite generic topics:</p>
<ul>
<li>Practical MySQL for web applications</li>
<li>Practical character sets</li>
</ul>
<p>The abstracts were submitted weeks apart, so the &#8216;practical&#8217; being in both is something completely accidental :) Still, I&#8217;ll try to cover problems met and solutions used in various environments and practices &#8211; both as support engineer in MySQL, as well as engineer working on wikipedia bits.</p>
<p>Coming to US and talking about character sets should be interesting experience. Though most English-speaking people can stick to ASCII and be happy, current attempts to produce multilingual applications lead to various unexpected performance, security and usability problems.</p>
<p>And of course, web applications end up introducing quite new model of managing data environments, by introducing new set of rules, and throwing away traditional OLTP approaches. It is easy to slap another label on these, call it OLRP &#8211; on-line response processing. It needs preparing data for reads more than for writes (though balance has to be maintained). It needs digesting data for immediate responses. It needs lightweight (and lightning) accesses to do the minimum work. Thats where MySQL fits nicely, if used properly.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/domasmituzas.wordpress.com/96/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/domasmituzas.wordpress.com/96/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/domasmituzas.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/domasmituzas.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/domasmituzas.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/domasmituzas.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/domasmituzas.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/domasmituzas.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/domasmituzas.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/domasmituzas.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/domasmituzas.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/domasmituzas.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/domasmituzas.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/domasmituzas.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/domasmituzas.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/domasmituzas.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=96&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dom.as/2008/02/03/speaking-at-mysql-conference-again-twice/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c660a6eb3a4005232acb111303bef12c?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">domasmituzas</media:title>
		</media:content>
	</item>
		<item>
		<title>MySQL Conference 2007: Piggyback riding Wikipedia again. \o/</title>
		<link>http://dom.as/2007/01/25/mysql-conference-wikipedia-2007/</link>
		<comments>http://dom.as/2007/01/25/mysql-conference-wikipedia-2007/#comments</comments>
		<pubDate>Thu, 25 Jan 2007 11:55:09 +0000</pubDate>
		<dc:creator>Domas Mituzas</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[wikitech]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[mysqlconf]]></category>

		<guid isPermaLink="false">http://dammit.lt/2007/01/25/mysql-conference-wikipedia-2007/</guid>
		<description><![CDATA[This year I&#8217;m coming to MySQL Conference again. Last year it was marvelous experience, with customers, community and colleagues (CCC!) gathering together, so I didn&#8217;t want to miss it this year at any cost :-) This year instead of describing &#8230; <a href="http://dom.as/2007/01/25/mysql-conference-wikipedia-2007/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=55&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This year I&#8217;m coming to <a href='http://mysqlconf.com/'>MySQL Conference</a> again. <a href='http://mysqlconf.com/mysqluc2006/'>Last year</a> it was marvelous experience, with customers, community and colleagues (CCC!) gathering together, so I didn&#8217;t want to miss it this year at any cost :-)</p>
<p>This year instead of describing <a href='http://en.wikipedia.org'>Wikipedia</a> internals I&#8217;ll be disclosing them &#8211; all important bits, configuration files, code, ideas, problems, bugs and work being done through whole stack &#8211; starting with distributed caches in front, distributed middle-ware somewhere in the middle and distributed data storage in the back end. It will take three hours or so &#8211; bring your pillows. :)</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/domasmituzas.wordpress.com/55/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/domasmituzas.wordpress.com/55/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/domasmituzas.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/domasmituzas.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/domasmituzas.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/domasmituzas.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/domasmituzas.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/domasmituzas.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/domasmituzas.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/domasmituzas.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/domasmituzas.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/domasmituzas.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/domasmituzas.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/domasmituzas.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/domasmituzas.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/domasmituzas.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=55&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dom.as/2007/01/25/mysql-conference-wikipedia-2007/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c660a6eb3a4005232acb111303bef12c?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">domasmituzas</media:title>
		</media:content>
	</item>
		<item>
		<title>my slides from users conference</title>
		<link>http://dom.as/2006/07/09/mysqluc-slides/</link>
		<comments>http://dom.as/2006/07/09/mysqluc-slides/#comments</comments>
		<pubDate>Sun, 09 Jul 2006 14:00:53 +0000</pubDate>
		<dc:creator>Domas Mituzas</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[wikipedia]]></category>
		<category><![CDATA[wikitech]]></category>
		<category><![CDATA[mysqlconf]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[slides]]></category>

		<guid isPermaLink="false">http://dammit.lt/2006/07/09/my-slides-from-users-conference/</guid>
		<description><![CDATA[Today I was pointed to my previous post on scaling, and I remembered, that I didn&#8217;t put my slides from MySQL Users conference online. Maybe those are not giving that much of detail, but still, can disclose some of facts &#8230; <a href="http://dom.as/2006/07/09/mysqluc-slides/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=41&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I was pointed to my previous post on <a href="http://dom.as/2006/05/21/scaling-talk-at-mysqluc/">scaling</a>, and I remembered, that I didn&#8217;t put my slides from MySQL <a href="http://www.mysqluc.com">Users conference</a> online. Maybe those are not giving that much of detail, but still, can disclose some of facts from my talk: <a href="http://domasmituzas.files.wordpress.com/2011/09/mysqluc2006-wikipedia-domas.pdf">&#8220;Wikipedia: cheap and explosive scaling with LAMP&#8221;</a>.</p>
<p>There&#8217;s also <a href="http://www.leuksman.com/">Brion</a>&#8216;s presentation at Google on wider aspects of project technology, with <a href="http://www.leuksman.com/images/f/f8/Vibber_MediaWiki_Google_2006.pdf">slides</a> and <a href="http://video.google.com/videoplay?docid=7747790812939045407">video</a> made public too.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/domasmituzas.wordpress.com/41/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/domasmituzas.wordpress.com/41/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/domasmituzas.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/domasmituzas.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/domasmituzas.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/domasmituzas.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/domasmituzas.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/domasmituzas.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/domasmituzas.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/domasmituzas.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/domasmituzas.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/domasmituzas.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/domasmituzas.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/domasmituzas.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/domasmituzas.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/domasmituzas.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=41&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dom.as/2006/07/09/mysqluc-slides/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c660a6eb3a4005232acb111303bef12c?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">domasmituzas</media:title>
		</media:content>
	</item>
		<item>
		<title>Scaling talks at mysql users conference</title>
		<link>http://dom.as/2006/05/21/scaling-talk-at-mysqluc/</link>
		<comments>http://dom.as/2006/05/21/scaling-talk-at-mysqluc/#comments</comments>
		<pubDate>Sun, 21 May 2006 19:33:52 +0000</pubDate>
		<dc:creator>Domas Mituzas</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[wikitech]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[mysqlconf]]></category>
		<category><![CDATA[scale]]></category>

		<guid isPermaLink="false">http://dammit.lt/2006/05/21/scaling-talk-at-mysqluc/</guid>
		<description><![CDATA[I am already a bit late to write about my MySQL Users Conference impressions or input, but better later than never. My pet topic is scalability, or rather, how to build big cheap systems, and I&#8217;ve had many mixed thoughts &#8230; <a href="http://dom.as/2006/05/21/scaling-talk-at-mysqluc/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=38&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am already a bit late to write about my <a href="http://www.mysqluc.com">MySQL Users Conference</a> impressions or input, but better later than never. My pet topic is scalability, or rather, how to build big cheap systems, and I&#8217;ve had many mixed thoughts after the event, which of course had many scalability gurus from nice companies. The biggest impression was that we all scale different applications and have different demands (some have many datacenters with applications distributed, some had two power failures in whole datacenter in single week and went down for few hours..).</p>
<p>And as I also had a presentation on <a href="http://en.wikipedia.org/">Wikipedia</a> scaling, I&#8217;ll try to mention some of issues discussed there.</p>
<h3>Different techniques</h3>
<p>Main thing is that rules do not matter, application (or rather a purpose) does. All techniques should be taken with grain of salt, MMORPG is different from e-banking, though both may require synchronized states. A blog is not a wiki, as you won&#8217;t have clashes or lock conflicts on same resources. And sure, in some cases high availability (percentage of uptime) is less important than general availability &#8211; percentage of reach.</p>
<h3>Distributing the load</h3>
<p>Second major idea is that load has to be split. Of course, it is mandatory in case of &#8216;scale out&#8217;, but there may be different paths to acquire different kinds of needs &#8211; efficiency, availability, redundancy, accuracy, yadda yadda. Like&#8230;</p>
<ul>
<li>If you know how to manage desynched slaves (what is really tied to application process), you can allow possibility of desynch (and hence not flush logs to disk after every transaction on any of your boxes).</li>
<li>Queries for different data domains <a href="http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/LoadBalancer.php">can be sent</a> to different slaves. Let it be per user, per language or any other fragmentation. Even if data is all there, just touching specific parts of it may improve cache locality. One of main things to consider then, is that data is clustered together, and a single row fetch will read 16KB block from disk and store it in memory. &#8220;Every third article/product/user/&#8230;&#8221; should be replaced by &#8220;every third thousand of articles/products/users&#8221;, or even some semi-dynamic bucket allocation. For Wikipedia it&#8217;s rather easy, we may just direct different languages to different servers, as per-language projects are quite self-contained.</li>
<li>Different types of queries can be sent to different slaves. Even if same data is there, you can still hit it with different patterns, and keep different indexes in hottest caches.</li>
<li>Not having the data will be always faster than just not reading it. If there&#8217;s enough of redundancy, data from different domains/types can be simply purged. Of course, purging the data that is not needed completely from the system is even more efficient approach.</li>
<li>You&#8217;ve already got RAIS &#8211; Redundant Array of Inexpensive Servers, so you can take out R from RAID and use just stripes of disks, forming AID, for performance of course.</li>
</ul>
<p>Weakest slave will be slowing down capability of whole system, so doing less work on it not only in terms of requests per second, but also of how much of data it has to handle, may revive it for a new life (and, hehe, that way our poor 4GB old DB servers do have lots of juice :).</p>
<h3>Caching</h3>
<p>Caching is essential in high-performance environments (unless the service is random number generator two-point-oh). It is a common practice to add big nice caching layer (in memcacheds or squids or wherever else), but to leave data in core databases as it is. If efficient caching allows not to access data inside database too often, there&#8217;s no need to keep it on core database systems, as those are designed to work with data that needs work. Any box that has some idle resource like storage (most application servers usually do), may handle piece of rarely accessed but heavily cached elsewhere content.</p>
<h3>Tools for the task</h3>
<p>Different tasks may require different tools for the job. Lots of semi-static data can often be stored on application servers, usually as lightweight hash databases, just a proper method of migrating dynamic changes from core databases is required. It may be a simple rsync after a change was made, but it will save a roundtrip afterwards. Instead of updating full text indexes inside database, streams of changes may go to Lucene-based search application. And of course, sometimes just putting changes into background queues or off-peak schedules may improve responsiveness.</p>
<h3>Speed vs power &#8211; both important</h3>
<p>In scaled out environments adding more hardware often helps, but shouldn&#8217;t always be the main solution of the problem. Micro-optimizations have the purpose &#8211; besides obvious &#8220;saves resources&#8221; they also increase efficiency of individual nodes. Having the query served faster means also less locking or occupation of common resources (such as DB threads, waits on network), as well as far more improved user experience. This is where you might want to use high-power cores as in Opteron instead of lots of Niagara or Celeron ones (even if that may look much cheaper). Having 100 requests per second at 0.1s each rather than 100 requests per second at 1s each is quite a difference, and it counts.</p>
<h3>Slow tasks</h3>
<p>It is critical to avoid slow tasks on high performance systems. If there&#8217;re queries that are too expensive, just&#8230; kill them. Once you become overloaded you might want to start killing queries that run too long. Just KILLing the thread is not enough, either it has to be optimized (indexes, summary tables, etc), or eliminated. One cheap way is to delete outdated data, but if it is not possible, just having another table with hottest aggregated data may double or triple the performance. Here again, once data is aggregated into commonly used format, main source can be retired from hot memory to disks or to other cheaper services.</p>
<p>My common illustration is &#8211; you don&#8217;t want to see elephant walking in a highway. Elephant will have absolutely different access pattern, occupy too much space and move too slowly, where usually lots of throughput exists, not only blocking few lanes, but also attracting attention by drivers in opposite direction. Kill the elephant! Or rather, leave in natural habitat.</p>
<h3>Compression</h3>
<p>One of the magic weapons is compression. Gzip is fast, bzip2 is not, and many common perceptions of compression is that it is slow. No, it&#8217;s bzip2 that is slow, gzip is fast. Additionally, it may pack your data into a single block on file system instead of two or three. In some cases that may mean three times less seeks &#8211; milliseconds saved at a tiny fraction of CPU costs. In cases where there&#8217;s lots of similar text &#8211; like comments quoting other comments, different revisions for entry &#8211; concatenate it all and then compress. Gzip will love the similarity and produce ten or twenty times smaller BSOB (Binary Small Object).</p>
<h3>Profiling</h3>
<p>There&#8217;re various profiling advices around, but what I hit multiple times, is that one hundred requests <a href="http://dom.as/2006/01/18/mediawiki-graphic-profile/">profiled separately</a> one by one may provide more insights than a <a href="http://dom.as/2006/01/11/profiling-web-applications">generic collection of min/max/avg/deviation</a> for a million requests. Moreover, profile from production system may give lots of issues unspotted in development. It doesn&#8217;t mean though, that generic or development profiling should not be done. There should be no prejudices in process of profiling &#8211; worse than that is just optimization without profiling. Instead of &#8220;it has to be so&#8221; there should always a question if specific task can be improved.</p>
<h3>Conclusions (or bragging (or whining))</h3>
<p>Site handles now (it <a href="http://www.nedworks.org/~mark/reqstats/reqstats-monthly.png">rises quite fast</a>) over 12000 HTTP requests per second (out of which around 4000 are pageviews), on a cluster that could be built with ~500k$. At one talk in UC it was told that our platform isn&#8217;t very good. Sorry, with few volunteers working on that, we have to choose priorities for development. And it is a pity, that most of scaling management software is usually closed asset of the big players. Um, I&#8217;d love it to be open, really, pretty pretty please!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/domasmituzas.wordpress.com/38/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/domasmituzas.wordpress.com/38/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/domasmituzas.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/domasmituzas.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/domasmituzas.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/domasmituzas.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/domasmituzas.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/domasmituzas.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/domasmituzas.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/domasmituzas.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/domasmituzas.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/domasmituzas.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/domasmituzas.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/domasmituzas.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/domasmituzas.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/domasmituzas.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dom.as&amp;blog=190075&amp;post=38&amp;subd=domasmituzas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dom.as/2006/05/21/scaling-talk-at-mysqluc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c660a6eb3a4005232acb111303bef12c?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">domasmituzas</media:title>
		</media:content>
	</item>
	</channel>
</rss>
