<?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/"
	>

<channel>
	<title>Xaprb &#187; Falcon</title>
	<atom:link href="http://www.xaprb.com/blog/tag/falcon/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xaprb.com/blog</link>
	<description>Stay curious!</description>
	<lastBuildDate>Thu, 09 Feb 2012 03:58:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Hindsight on a scalable replacement for InnoDB</title>
		<link>http://www.xaprb.com/blog/2009/05/09/hindsight-on-a-scalable-replacement-for-innodb/</link>
		<comments>http://www.xaprb.com/blog/2009/05/09/hindsight-on-a-scalable-replacement-for-innodb/#comments</comments>
		<pubDate>Sat, 09 May 2009 20:40:36 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Falcon]]></category>
		<category><![CDATA[InnoDB]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[pbxt]]></category>
		<category><![CDATA[XtraDB]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=671</guid>
		<description><![CDATA[A while ago I posted about a comment a Sun performance engineer made about a scalable replacement for InnoDB. At the time, I did not believe it referred to Falcon. In hindsight, it seems even clearer that the Sun performance experts were already working hard on InnoDB itself. Sun&#8217;s engineers have shown that they can [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2009/01/13/what-is-the-scalable-replacement-for-innodb/' rel='bookmark' title='Permanent Link: What is the scalable replacement for InnoDB?'>What is the scalable replacement for InnoDB?</a></li>
<li><a href='http://www.xaprb.com/blog/2009/02/21/review-of-scalable-internet-architectures-by-theo-schlossnagle/' rel='bookmark' title='Permanent Link: Review of Scalable Internet Architectures by Theo Schlossnagle'>Review of Scalable Internet Architectures by Theo Schlossnagle</a></li>
<li><a href='http://www.xaprb.com/blog/2009/06/08/xtrabackup-is-for-innodb-tables-too-not-just-xtradb/' rel='bookmark' title='Permanent Link: Xtrabackup is for InnoDB tables too, not just XtraDB'>Xtrabackup is for InnoDB tables too, not just XtraDB</a></li>
<li><a href='http://www.xaprb.com/blog/2006/09/26/an-introduction-to-innodb-error-handling/' rel='bookmark' title='Permanent Link: An introduction to InnoDB error handling'>An introduction to InnoDB error handling</a></li>
<li><a href='http://www.xaprb.com/blog/2006/05/10/when-to-avoid-and-when-to-use-surrogate-keys-in-innodb-tables/' rel='bookmark' title='Permanent Link: When to use surrogate keys in InnoDB tables'>When to use surrogate keys in InnoDB tables</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>A while ago I posted about a <a href="http://www.xaprb.com/blog/2009/01/13/what-is-the-scalable-replacement-for-innodb/">comment a Sun performance engineer made about a scalable replacement for InnoDB</a>.  At the time, I did not believe it referred to Falcon.  In hindsight, it seems even clearer that <a href="http://dimitrik.free.fr/db_STRESS_MySQL_540_and_others_Apr2009.html">the Sun performance experts were already working hard on InnoDB itself</a>.</p>
<p>Sun&#8217;s engineers have shown that they can produce great results when they really take the problems seriously.  And I&#8217;m sure that InnoDB&#8217;s performance has untapped potential we don&#8217;t see right now.  However, it does not follow that their work on InnoDB is what was meant by a scalable replacement for InnoDB.  Or does it?</p>
<p>General-purpose MVCC transactional storage engines with row-level locking, whatever their performance and scaling characteristics in edge cases, fall into a category together.  A person assembling a MySQL server for general-purpose use might choose a different storage engine for various uses &#8212; MyISAM here, Memory there&#8230; and use &#8220;one of those transactional engines&#8221; for the bulk of the work.  PBXT, InnoDB, Falcon &#8212; I don&#8217;t see a justification for running more than one of those side by side.  The operational costs alone (backups, training the users, etc) would be too high.  It is also not at all clear that MySQL itself is ready for multiple transactional storage engines working together (e.g. cross-engine transactions) in the real world.</p>
<p>So what&#8217;s left for Falcon?  I think they are <a href="http://carotid.blogspot.com/2009_04_01_archive.html#8499683187188909543">asking themselves the same question</a> (brilliant gallows humor, by the way).  I think Falcon&#8217;s ideas and techniques are very interesting, but a storage engine &#8212; especially one with such lofty goals &#8212; is always a show-me undertaking that will require years to mature and prove itself even after the code is &#8220;ready.&#8221;  With or without the Oracle acquisition, this question has loomed for years: where&#8217;s the justification for Falcon politically, functionally, economically?  A third party engine such as PBXT, with eyes on replication at the storage engine level and other add-on functionality, has always seemed more likely to really add value than a straight-up InnoDB replacement.</p>
<p>But from my point of view, the biggest win in the short term would still be to drive InnoDB development forward at a consistent and accelerating pace to meet the needs of users and the advances in hardware.  Of course, that&#8217;s what XtraDB set out to do, and I think the XtraDB project has helped snap InnoDB out of their Percheron-like plod towards improvement.  This is nothing but good; when it comes to competition among storage engines, no one should be resting on their laurels.  I also see that <a href="http://blogs.sun.com/dlutz/entry/concurrent_commit_revisited">Sun&#8217;s team has more good things in the works</a>, which is great.  I&#8217;d love for InnoDB to stop being a work horse and start being a quarter horse.  We need it to be both scalable <em>and</em> high-performance.</p>


<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2009/01/13/what-is-the-scalable-replacement-for-innodb/' rel='bookmark' title='Permanent Link: What is the scalable replacement for InnoDB?'>What is the scalable replacement for InnoDB?</a></li>
<li><a href='http://www.xaprb.com/blog/2009/02/21/review-of-scalable-internet-architectures-by-theo-schlossnagle/' rel='bookmark' title='Permanent Link: Review of Scalable Internet Architectures by Theo Schlossnagle'>Review of Scalable Internet Architectures by Theo Schlossnagle</a></li>
<li><a href='http://www.xaprb.com/blog/2009/06/08/xtrabackup-is-for-innodb-tables-too-not-just-xtradb/' rel='bookmark' title='Permanent Link: Xtrabackup is for InnoDB tables too, not just XtraDB'>Xtrabackup is for InnoDB tables too, not just XtraDB</a></li>
<li><a href='http://www.xaprb.com/blog/2006/09/26/an-introduction-to-innodb-error-handling/' rel='bookmark' title='Permanent Link: An introduction to InnoDB error handling'>An introduction to InnoDB error handling</a></li>
<li><a href='http://www.xaprb.com/blog/2006/05/10/when-to-avoid-and-when-to-use-surrogate-keys-in-innodb-tables/' rel='bookmark' title='Permanent Link: When to use surrogate keys in InnoDB tables'>When to use surrogate keys in InnoDB tables</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2009/05/09/hindsight-on-a-scalable-replacement-for-innodb/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>What is the scalable replacement for InnoDB?</title>
		<link>http://www.xaprb.com/blog/2009/01/13/what-is-the-scalable-replacement-for-innodb/</link>
		<comments>http://www.xaprb.com/blog/2009/01/13/what-is-the-scalable-replacement-for-innodb/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 06:28:16 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Falcon]]></category>
		<category><![CDATA[InnoDB]]></category>
		<category><![CDATA[MrBenchmark]]></category>
		<category><![CDATA[myisam]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=767</guid>
		<description><![CDATA[A while back a Sun engineer posted an article claiming that the best way to scale MySQL is to shard your database in many instances on a single server, each of which runs in threads that individually have low performance. The Sun way has always been to get high throughput with high latency. And that&#8217;s [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2009/05/09/hindsight-on-a-scalable-replacement-for-innodb/' rel='bookmark' title='Permanent Link: Hindsight on a scalable replacement for InnoDB'>Hindsight on a scalable replacement for InnoDB</a></li>
<li><a href='http://www.xaprb.com/blog/2009/02/21/review-of-scalable-internet-architectures-by-theo-schlossnagle/' rel='bookmark' title='Permanent Link: Review of Scalable Internet Architectures by Theo Schlossnagle'>Review of Scalable Internet Architectures by Theo Schlossnagle</a></li>
<li><a href='http://www.xaprb.com/blog/2007/09/18/how-to-debug-innodb-lock-waits/' rel='bookmark' title='Permanent Link: How to debug InnoDB lock waits'>How to debug InnoDB lock waits</a></li>
<li><a href='http://www.xaprb.com/blog/2010/07/02/the-new-hotness-in-open-core-innodb/' rel='bookmark' title='Permanent Link: The new hotness in open-core: InnoDB'>The new hotness in open-core: InnoDB</a></li>
<li><a href='http://www.xaprb.com/blog/2009/12/12/what-do-you-know-about-oracles-innodb-plus-storage-engine/' rel='bookmark' title='Permanent Link: What do you know about Oracle&#8217;s InnoDB+ storage engine?'>What do you know about Oracle&#8217;s InnoDB+ storage engine?</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>A while back a Sun engineer posted an <a href="http://blogs.sun.com/mrbenchmark/entry/scaling_mysql_on_a_256">article</a> claiming that the best way to scale MySQL is to shard your database in many instances on a single server, each of which runs in threads that individually have low performance.  The Sun way has always been to get high throughput with high latency.  And that&#8217;s fine.  <a href="http://www.mysqlperformanceblog.com/2008/11/11/scaling-to-256-way-the-sun-way/">Others have commented on the real-world applicability</a> of this technique with MySQL, so I won&#8217;t.</p>

<p>But what I&#8217;m interested in is something the author says in the comments of his own blog post:</p>

<blockquote><p>btw; we are working on a scalable replacement of InnoDB. Stay tuned&#8230;.</p></blockquote>

<p>What is it?</p>

<p>Surely it&#8217;s not Falcon.  MySQL and Sun have said many times <a href="http://www.google.com/search?q=falcon+innodb+replace">Falcon isn&#8217;t meant to be an InnoDB replacement</a>.</p>

<p>The next question: how should we interpret the word &#8220;scalable&#8221; given the context?  Clearly there&#8217;s a difference of opinion between MrBenchmark and others on what that word means.  So what will the scaling characteristics of this InnoDB replacement really be?</p>

<p><em>The following is a joke, not meant to be taken seriously</em>: Maybe it will be MyISAM with a fix to the <a href="http://www.mysqlperformanceblog.com/2008/11/26/using-multiple-key-caches-for-myisam-scalability/">key buffer scalability problems</a>.  Start with your database with 50 tables.  Make 1 million databases, each with the same 50 tables, and you can scale up to 1 million rows by putting 1 row in each table.  Ta-da!  Row-level locking with MyISAM!</p>

<p>But seriously, what is it?</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2009/05/09/hindsight-on-a-scalable-replacement-for-innodb/' rel='bookmark' title='Permanent Link: Hindsight on a scalable replacement for InnoDB'>Hindsight on a scalable replacement for InnoDB</a></li>
<li><a href='http://www.xaprb.com/blog/2009/02/21/review-of-scalable-internet-architectures-by-theo-schlossnagle/' rel='bookmark' title='Permanent Link: Review of Scalable Internet Architectures by Theo Schlossnagle'>Review of Scalable Internet Architectures by Theo Schlossnagle</a></li>
<li><a href='http://www.xaprb.com/blog/2007/09/18/how-to-debug-innodb-lock-waits/' rel='bookmark' title='Permanent Link: How to debug InnoDB lock waits'>How to debug InnoDB lock waits</a></li>
<li><a href='http://www.xaprb.com/blog/2010/07/02/the-new-hotness-in-open-core-innodb/' rel='bookmark' title='Permanent Link: The new hotness in open-core: InnoDB'>The new hotness in open-core: InnoDB</a></li>
<li><a href='http://www.xaprb.com/blog/2009/12/12/what-do-you-know-about-oracles-innodb-plus-storage-engine/' rel='bookmark' title='Permanent Link: What do you know about Oracle&#8217;s InnoDB+ storage engine?'>What do you know about Oracle&#8217;s InnoDB+ storage engine?</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2009/01/13/what-is-the-scalable-replacement-for-innodb/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>What happened to Falcon?</title>
		<link>http://www.xaprb.com/blog/2008/09/23/what-happened-to-falcon/</link>
		<comments>http://www.xaprb.com/blog/2008/09/23/what-happened-to-falcon/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 00:15:17 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Falcon]]></category>
		<category><![CDATA[Jim Starkey]]></category>
		<category><![CDATA[Vadim Tkachenko]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=570</guid>
		<description><![CDATA[I don&#8217;t think I have heard anything from the Falcon team for a while. What&#8217;s new? Did the project really stall when Jim Starkey left, as Vadim Tkachenko wondered might happen? Further Reading:Hindsight on a scalable replacement for InnoDB Coming soon: High Performance MySQL, Second Edition What is the scalable replacement for InnoDB? Percona wants [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2009/05/09/hindsight-on-a-scalable-replacement-for-innodb/' rel='bookmark' title='Permanent Link: Hindsight on a scalable replacement for InnoDB'>Hindsight on a scalable replacement for InnoDB</a></li>
<li><a href='http://www.xaprb.com/blog/2007/08/30/coming-soon-high-performance-mysql-second-edition/' rel='bookmark' title='Permanent Link: Coming soon: High Performance MySQL, Second Edition'>Coming soon: High Performance MySQL, Second Edition</a></li>
<li><a href='http://www.xaprb.com/blog/2009/01/13/what-is-the-scalable-replacement-for-innodb/' rel='bookmark' title='Permanent Link: What is the scalable replacement for InnoDB?'>What is the scalable replacement for InnoDB?</a></li>
<li><a href='http://www.xaprb.com/blog/2008/06/24/percona-wants-to-hire-a-maatkit-developer/' rel='bookmark' title='Permanent Link: Percona wants to hire a Maatkit developer'>Percona wants to hire a Maatkit developer</a></li>
<li><a href='http://www.xaprb.com/blog/2008/05/13/maatkit-in-rhel-and-centos/' rel='bookmark' title='Permanent Link: Maatkit in RHEL and CentOS'>Maatkit in RHEL and CentOS</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t think I have heard anything from the Falcon team for a while.  What&#8217;s new?  Did the project really <a href="http://www.mysqlperformanceblog.com/2008/06/22/will-falcon-fly/">stall when Jim Starkey left, as Vadim Tkachenko wondered might happen</a>?</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2009/05/09/hindsight-on-a-scalable-replacement-for-innodb/' rel='bookmark' title='Permanent Link: Hindsight on a scalable replacement for InnoDB'>Hindsight on a scalable replacement for InnoDB</a></li>
<li><a href='http://www.xaprb.com/blog/2007/08/30/coming-soon-high-performance-mysql-second-edition/' rel='bookmark' title='Permanent Link: Coming soon: High Performance MySQL, Second Edition'>Coming soon: High Performance MySQL, Second Edition</a></li>
<li><a href='http://www.xaprb.com/blog/2009/01/13/what-is-the-scalable-replacement-for-innodb/' rel='bookmark' title='Permanent Link: What is the scalable replacement for InnoDB?'>What is the scalable replacement for InnoDB?</a></li>
<li><a href='http://www.xaprb.com/blog/2008/06/24/percona-wants-to-hire-a-maatkit-developer/' rel='bookmark' title='Permanent Link: Percona wants to hire a Maatkit developer'>Percona wants to hire a Maatkit developer</a></li>
<li><a href='http://www.xaprb.com/blog/2008/05/13/maatkit-in-rhel-and-centos/' rel='bookmark' title='Permanent Link: Maatkit in RHEL and CentOS'>Maatkit in RHEL and CentOS</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2008/09/23/what-happened-to-falcon/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>MySQL Conference and Expo 2008, Day Two</title>
		<link>http://www.xaprb.com/blog/2008/04/17/mysql-conference-and-expo-2008-day-two/</link>
		<comments>http://www.xaprb.com/blog/2008/04/17/mysql-conference-and-expo-2008-day-two/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 17:01:02 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Brian Aker]]></category>
		<category><![CDATA[EnterpriseDB]]></category>
		<category><![CDATA[Falcon]]></category>
		<category><![CDATA[Grazr]]></category>
		<category><![CDATA[Maatkit]]></category>
		<category><![CDATA[Maria]]></category>
		<category><![CDATA[mysqluc2008]]></category>
		<category><![CDATA[Patrick Galbraith]]></category>
		<category><![CDATA[Percona]]></category>
		<category><![CDATA[query cache]]></category>
		<category><![CDATA[Tokutek]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/2008/04/17/mysql-conference-and-expo-2008-day-two/</guid>
		<description><![CDATA[Day two of the conference was a little disappointing, as far as sessions went. There were several time blocks where I simply wasn&#8217;t interested in any of the sessions. Instead, I went to the expo hall and tried to pry straight answers out of sly salespeople. Here&#8217;s what I attended. Paying It Forward: Harnessing the [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2008/04/19/mysql-conference-and-expo-2008-day-three/' rel='bookmark' title='Permanent Link: MySQL Conference and Expo 2008, Day Three'>MySQL Conference and Expo 2008, Day Three</a></li>
<li><a href='http://www.xaprb.com/blog/2008/04/16/mysql-conference-and-expo-2008-day-one/' rel='bookmark' title='Permanent Link: MySQL Conference and Expo 2008, Day One'>MySQL Conference and Expo 2008, Day One</a></li>
<li><a href='http://www.xaprb.com/blog/2008/01/25/my-presentations-at-the-2008-mysql-conference-and-expo/' rel='bookmark' title='Permanent Link: My presentations at the 2008 MySQL Conference and Expo'>My presentations at the 2008 MySQL Conference and Expo</a></li>
<li><a href='http://www.xaprb.com/blog/2008/04/25/baron-schwartz-on-a-podcast-at-mysql-conference-and-expo-2008/' rel='bookmark' title='Permanent Link: Baron Schwartz on a podcast at MySQL Conference and Expo 2008'>Baron Schwartz on a podcast at MySQL Conference and Expo 2008</a></li>
<li><a href='http://www.xaprb.com/blog/2008/04/23/like-it-or-not-it-is-the-mysql-conference-and-expo/' rel='bookmark' title='Permanent Link: Like it or not, it is the MySQL Conference and Expo'>Like it or not, it is the MySQL Conference and Expo</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Day two of the conference was a little disappointing, as far as sessions went.  There were several time blocks where I simply wasn&#8217;t interested in any of the sessions.  Instead, I went to the expo hall and tried to pry straight answers out of sly salespeople.  Here&#8217;s what I attended.</p>

<h3>Paying It Forward: Harnessing the MySQL Contributory Resources</h3>

<p>This was a talk focused on how MySQL has made it possible for community members to contribute to MySQL.  There was quite a bit of talk about IRC channels, mailing lists, and the like.  However, the talk gave short shrift to how MySQL plans to become  truly open source (in terms of its development model, not its license).  I think there was basically nothing to talk about there.  I had a good conversation about some of my concerns with the speaker and some others from MySQL right afterwards.</p>

<p>There was basically nobody there &#8212; I didn&#8217;t count, but I&#8217;d say maybe 10 or 12 people.  I think this is a telling sign.</p>

<h3>Architecture of Maria: A New Storage Engine with a Transactional Design</h3>

<p>I was interested in this talk because I&#8217;m interested in the tension between Falcon and Maria (and between Falcon and everything, for that matter) but I left and went to the expo hall again after a bit.  The talk was good but I&#8217;d already seen and/or read it, and the question-and-answer component wasn&#8217;t enough to keep me there.</p>

<h3>The MySQL Query Cache</h3>

<p>This was the second session I gave at the conference, and again it was standing-room-only, with nearly 300 attendees according to the person who was watching the door.  The questions were frequent and added a lot to the discussion.  Slides will be on the conference website when they post them.</p>

<h3>Grazr: Lessons Learned Building a Web 2.0 Application Using MySQL</h3>

<p>I was keenly interested in this talk because a) I am a big fan of Patrick Galbraith&#8217;s work with many different projects, and b) I had heard a lot about <a href="http://www.grazr.com/">Grazr</a> but didn&#8217;t know much about it.  However, I missed most of the talk.  About ten minutes into it, I got a call I couldn&#8217;t refuse: my wife!</p>

<p>However, I did sneak back into the room for the last bit too.  And I gave Grazr a try.  Unfortunately, I got really confused by it; I tried a bunch of different ways to import my Google Reader&#8217;s OPML.  I got that to work, but then I couldn&#8217;t figure out how to read the feeds in the OPML via Grazr.  Then I think I figured that out (I&#8217;m not sure) but it didn&#8217;t strike me as a very handy way to read my feeds.  I&#8217;ll try taking another look at it later if I get time.  (I&#8217;m all ears if there&#8217;s a better way to read feeds).</p>

<h3>Extending MySQL</h3>

<p>This one was mostly for fun.  I knew a lot about UDFs already (I&#8217;ve created some) and I knew about the pluggable storage engine API.  But I didn&#8217;t know about pluggable event daemons.  Holy cow, what a great way to shoot yourself (or your server) in the foot!  All the power of an atomic bomb, with all the safety of SPF 5 sunblock in a nuclear attack.  Or something like that.  But darn, it sure is nifty.  Brian is a great speaker too &#8212; very lively.</p>

<p>You know, there&#8217;s another way to extend MySQL that most people don&#8217;t seem to know about, which Brian didn&#8217;t mention.  That is procedures (not stored procedures).  They are sort of like a post-filter for a result set, and like UDFs they&#8217;ve been around forever.  I have never heard of anyone writing their own, but there&#8217;s an example in the server itself: <a href="http://dev.mysql.com/doc/refman/4.1/en/procedure-analyse.html">PROCEDURE ANALYSE</a>.</p>

<h3>Expo hall</h3>

<p>I went to the expo hall to meet and greet many of the companies that Percona (my employer) is already working with (doing independent benchmarks, performance verification, analysis etc) or will be in the future.  I also wanted to grill some of the vendors on their technology.  Usually I find them very cagey; they claim X times faster this-or-that, but won&#8217;t tell you how, and won&#8217;t tell you what their systems don&#8217;t do well.  I don&#8217;t understand why they take this approach; you can&#8217;t hide your system&#8217;s strong and weak spots.  There is no security through obscurity, and shrewd independent observers are going to get to the bottom of it with or without your permission.</p>

<p>So, for instance, I was talking with <a href="http://www.tokutek.com/">Tokutek,</a> who claimed to be a drop-in replacement for InnoDB with 200x better performance and apparently no downsides.  However, on closer questioning, I did get him to admit that the system has table-level locking.  Thus it won&#8217;t give any concurrency, so saying it&#8217;s a drop-in InnoDB replacement is questionable.  And the comparison against InnoDB seemed contrived to create a worst-case situation with bad tuning and a workload so it would perform terribly. An honest comparison tunes both systems to their highest performance and measures them; you can&#8217;t tune one system as badly as possible and compare it to the other&#8217;s best-case performance.  I pressed on further and asked about range scans in some specific cases (they claim they&#8217;re great at range queries, and equal to InnoDB on everything else).  At last they admitted they can&#8217;t perform well on some very common queries such as real-life queries InnoDB performs very well on for me.  They said these are &#8220;point queries&#8221; but that&#8217;s not true; you can design indexes to support many different ways to range-query a table in InnoDB and get great performance.  So it sounds to me like Tokutek&#8217;s storage format is extremely narrowly focused, and there is indeed a trade-off.  I will be interested to see how their technology develops, though.  It&#8217;s not done yet.</p>

<h3>In general</h3>

<p>There are a lot of Maatkit t-shirts walking around, which makes me happy.  If I&#8217;d printed 200 of them, I probably could have given them all away.  I was wearing a <a href="http://www.postgresql.org/">PostgreSQL</a> t-shirt myself.  Proudly, I might add.  I&#8217;m not the only person here who&#8217;s interested in PostgreSQL.  This morning I met a person from EnterpriseDB.</p>

<p>Yesterday was a bit slow in terms of interesting sessions, but there was a lot going on in the hallways, the expo hall, the meetings over lunch, and so on.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2008/04/19/mysql-conference-and-expo-2008-day-three/' rel='bookmark' title='Permanent Link: MySQL Conference and Expo 2008, Day Three'>MySQL Conference and Expo 2008, Day Three</a></li>
<li><a href='http://www.xaprb.com/blog/2008/04/16/mysql-conference-and-expo-2008-day-one/' rel='bookmark' title='Permanent Link: MySQL Conference and Expo 2008, Day One'>MySQL Conference and Expo 2008, Day One</a></li>
<li><a href='http://www.xaprb.com/blog/2008/01/25/my-presentations-at-the-2008-mysql-conference-and-expo/' rel='bookmark' title='Permanent Link: My presentations at the 2008 MySQL Conference and Expo'>My presentations at the 2008 MySQL Conference and Expo</a></li>
<li><a href='http://www.xaprb.com/blog/2008/04/25/baron-schwartz-on-a-podcast-at-mysql-conference-and-expo-2008/' rel='bookmark' title='Permanent Link: Baron Schwartz on a podcast at MySQL Conference and Expo 2008'>Baron Schwartz on a podcast at MySQL Conference and Expo 2008</a></li>
<li><a href='http://www.xaprb.com/blog/2008/04/23/like-it-or-not-it-is-the-mysql-conference-and-expo/' rel='bookmark' title='Permanent Link: Like it or not, it is the MySQL Conference and Expo'>Like it or not, it is the MySQL Conference and Expo</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2008/04/17/mysql-conference-and-expo-2008-day-two/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

