<?xml version="1.0"?>
<rss version="2.0">

<channel>
	<title>Planet Drizzle</title>
	<link>http://planetdrizzle.org</link>
	<language>en</language>
	<description>Planet Drizzle - http://planetdrizzle.org</description>

<item>
	<title>Stewart Smith: 181  branches</title>
	<guid>http://www.flamingspork.com/blog/?p=1335</guid>
	<link>http://www.flamingspork.com/blog/2009/01/07/181-branches/</link>
	<description>&lt;p&gt;That&amp;#8217;s what &lt;a title=&quot;Launchpad&quot; href=&quot;http://launchpad.net&quot;&gt;launchpad&lt;/a&gt; is reporting r.e. &lt;a href=&quot;https://code.launchpad.net/drizzle&quot;&gt;Drizzle&lt;/a&gt;. Also, 38 (of the 42 people it lists) have committed in the past month. That is impressive.&lt;/p&gt;
&lt;p&gt;Wow&amp;#8230; I guess this means our little project is fairly popular&amp;#8230; or something like that.&lt;/p&gt;</description>
	<pubDate>Wed, 07 Jan 2009 00:21:12 +0000</pubDate>
</item>
<item>
	<title>Brian Aker: To Twitter or Not</title>
	<guid>http://krow.livejournal.com/629443.html</guid>
	<link>http://krow.livejournal.com/629443.html</link>
	<description>Almost a year ago I made the post &quot;&lt;a href=&quot;http://krow.livejournal.com/575506.html&quot;&gt;Twitter...&lt;/a&gt;&quot; about my often asked question of the time about whether I should be writing an LJ blog post or just tweeting a thought.&lt;br /&gt;&lt;br /&gt;As total number of posts go, Twitter won last year hands down. I comment about my life daily on it.&lt;br /&gt;&lt;br /&gt;Want to know what I do with Drizzle day to day? Read twitter.&lt;br /&gt;&lt;br /&gt;Want to know about the things which give me a chuckle most days? Read Twitter.&lt;br /&gt;&lt;br /&gt;Twitter forces me to boil my thoughts down into simple statements. Fewer characters mean I waste less time getting to the point (talk about rethinking what you learned in college about trying to fill paragraphs in order to write longer papers!).&lt;br /&gt;&lt;br /&gt;Unlike my blog which is filled with random photos and lengthy posts on technology, Twitter is more a dump of my mind (though far from all of it). I've not bought into the &quot;you must stick to one topic and create a feed which has the characteristics...&quot; Twitter style guidelines.&lt;br /&gt;&lt;br /&gt;It sounds terribly dull.&lt;br /&gt;&lt;br /&gt;Dull does nothing for me.&lt;br /&gt;&lt;br /&gt;Nor does Saturday Night Live for that matter (but Jon Stewart? Well...)&lt;br /&gt;&lt;br /&gt;So I will give absolutely zero promises about blogging more this year. What I will do is make Twitter a bit more ubiquitous in my life so that I can drop more thoughts.&lt;br /&gt;&lt;br /&gt;And if this had been a twitter post?&lt;br /&gt;&lt;br /&gt;&quot;More Twitter, Less LJ, more thoughts this year.&quot;&lt;br /&gt;&lt;br /&gt;I would even have the room to add in a URL to the tweet for this post :)</description>
	<pubDate>Mon, 05 Jan 2009 17:30:13 +0000</pubDate>
</item>
<item>
	<title>Mark Atword: Tweets for Today</title>
	<guid>urn:lj:livejournal.com:atom1:fallenpegasus:805069</guid>
	<link>http://fallenpegasus.livejournal.com/805069.html</link>
	<description>&lt;ul class=&quot;loudtwitter&quot;&gt;&lt;li&gt;&lt;em&gt;00:26&lt;/em&gt; Drizzle is now on Twitter  &lt;a href=&quot;http://twitter.com/drizzlebugs&quot;&gt;twitter.com/drizzlebugs&lt;/a&gt; &lt;a href=&quot;http://twitter.com/fallenpegasus/statuses/1084947228&quot;&gt;#&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;00:31&lt;/em&gt; @&lt;a href=&quot;http://twitter.com/abrichar&quot;&gt;abrichar&lt;/a&gt; i've found a handful of facebook apps to be useful.  i like fbCal and @harper's Flickr app &lt;a href=&quot;http://twitter.com/fallenpegasus/statuses/1084953846&quot;&gt;#&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;04:19&lt;/em&gt; I'm at Shanghai Garden Restaurant II (524 6th Ave S, Seattle, WA 98104, USA) - &lt;a href=&quot;http://bkite.com/03jVU&quot;&gt;bkite.com/03jVU&lt;/a&gt; &lt;a href=&quot;http://twitter.com/fallenpegasus/statuses/1085299862&quot;&gt;#&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;04:49&lt;/em&gt; I'm at Home Depot (2701 Utah Ave South, Seattle, WA) - &lt;a href=&quot;http://bkite.com/03jXI&quot;&gt;bkite.com/03jXI&lt;/a&gt; &lt;a href=&quot;http://twitter.com/fallenpegasus/statuses/1085342731&quot;&gt;#&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;05:25&lt;/em&gt; I'm at AMF Imperial Lanes (2101 22nd Ave S, Seattle, WA 98144, USA) - &lt;a href=&quot;http://bkite.com/03jZH&quot;&gt;bkite.com/03jZH&lt;/a&gt; &lt;a href=&quot;http://twitter.com/fallenpegasus/statuses/1085389965&quot;&gt;#&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;21:40&lt;/em&gt; Doing more Drizzle errmsg hacking. Making the half-done and overly complex be simple and extensible. &lt;a href=&quot;http://twitter.com/fallenpegasus/statuses/1086681444&quot;&gt;#&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Automatically shipped by &lt;a href=&quot;http://www.loudtwitter.com&quot;&gt;LoudTwitter&lt;/a&gt;</description>
	<pubDate>Wed, 31 Dec 2008 00:20:22 +0000</pubDate>
</item>
<item>
	<title>Mark Atword: Tweets for Today</title>
	<guid>urn:lj:livejournal.com:atom1:fallenpegasus:804688</guid>
	<link>http://fallenpegasus.livejournal.com/804688.html</link>
	<description>&lt;ul class=&quot;loudtwitter&quot;&gt;&lt;li&gt;&lt;em&gt;17:50&lt;/em&gt; My locksmith has a shop cat &lt;a href=&quot;http://twitter.com/fallenpegasus/statuses/1084305361&quot;&gt;#&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;23:01&lt;/em&gt; @&lt;a href=&quot;http://twitter.com/twistedmonk&quot;&gt;twistedmonk&lt;/a&gt; can you convince your staff not on direct deposit to start using it, rendering this issue moot in the future? &lt;a href=&quot;http://twitter.com/fallenpegasus/statuses/1084815204&quot;&gt;#&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;23:29&lt;/em&gt; Johnny Cash's &quot;I Won't Back Down&quot; could be a wonderfully angry and powerful piece, that he sings wrongly, like someone who's already beaten. &lt;a href=&quot;http://twitter.com/fallenpegasus/statuses/1084859105&quot;&gt;#&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;23:53&lt;/em&gt; Glad you liked. Sure! &lt;a href=&quot;http://twitter.com/fallenpegasus/statuses/1084897587&quot;&gt;#&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;00:26&lt;/em&gt; Drizzle is now on Twitter  &lt;a href=&quot;http://twitter.com/drizzlebugs&quot;&gt;twitter.com/drizzlebugs&lt;/a&gt; &lt;a href=&quot;http://twitter.com/fallenpegasus/statuses/1084947228&quot;&gt;#&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;em&gt;00:31&lt;/em&gt; @&lt;a href=&quot;http://twitter.com/abrichar&quot;&gt;abrichar&lt;/a&gt; i've found a handful of facebook apps to be useful.  i like fbCal and @harper's Flickr app &lt;a href=&quot;http://twitter.com/fallenpegasus/statuses/1084953846&quot;&gt;#&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Automatically shipped by &lt;a href=&quot;http://www.loudtwitter.com&quot;&gt;LoudTwitter&lt;/a&gt;</description>
	<pubDate>Tue, 30 Dec 2008 02:26:02 +0000</pubDate>
</item>
<item>
	<title>Mark Atword: Follow Drizzle on Twitter</title>
	<guid>urn:lj:livejournal.com:atom1:fallenpegasus:804141</guid>
	<link>http://fallenpegasus.livejournal.com/804141.html</link>
	<description>I've created a Twitter for Drizzle at &lt;a href=&quot;http://twitter.com/drizzlebugs&quot;&gt;http://twitter.com/drizzlebugs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Follow it for announcements, bugs reports, and other Drizzle related stuff</description>
	<pubDate>Mon, 29 Dec 2008 23:55:19 +0000</pubDate>
</item>
<item>
	<title>Monty Taylor: Dutch and French winning, Italian close behind</title>
	<guid>http://mysql-ha.com/post/59</guid>
	<link>http://mysql-ha.com/post/59</link>
	<description>&lt;p&gt;First of all, I'd like to thank everyone who has helped translating messages for Drizzle so far. &lt;/p&gt;&lt;p&gt;Secondly, congratulations to Dutch and French speakers, since you have translations of all translatable strings! (so far, Mark Atwood is working on an overhaul of the error message system, so I imagine we'll find some more strings that need work) &lt;/p&gt;&lt;p&gt;Italian speakers are close - there are only 76 of 1413 messages untranslated.&lt;/p&gt;&lt;p&gt;After the top three, things fall off a bit. German has 744 untranslated, English (UK) has 905 untranslated (although honestly, there probably aren't that many needing translation). Spanish has 1019 untranslated, Norwegian Bokmal has 1049 and Brazillian Portuguese has 1078. Hindi and Polish round out the top ten with 1243 and 1251 untranslated respectively. &lt;/p&gt;&lt;p&gt;So good job everybody, and thanks for all the hard work! For anyone who wants to pitch in who hasn't, you can just head over to &lt;a href=&quot;http://translations.launchpad.net/drizzle&quot;&gt;http://translations.launchpad.net/drizzle&lt;/a&gt; and jump in &lt;/p&gt;</description>
	<pubDate>Wed, 24 Dec 2008 13:01:15 +0000</pubDate>
</item>
<item>
	<title>Stewart Smith: Drizzle progress… (testing can be good)</title>
	<guid>http://www.flamingspork.com/blog/?p=1326</guid>
	<link>http://www.flamingspork.com/blog/2008/12/23/drizzle-progress-testing-can-be-good/</link>
	<description>&lt;p&gt;We&amp;#8217;ve been working on fixing up the remaining test cases so that they run with Drizzle. We&amp;#8217;ve found: bugs in Drizzle, bugs in MySQL (one that seems to have been there for at least 10 years), bugs in the tests, tests that no longer apply and occationally, something like this:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
/* Please god, will someone rewrite this to be readable :( */&lt;br /&gt;
if (to-&amp;gt;pack_length() == from-&amp;gt;pack_length() &amp;amp;&amp;amp;&lt;br /&gt;
!(to-&amp;gt;flags &amp;amp; UNSIGNED_FLAG &amp;amp;&amp;amp; !(from-&amp;gt;flags &amp;amp; UNSIGNED_FLAG)) &amp;amp;&amp;amp;&lt;br /&gt;
to-&amp;gt;real_type() != DRIZZLE_TYPE_ENUM &amp;amp;&amp;amp;&lt;br /&gt;
(to-&amp;gt;real_type() != DRIZZLE_TYPE_NEWDECIMAL || (to-&amp;gt;field_length == from-&amp;gt;field_length &amp;amp;&amp;amp; (((Field_num*)to)-&amp;gt;dec == ((Field_num*)from)-&amp;gt;dec))) &amp;amp;&amp;amp;&lt;br /&gt;
from-&amp;gt;charset() == to-&amp;gt;charset() &amp;amp;&amp;amp;&lt;br /&gt;
to-&amp;gt;table-&amp;gt;s-&amp;gt;db_low_byte_first == from-&amp;gt;table-&amp;gt;s-&amp;gt;db_low_byte_first &amp;amp;&amp;amp;&lt;br /&gt;
(!(to-&amp;gt;table-&amp;gt;in_use-&amp;gt;variables.sql_mode &amp;amp; (MODE_NO_ZERO_DATE | MODE_INVALID_DATES)) || (to-&amp;gt;type() != DRIZZLE_TYPE_DATE &amp;amp;&amp;amp; to-&amp;gt;type() != DRIZZLE_TYPE_DATETIME)) &amp;amp;&amp;amp;&lt;br /&gt;
(from-&amp;gt;real_type() != DRIZZLE_TYPE_VARCHAR || ((Field_varstring*)from)-&amp;gt;length_bytes == ((Field_varstring*)to)-&amp;gt;length_bytes))&lt;br /&gt;
{						// Identical fields&lt;br /&gt;
/* This may happen if one does 'UPDATE ... SET x=x' */&lt;br /&gt;
if (to-&amp;gt;ptr != from-&amp;gt;ptr)&lt;br /&gt;
memcpy(to-&amp;gt;ptr,from-&amp;gt;ptr,to-&amp;gt;pack_length());&lt;br /&gt;
return 0;&lt;br /&gt;
}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and no, I haven&amp;#8217;t really changed the formatting.&lt;/p&gt;</description>
	<pubDate>Tue, 23 Dec 2008 04:18:23 +0000</pubDate>
</item>
<item>
	<title>Stephen O'Grady: MySQL: Now and Then</title>
	<guid>http://redmonk.com/sogrady/?p=2613</guid>
	<link>http://feeds.feedburner.com/~r/tecosystems/~3/491483356/</link>
	<description>&lt;p&gt;MySQL has never shied from being controversial, from being the iconoclast of the open source world. From working with SCO to embedding non-open source assets to the dual licensing strategy, the vendor has ever been willing to push the envelope and experiment. &lt;/p&gt;
&lt;p&gt;And while it&amp;#8217;s taken a beating in some quarters for a decision here and there, it remains the de facto open source standard for a relational store. In spite of the fact that there are database people that would vehemently claim that it is anything but a relational store. Even its competitors, however, will generally allow that it is as close to ubiquitous as you get in the database world. &lt;/p&gt;
&lt;p&gt;As Jeremy &lt;a href=&quot;http://jeremy.zawodny.com/blog/archives/010774.html&quot;&gt;says&lt;/a&gt;, however, the times, &lt;a href=&quot;http://www.bobdylan.com/#/songs/times-they-are-changin&quot;&gt;They Are A-Changin&lt;/a&gt;.&amp;#8217; For better or worse, we don&amp;#8217;t yet know, but it&amp;#8217;s a whole new world. &lt;/p&gt;
&lt;p&gt;To explore some of these questions, let&amp;#8217;s turn to our old friend the Q&amp;#038;A, as we haven&amp;#8217;t done one in a while. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: Before we begin, anything to disclose?&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: Yes. MySQL, and MySQL&amp;#8217;s parent company Sun are both RedMonk customers, as are market competitors such as EnterpriseDB, IBM and Microsoft. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: So what&amp;#8217;s been happening with MySQL lately?&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: Quite a bit. In case you haven&amp;#8217;t been keeping up with current events, the company got &lt;a href=&quot;http://redmonk.com/sogrady/2008/01/16/sun_mysql/&quot;&gt;acquired&lt;/a&gt;, and since then, a few things have happened. They lost &lt;a href=&quot;http://blogs.mysql.com/kaj/2008/10/07/thank-you-david-axmark/&quot;&gt;a co-founder&lt;/a&gt;, their new parent&amp;#8217;s financial fortunes took a tumble (prompting &lt;a href=&quot;http://redmonk.com/sogrady/2008/11/26/wwsd/&quot;&gt;advice&lt;/a&gt;), and they (finally) kicked &lt;a href=&quot;http://www.mysql.com/products/enterprise/server.html&quot;&gt;5.1&lt;/a&gt; out the door. Which Monty wasn&amp;#8217;t exactly &lt;a href=&quot;http://monty-says.blogspot.com/2008/11/oops-we-did-it-again-mysql-51-released.html&quot;&gt;fired up about&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;And those are just a few of the obvious items of note. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: We&amp;#8217;ll get to the non-obvious in just a bit; for now, what&amp;#8217;s changed with MySQL as a business?&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: A lot, and a little. Among other things. &lt;/p&gt;
&lt;p&gt;In terms of how business is done, what you hear from acquired MySQL employees is what you&amp;#8217;d hear from any other small company acquired by a big company: grumblings about the crush of process, death by meetings and so on balancing praise for the advantages of (even) wider distribution and greater resource availability. Ultimately, little has changed externally. I&amp;#8217;ve even spoken to a few users who were unaware that MySQL had been acquired, shocking as that might be to those of us spend our time covering such things. Predictions of a decommitment from Linux, for example, have proven groundless, and clearly the MySQL employees still feel empowered to speak their mind without fear of retribution. &lt;/p&gt;
&lt;p&gt;From a business perspective, then, it would seem that the aquisition and the subsequent dip in Sun&amp;#8217;s fortunes haven&amp;#8217;t had much impact. And also, that the more things change, the more they stay the same.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: Has being acquired by Sun changed the business model?&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: That question presumes that there was a fixed, static business model in place - an assertion that I would dispute. While some MySQL revenue models - dual licensing profits and traditional support/service - have been consistent, the firm has historically demonstrated a willingness to &lt;a href=&quot;http://redmonk.com/sogrady/2007/12/03/mysql_workbench/&quot;&gt;adjust and tweak&lt;/a&gt; various dials on their business model to try to find an optimal (for the vendor) and fair (for the community) balance between revenue generation and community relations. That has &lt;a href=&quot;http://weblog.infoworld.com/openresource/archives/2008/11/mysql_query_ana.html?source=rss&quot;&gt;continued&lt;/a&gt;, as we see with the MySQL Query Analyzer. So no, I would argue: the acquisition by Sun has not materially changed the business model.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: So what has changed with MySQL?&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: The community around the product. It&amp;#8217;s come a long way, and there are some interesting questions looming. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: Well, let&amp;#8217;s start with the progress: how has the MySQL community come a long way?&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: As Jeremy says, &amp;#8220;Nowadays MySQL is sort of a universe onto itself.&amp;#8221; It&amp;#8217;s the closest thing the database has to a ubiquitous platform, and that ubiquity has - predictably - incented a variety of behaviors and developments. Some that offer a potential commercial benefit Sun/MySQL, and some that raise certain questions. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: Which are potentially good for Sun/MySQL?&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: Well, the creation of appliance and datawarehousing lines of business for MySQL in Kickfire and Infobright expand the addressable market for the product, introduce it to new audiences and potentially help drive its development by posing new technical challenges in workload and performance requirements. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: And how about those that &amp;#8220;raise questions?&amp;#8221;&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: Well, let&amp;#8217;s remember what the dual license mechanism is and how it works. Here&amp;#8217;s a basic description &lt;a href=&quot;http://redmonk.com/sogrady/2007/04/30/correcting_the_record/&quot;&gt;I wrote&lt;/a&gt; a while back:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;A single entity such as MySQL is responsible for the overwhelming majority of all development on a given codebase. Anything they don’t produce themselves, they license. Very often this is practiced in conjunction with the dual-license model; because MySQL is responsible for virtually all of the development of the core code, they own or have licensed appropriately all of the involved IP. As such, they’re free to issue commercial licenses to those who would cannot or choose not to comply with the terms of the open source license - the GPL, in this case.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Generally, this model has served MySQL fairly well. By controlling the intellectual property, they retain the rights to relicense the code, thus protecting a revenue stream. They also were afforded a slightly greater protection from forks versus more collaboratively developed projects like Linux, in that they - theoretically - employed the majority of the people qualified and paid to work on the codebase at the lowest levels. But let&amp;#8217;s come back to that. &lt;/p&gt;
&lt;p&gt;What&amp;#8217;s the catch to the model? In part, it&amp;#8217;s that the burden of development is born almost entirely by the MySQL staff, but the more relevant concern here is the inability to consume external contributions - even if they&amp;#8217;re excellent - without licensing them. &lt;/p&gt;
&lt;p&gt;Stated more simply: as long as MySQL remains committed to the dual licensing model, it will be unable to accept the same patch set that open source only versions of the code can, because they do not share the same licensing concerns. Which is why we&amp;#8217;ve seen these spring up, and possibly why the MySQL-derived Drizzle project has taken a different approach from its parent. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: Where are these patches being accumulated?&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: In external binaries from the likes of Percona and OurDelta, who add patches aimed at improving performance and so on and release versions of MySQL that MySQL itself cannot. In a manner of speaking, Jeremy is exactly right when he says &amp;#8220;you can get a &amp;#8220;better&amp;#8221; MySQL than the one Sun/MySQL gives you today. For free.&amp;#8221; I&amp;#8217;d argue it&amp;#8217;s more complicated than that, particularly for enterprises that might prioritize support and service over the latest and greatest features, but his argument is certainly reasonable for certain market segments. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: Is that legal?&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: Sure. As long as the patches and original source are released under the GPL (and to be applied and distributed, they have to be), it&amp;#8217;s all perfectly legal. MySQL itself could even consume the patches if it wished, but it would forfeit, assuming they couldn&amp;#8217;t license it all, the ability to exclusively license the database. So it&amp;#8217;s a tradeoff: revenue from exclusive database licensing rights vs a more collaboratively developed product. &lt;/p&gt;
&lt;p&gt;It will be interesting to see how MySQL evolves its model going forward, because the trend to me seems clear: more and better patches for MySQL are emerging from the community all the time. Which on the one hand is great for the product, but on the other raises questions for the firm. &lt;/p&gt;
&lt;p&gt;It&amp;#8217;ll be interesting to see MySQL evolve and adapt its models to a changing ecosystem; certainly they&amp;#8217;ve shown no hesistancy to experiment in the past. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: You mentioned Drizzle; where does it fit in?&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: Well, Drizzle is a very different project from MySQL aimed at a very different audience, though some would say it&amp;#8217;s the original MySQL audience. So in spite of the fact that Drizzle is derived from MySQL, it&amp;#8217;s being built using a fundamentally different model and has almost entirely different design goals. More on that project &lt;a href=&quot;http://redmonk.com/sogrady/2008/07/23/drizzle/&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://redmonk.com/sogrady/2008/10/22/drizzle_changes/&quot;&gt;here&lt;/a&gt;, but while it&amp;#8217;s early days, it&amp;#8217;s definitely one to watch. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: Given Drizzle&amp;#8217;s MySQL heritage, is it sharing changes and patchsets with its parent, and vice versa?&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: I wondered about that myself after reading Ian&amp;#8217;s entry &lt;a href=&quot;http://blog.holsman.net/2008/8/drizzle-mysql-the-fun-starts-now&quot;&gt;here&lt;/a&gt;, but Brian was kind enough to drop by and comment on that, describing the current state &lt;a href=&quot;http://redmonk.com/sogrady/2008/12/01/links-for-2008-12-01/#comment-497380&quot;&gt;thusly&lt;/a&gt;: &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;In general though? There is no bug flow from Drizzle to MySQL. So all of the bug fixes we have made to turn Drizzle into an ACID compliant/OLTP type system? I don’t see those going back (and there are hundreds). On the same token their bug fixes? Other then the bug fixes for the optimizer we just do not see them.&lt;/p&gt;
&lt;p&gt;Both projects get fed Innodb, so as far as that goes we are similar (though we have community pushing for Google/Percona patches).&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Apples to oranges, then, even on a bug level. Note especially the comment on the Google/Percona patches; that would be possible in Drizzle where it is not in MySQL precisely because of the difference taking in the licensing and development model. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: What do you think the future holds for MySQL, generally?&lt;br /&gt;
&lt;b&gt;A&lt;/b&gt;: MySQL is in good shape, in my view, because they have achieved volume: something that will be increasingly difficult to do, I believe, because of the trend towards diversification. The primary task ahead for them, as it has ever been, is using that volume for better monetization; that would ease any and all of the challenges mentioned above, I believe. As for how they do that, I remain &lt;a href=&quot;http://redmonk.com/sogrady/2007/08/20/more_money/&quot;&gt;convinced&lt;/a&gt; that the clearest path to increased monetization lies with leveraging &lt;a href=&quot;http://redmonk.com/sogrady/2008/12/04/telemetry/&quot;&gt;telemetry&lt;/a&gt;. MySQL users are generating petabytes of useful data every day without lifting a finger, but to date, no one is leveraging that. Query Analyzer can provide interesting insights on a customer by customer basis, but what if it had access to telemetry from MySQL users all over the world? A different value altogether. That data would have massive value in aggregate, to a variety of audiences: MySQL, MySQL customers, MySQL partners, and - potentially - hardware designers. &lt;/p&gt;
&lt;p&gt;That&amp;#8217;s where my focus would be, if I was in their shoes. &lt;/p&gt;
&lt;div class=&quot;acc_license&quot;&gt;&lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png&quot; alt=&quot;by-nc-sa&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!--&lt;rdf:RDF xmlns=&quot;http://creativecommons.org/ns#&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;&lt;Work rdf:about=&quot;&quot;&gt;&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot; /&gt;&lt;/Work&gt;&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot;&gt;&lt;requires rdf:resource=&quot;http://creativecommons.org/ns#Attribution&quot; /&gt;&lt;permits rdf:resource=&quot;http://creativecommons.org/ns#Reproduction&quot; /&gt;&lt;permits rdf:resource=&quot;http://creativecommons.org/ns#Distribution&quot; /&gt;&lt;permits rdf:resource=&quot;http://creativecommons.org/ns#DerivativeWorks&quot; /&gt;&lt;requires rdf:resource=&quot;http://creativecommons.org/ns#ShareAlike&quot; /&gt;&lt;prohibits rdf:resource=&quot;http://creativecommons.org/ns#CommercialUse&quot; /&gt;&lt;requires rdf:resource=&quot;http://creativecommons.org/ns#Notice&quot; /&gt;&lt;/License&gt;&lt;/rdf:RDF&gt;--&gt;&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://redmonk.com/sogrady/?p=2613&amp;amp;akst_action=share-this&quot; title=&quot;E-mail this, post to del.icio.us, etc.&quot; id=&quot;akst_link_2613&quot; class=&quot;akst_share_link&quot;&gt;Share This&lt;/a&gt;
&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/tecosystems?a=oomNo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/tecosystems?i=oomNo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/tecosystems?a=FbXUo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/tecosystems?i=FbXUo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/tecosystems?a=cClGo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/tecosystems?i=cClGo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/tecosystems?a=Q1SzO&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/tecosystems?i=Q1SzO&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/tecosystems/~4/491483356&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Sun, 21 Dec 2008 16:55:20 +0000</pubDate>
</item>
<item>
	<title>Stewart Smith: Speaker: MySQL Conference &amp; Expo 2009 - O’Reilly Conferences, April 20 - 23, 2009, Santa Clara, CA</title>
	<guid>http://www.flamingspork.com/blog/?p=1324</guid>
	<link>http://www.flamingspork.com/blog/2008/12/19/speaker-mysql-conference-expo-2009-oreilly-conferences-april-20-23-2009-santa-clara-ca/</link>
	<description>&lt;p&gt;Yes, I&amp;#8217;m speaking at  the upcoming &lt;a href=&quot;http://en.oreilly.com/mysql2009/public/schedule/speaker/754&quot;&gt;MySQL Conference &amp;amp; Expo 2009&lt;/a&gt; - on April 20 - 23 (and yes, it&amp;#8217;s in Santa Clara again).&lt;/p&gt;
&lt;p&gt;I have three sessions:&lt;/p&gt;
&lt;p&gt;MySQL Cluster Tutorial: this time with 6.4 feature goodness. Very hands-on, very interactive.&lt;/p&gt;
&lt;p&gt;MySQL Cluster on Windows:  (insert witty text about hating operating system freedom here)&lt;/p&gt;
&lt;p&gt;Memory Management in MySQL and Drizzle: not magic setting of buffer variables, but memory allocation and management inside the server, a bunch of malloc() discussion and hopefully some interesting numbers.&lt;/p&gt;</description>
	<pubDate>Fri, 19 Dec 2008 06:52:35 +0000</pubDate>
</item>
<item>
	<title>Monty Taylor: drizzle + xtradb == ?</title>
	<guid>http://mysql-ha.com/post/58</guid>
	<link>http://mysql-ha.com/post/58</link>
	<description>&lt;p&gt;Vadim announced &lt;a href=&quot;http://www.mysqlperformanceblog.com/2008/12/16/announcing-percona-xtradb-storage-engine-a-drop-in-replacement-for-standard-innodb/&quot;&gt;Percona's XtraDB&lt;/a&gt; a couple of days ago, and then followed up with some really &lt;a href=&quot;http://www.mysqlperformanceblog.com/2008/12/18/xtradb-benchmarks-15x-gain/&quot;&gt;fun benchmarks&lt;/a&gt;. Of course, the first thought I had was &amp;quot;I need another cup of coffee,&amp;quot; which was shortly followed by &amp;quot;I should merge that in to Drizzle!&amp;quot;&lt;/p&gt;&lt;p&gt;First step was merging it in to a branch of the innodb-plugin-upstream branch, making an &lt;/p&gt;&lt;p&gt;lp:~mordred/drizzle/xtradb-upstream&lt;/p&gt;&lt;p&gt;Merged it up to drizzle trunk, and now we have:&lt;/p&gt;&lt;p&gt;lp:~mordred/drizzle/xtradb&lt;/p&gt;&lt;p&gt;But what I really want is for our changes to InnoDB/XtraDB to get merged in. So I also make a branch of XtraDB and applied our stuff to it:&lt;/p&gt;&lt;p&gt;lp:~mordred/percona-xtradb/drizzle&lt;/p&gt;&lt;p&gt;My goal there would be a chunk of code that will compile for either MySQL or Drizzle. I've done what I can for that - with the exception of actually attempting to compile it under MySQL, so it might need a new patch or two. &lt;/p&gt;&lt;p&gt;That has been &lt;a href=&quot;http://code.launchpad.net/~mordred/percona-xtradb/drizzle/+merge/2442&quot;&gt;proposed for merge&lt;/a&gt; into the percona-xtradb trunk.&amp;nbsp;&lt;/p&gt;&lt;p&gt;As far as I can tell, that's just about all of the permutations of the code that could possibly be interesting to anyone. Have fun!&lt;/p&gt;</description>
	<pubDate>Thu, 18 Dec 2008 17:31:11 +0000</pubDate>
</item>
<item>
	<title>Jay Pipes: I Didn't Say &quot;Screw Windows&quot;</title>
	<guid>http://jpipes.com/index.php?/archives/277-guid.html</guid>
	<link>http://jpipes.com/index.php?/archives/277-I-Didnt-Say-Screw-Windows.html</link>
	<description>&lt;p&gt;
A number of commenters on my previous entry thought I was basically saying &quot;Screw Windows&quot;.  &lt;a href=&quot;http://pooteeweet.org/blog/0/1388#m1388&quot;&gt;Lukas Smith&lt;/a&gt; and Bill Karwin, both of whom I respect enormously, noted that Windows is a dominant development platform for MySQL users, and that one of the reasons for MySQL's popularity was that it runs smoothly (for a while now) on Windows.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Bill and Lukas&lt;/strong&gt;: You are 100% correct.
&lt;/p&gt;
&lt;p&gt;
That said, what I wrote was this:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;strong&gt;Forget Windows for now&lt;/strong&gt;: Use open source, community-maintained, and standardized libraries within the kernel. Don't rewrite libc and various other quality open source libraries because of Not Invented Here syndrome or because Windows lacks these things. Focus on the standards and don't bother with platforms that don't conform to POSIX. If Microsoft wants future MySQL versions to run on its platforms, partner with Microsoft and have them do the port. While you're at it, drop support for old platforms like Netware and other crap that is obselete.
&lt;/blockquote&gt;
&lt;p&gt;
The above is advice to the team in charge of re-architecting the database server.  What it boils down to is this: &lt;strong&gt;focus &lt;em&gt;first and forement&lt;/em&gt; on using standard, community-maintained open source libraries and on creating a neatly-architected, &lt;em&gt;clean and lean&lt;/em&gt; kernel&lt;/strong&gt;.  After that, worry about Windows ports.
&lt;/p&gt;
&lt;p&gt;
So, it's not about kicking Windows to the curb.  It's about &lt;strong&gt;priorities&lt;/strong&gt;.  The priority should be clean code.  Because having clean, easy-to-understand code leads to:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A more modular architecture&lt;/li&gt;
&lt;li&gt;Exponential increase in community contributors (because many more people can actually understand the code)&lt;/li&gt;
&lt;li&gt;A more stable product (because fixing one thing has much less chance of breaking another)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I posit that the above three things would make a Windows port much easier, and cleaner.  More developers able to contribute, less time trying to figure out the spaghetti, and less chance the port would break tangential pieces of code.
&lt;/p&gt;
&lt;p&gt;
And thus, I believe a solid Windows port of a core kernel would be &lt;strong&gt;easier and faster&lt;/strong&gt; to complete once a POSIX-compliant and clean kernel is completed.
&lt;/p&gt;</description>
	<pubDate>Thu, 18 Dec 2008 15:31:51 +0000</pubDate>
	<author>nospam@example.com (Jay Pipes)</author>
</item>
<item>
	<title>Jim Winstead: how open is drizzle?</title>
	<guid>tag:trainedmonkey.com,2008-12-17:3171</guid>
	<link>http://trainedmonkey.com/2008/12/17/how_open_is_drizzle_</link>
	<description>one piece of &lt;a href=&quot;http://jpipes.com/index.php?/archives/276-My-advice-to-MySQL.html&quot;&gt;jay’s advice to mysql&lt;/a&gt; got me thinking about something that bugs me about &lt;a href=&quot;http://www.drizzle.org/&quot;&gt;drizzle&lt;/a&gt; development. jay said:
&lt;blockquote&gt;
&lt;b&gt;Make all decisions open and transparent:&lt;/b&gt; For the non-maintenance team, make a policy that all decisions about the kernel design be done in an open forum, with the community able to participate in the discussion. Have stewards that are willing to negotiate the design decisions with the community and do everything in a transparent manner.
&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;since jay is one of the key lieutenants in the drizzle effort, it only seems to fair to put them up against that standard. one thing i have noticed is that there is relatively little discussion on the &lt;a href=&quot;https://lists.launchpad.net/drizzle-discuss/&quot;&gt;drizzle mailing list&lt;/a&gt; about all the coding that is going on. the latest discussions mostly seem to be flypaper for standards wonkery and taking shots at mysql.&lt;br /&gt;&lt;br /&gt;meanwhile, you have big refactorings of code like &lt;a href=&quot;http://fallenpegasus.livejournal.com/&quot;&gt;mark atwood&lt;/a&gt;’s plugin-ization of several features that seem to just go into the code without any discussion of the design or implementation.&lt;br /&gt;&lt;br /&gt;maybe all the discussion is happening on the irc channel, but that is not a great way to get much of the potential community involved. how much of it is happening off-line? maybe more than the core drizzle developers realize, or would care to admit.</description>
	<pubDate>Thu, 18 Dec 2008 02:46:39 +0000</pubDate>
</item>
<item>
	<title>Stewart Smith: VirtualBox 2.1.0 (and OpenSolaris 2008.11)</title>
	<guid>http://www.flamingspork.com/blog/?p=1320</guid>
	<link>http://www.flamingspork.com/blog/2008/12/18/virtualbox-210-and-opensolaris-200811/</link>
	<description>&lt;p&gt;Upgraded VirtualBox and booted up my OpenSolaris VM. VirtualBox 2.1.0 finally fixes the bug where if 127.0.0.1 was in resolv.conf on the host - no DNS for you in the guest (unless in the guest you were running a DNS server).&lt;/p&gt;
&lt;p&gt;Haven&amp;#8217;t tried it yet&amp;#8230; but OpenGL Accelleration makes at least a checkbox appearance in VirtualBox 2.1&amp;#8230;. so that could be rather awesome.&lt;/p&gt;
&lt;p&gt;Going a lot better with OpenSolaris 2008.11 than previous releases.. It looks like it might be quite easy to get to the stage of building Drizzle on it.&lt;/p&gt;
&lt;p&gt;Just figured out how to change to Dvorak! Yay, I can type again! (Go to Input Methods preference panel and add US/DVORAK as a language, move it to the top, and enable the input method application and do it that way).&lt;/p&gt;
&lt;p&gt;Currently installing sunstudioexpress. Why not gcc? I&amp;#8217;m pretty sure the version in OpenSolaris is still ancient (so won&amp;#8217;t build drizzle) and Sun Studio does produce different warnings (which indicate real bugs in a bunch of cases).&lt;/p&gt;
&lt;p&gt;Things I wish were packaged: latest protobufs, latest bzr, gcc 4.x&lt;/p&gt;</description>
	<pubDate>Thu, 18 Dec 2008 00:05:15 +0000</pubDate>
</item>
<item>
	<title>Brian Aker: Fun with ☃, ☢, and, ☣ :)</title>
	<guid>http://krow.livejournal.com/628984.html</guid>
	<link>http://krow.livejournal.com/628984.html</link>
	<description>Don't try this at home  :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;create table ☃ (☢ int, ☣ int, key ☢ (☢), key ☣ (☢,☣)) ENGINE=MYISAM;&lt;br /&gt;insert into ☃ (☢) values (1);&lt;br /&gt;insert into ☃ (☢) values (2);&lt;br /&gt;explain select ☢ from ☃ where ☢=1;&lt;br /&gt;drop table ☃;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And no... this is not for live code, it is in a test case I am working on for Drizzle.</description>
	<pubDate>Wed, 17 Dec 2008 01:40:23 +0000</pubDate>
</item>
<item>
	<title>Toru Maesaka: Drizzle’s String Library Diet</title>
	<guid>http://torum.net/?p=680</guid>
	<link>http://torum.net/2008/12/drizzle-string-lib-diet/</link>
	<description>&lt;p&gt;Lately I&amp;#8217;ve been spending most of my time with &lt;a href=&quot;https://launchpad.net/drizzle&quot;&gt;Drizzle&lt;/a&gt;  working towards the &lt;a href=&quot;http://www.jpipes.com/index.php?/archives/272-Drizzle-Cirrus-Milestone-Moving-Forward.html&quot;&gt;Cirrus milestone&lt;/a&gt;. Specifically speaking, I&amp;#8217;ve been slowly standardizing the codebase by throwing out lots of code in MySQL&amp;#8217;s string library and replacing them with appropriate libc and C++ alternatives.&lt;/p&gt;
&lt;p&gt;You see, back in the 80s MySQL had reinvented a lot of the string functionalities provided by libc for reasons that I do not know (because it was before my time). Turns out that most of the code is still in use today and I guess there was a good reason back in the day but nowadays this doesn&amp;#8217;t seem to make much sense, since:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Despite the criticisms, glibc works darn well. &lt;/li&gt;
&lt;li&gt;The priority of optimizing library functions is much higher for standard library developers than it is for you as an application developer.&lt;/li&gt;
&lt;li&gt;Using the standard library also helps new Drizzle community developers understand the codebase much faster from seeing functions that they are already familiar with.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Arguably, being returned a pointer to the terminating NULL like most of MySQL functions makes string appending slightly easier but if you ask me, many people (including myself) are not comfortable with this and it makes the codebase look weird, IMHO. An example of this is having to rewind the pointer when passing the string to a third-party function.&lt;/p&gt;
&lt;h3&gt;Benefits gained from narrowing to UTF-8&lt;/h3&gt;
&lt;p&gt;Because UTF-8 is the prominent encoding in the areas that we are targeting (web and the cloud), currently &lt;a href=&quot;https://lists.launchpad.net/drizzle-discuss/msg00985.html&quot;&gt;Drizzle uses only UTF-8&lt;/a&gt; for its internal representation. So needless to say, support for anything other than UTF-8 were thrown out from the library which helped reduce the size of the library greatly.&lt;/p&gt;
&lt;p&gt;Interested in how much slimmer the Drizzle string library is compared to the original one in MySQL 5.1? To illustrate the difference, here are the results from counting the files and lines:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;term&quot;&gt;$ wc -l mysql-5.1.30/strings/*.c
...
96798 total
&amp;nbsp;
$ ll mysql-5.1.30/strings/ | wc -l
78&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;


&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;term&quot;&gt;$ wc -l drizzle/mystrings/*.cc
...
24634 total
&amp;nbsp;
$ ll drizzle/mystrings/ | wc -l
31&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;AWESOME.&lt;/p&gt;</description>
	<pubDate>Tue, 16 Dec 2008 08:03:54 +0000</pubDate>
</item>
<item>
	<title>Stewart Smith: fixing drizzle on linux sparc</title>
	<guid>http://www.flamingspork.com/blog/?p=1313</guid>
	<link>http://www.flamingspork.com/blog/2008/12/16/fixing-drizzle-on-linux-sparc/</link>
	<description>&lt;p&gt;Since I got &lt;a href=&quot;http://www.flamingspork.com/blog/2008/12/12/debian-about-1234533-times-easier-to-install-than-solaris/&quot;&gt;fed up with Solaris&lt;/a&gt; the other day, the &lt;a href=&quot;http://www.flamingspork.com/blog/2008/12/02/is-your-garage-internet-enabled/&quot;&gt;T1000&lt;/a&gt; is running Debian. This means that &amp;#8220;I&amp;#8217;ll care about Drizzle on Linux Sparc&amp;#8221;.&lt;/p&gt;
&lt;p&gt;OMG were things broken in the most &amp;#8220;trivial&amp;#8221; ways.&lt;/p&gt;
&lt;p&gt;A good quick intro to the issues is &lt;a href=&quot;http://cmynhier.blogspot.com/2008/10/memory-alignment-on-sparc-or-300x.html&quot;&gt;Memory alignment on SPARC, or a 300x speedup!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It all comes down to memory alignment.&lt;/p&gt;
&lt;p&gt;So I pulled the MySQL 6.0 bzr tree onto the box to try it too&amp;#8230; I haven&amp;#8217;t seen so many compiler warnings in ages (okay&amp;#8230; since I last built MySQL.. drizzle is warning-clean and it makes it hard to remember a time before that). I think it works purely by accident.&lt;/p&gt;
&lt;p&gt;So I&amp;#8217;m gradually getting all of Drizzle working on Linux Sparc (a few things fixed already).&lt;/p&gt;
&lt;p&gt;It&amp;#8217;d be great if the T1k had faster disk though (make -j30 is fun&amp;#8230; but IO isn&amp;#8217;t on a single 160GB 7200rpm disk)&amp;#8230; anybody wanting to donate an SSD?&lt;/p&gt;</description>
	<pubDate>Tue, 16 Dec 2008 00:40:05 +0000</pubDate>
</item>
<item>
	<title>Mark Atword: Drizzle is now my job</title>
	<guid>urn:lj:livejournal.com:atom1:fallenpegasus:795246</guid>
	<link>http://fallenpegasus.livejournal.com/795246.html</link>
	<description>I've been involved with the Drizzle project since very soon after it began, working on it on nights and weekends.&lt;br /&gt;&lt;br /&gt;That has just changed.  As of today, I'm no longer a MySQL Professional Services consultant, instead I'm part of a new division of Sun&lt;br /&gt;&lt;br /&gt;Much of my time is to be spent working on Drizzle, with a focus on plugin interfaces and making it work well in Extremely Large distributed environments.&lt;br /&gt;&lt;br /&gt;I will be blogging heavily about what I am doing.  How I sort that blogging out between my personal LiveJournal, my (mostly unused) Sun employee blog, and maybe some other blog system, remains TBD.&lt;br /&gt;&lt;br /&gt;This is going to be &lt;b&gt;fun&lt;/b&gt;.</description>
	<pubDate>Mon, 15 Dec 2008 20:02:25 +0000</pubDate>
</item>
<item>
	<title>Jay Pipes: My advice to MySQL</title>
	<guid>http://jpipes.com/index.php?/archives/276-guid.html</guid>
	<link>http://jpipes.com/index.php?/archives/276-My-advice-to-MySQL.html</link>
	<description>&lt;p&gt;
Here is my advice to MySQL.  Take it or leave it.  Time will tell whether I'm full of shit.
&lt;/p&gt;
&lt;p&gt;
MySQL 5.1 is out the door.  Awesome.  Great job to all the folks who fixed the thousands of bugs over the last 3 years.  MySQL 5.1 should be faster and more stable than 5.0 because of those bug fixes, and features like partitioning are welcome additions to the small percentage of MySQL users who need that functionality.  And, even if there are some bugs in partitioning (what feature &lt;em&gt;doesn't&lt;/em&gt; have any bugs?), the partitioning feature is as good or better than other competing products.  Good job.
&lt;/p&gt;
&lt;p&gt;
However, going forward, here is my advice to MySQL engineering: stop all work on new 6.0 features entirely.  Don't scrap the features, just stop development on them &lt;strong&gt;now&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
Take one month to figure out how to restructure MySQL engineering and priorities with the following steps:
&lt;/p&gt;
&lt;h2&gt;Suggested Steps&lt;/h2&gt;
&lt;p&gt;
&lt;strong&gt;Drop the current roadmap&lt;/strong&gt;: Continuing down the current roadmap without addressing the core problems of a Frankenstein-like core database server kernel will mean that the current roadmap features will take 2-3 times as long to develop.  Stop this now.  Refocus on re-architecting the kernel to a 21st century, modular design.  Tell sales and marketing that you are taking these steps to ensure the &lt;strong&gt;long-term viability&lt;/strong&gt; of the MySQL name and product line.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Make two teams&lt;/strong&gt;: a maintenance team which maintains server versions = 5.1 and a team which is dedicated entirely to redesigning the MySQL server kernel into a streamlined, black box.  Reduce the headcount of the MySQL engineering team if necessary to contain only those engineers who have the ability to design modular, pluggable systems.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Give up on backwards compatibility&lt;/strong&gt;: To make the changes necessary without making the kernel even more complex than it already is, you will need to relinquish the idea that backwards compatibility is necessary.  Guido van Rossum already made this decision for Python 3, recognizing the need for it.  MySQL needs to do the same.  SQL_MODE?  Scrap it.  Only do what is correct according to data integrity and SQL standards.  Reduce the code complexity and code paths and you will find that features are easier to develop and fixes are easier to identify.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Forget Windows for now&lt;/strong&gt;: Use open source, community-maintained, and standardized libraries within the kernel.  Don't rewrite libc and various other quality open source libraries because of Not Invented Here syndrome or because Windows lacks these things.  Focus on the standards and don't bother with platforms that don't conform to POSIX.  If Microsoft wants future MySQL versions to run on its platforms, partner with Microsoft and &lt;em&gt;have them do the port&lt;/em&gt;.  While you're at it, drop support for old platforms like Netware and other crap that is obselete.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Make all decisions open and transparent&lt;/strong&gt;: For the non-maintenance team, make a policy that all decisions about the kernel design be done in an open forum, with the community able to participate in the discussion.  Have stewards that are willing to negotiate the design decisions with the community and do everything in a transparent manner.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Focus all energy towards the APIs&lt;/strong&gt;: Think of the server kernel as simply a &lt;em&gt;provider of services&lt;/em&gt;.  Clearly and consistently define these services (as interfaces and plugin APIs) and have the community of engineers vet the design of these APIs.  Once these interfaces are clearly defined, document them on public wikis.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Clean up the abysmal messiness of the code base&lt;/strong&gt;: Refactor, decruft, and standardize the code base to a C99 (minimal), warning-free, environment that uses stdint, stdbool, proper STL templates, and other stuff that is now standard for 5+ years.  Clear your heads of the premature optimization syndrome that infects the code base and makes it messy and cluttered.  You will find that there are many community resources that would be happy to help in this effort.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Once done, BSD the kernel and turn it over to the open source community&lt;/strong&gt;: Once the above is done, BSD the kernel code base and let the community support it entirely.  Then, focus your energies on creating value-added features as plugins around that community-supported core kernel.  Use the resources and expertise in your engineering department to develop niche addons that &lt;strong&gt;paying&lt;/strong&gt; customers want.  Package &lt;strong&gt;branded&lt;/strong&gt; versions of the MySQL server (closed or open source) that include a number of these value-added plugins that target a specific industry, such as data-warehousing or security-conscious environments.  Sell those packages as Enterprise packages with an Enterprise price point.  Provide all support and services for these Enterprise-branded MySQL server packages.
&lt;/p&gt;
&lt;h2&gt;How Long?&lt;/h2&gt;
&lt;p&gt;
Based on what the Drizzle project has been doing, I predict that doing ALL of the above steps would take approximately 12 months to achieve a version 1.0 of a stable, modular kernel.  I believe that features could be developed as plugins to that kernel in &lt;strong&gt;less time&lt;/strong&gt; than if the work was not done and the features for 6.x are developed as they currently are.
&lt;/p&gt;
&lt;h2&gt;Predictions&lt;/h2&gt;
&lt;p&gt;
If the above steps are taken, here is what I predict would be the outcome:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Reduction in maintenance costs of the core server by 80%&lt;/strong&gt;: By turning over maintenance costs to the community, there will be a reduction in maintenance costs.  By simplifying the kernel code base, there will be an even bigger reduction in maintenance costs: since one &quot;fix&quot; won't break other things nearly as often as &quot;fixes&quot; do today.  This reduction in maintenance costs means that Sun can allocate more of its internal engineering resources to &lt;strong&gt;developing value-added plugins which are sold to customers&lt;/strong&gt;.  Because more developer resources are now dedicated to &lt;strong&gt;revenue-producing activities&lt;/strong&gt;, the long-term viability of the database engineering department is ensured.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Sales and marketing efforts become easier&lt;/strong&gt;: Currently, MySQL sales and marketing are undeniably hindered by two things:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lack of differentiation between community and enterprise server versions&lt;/li&gt;
&lt;li&gt;Much too long release cycle&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
By following the steps above, these problems are tackled.  A simpler and community-supported kernel means a more stable kernel.  A more stable kernel means a shorter, more incremental release cycle.  The lack of differentiation is solved by MySQL now being able to focus on value-added plugins in branded MySQL packaging.  These branded packages are &lt;strong&gt;much easier for a sales force to sell&lt;/strong&gt;, since they represent clear, differentiated value to the customer.
&lt;/p&gt;
&lt;p&gt;
When sales and marketing of a product become easier, only one thing is bound to happen: &lt;strong&gt;a strong increase in sales&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;MySQL will once-again return to the Open Source community&lt;/strong&gt;: Much has been made of the inability of community contributors to get contributions into the MySQL server in a reasonable timeframe.  By opening up the design and development of the kernel to the community, MySQL would restore much of the trust it has lost in recent years.  Instead of being seen as &quot;throwing a bone&quot; to the open source community every once in a while, Sun/MySQL engineering would be seen as an active and trusted partner in open source contributions, stewardship and development.
&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;
Or, I am completely full of it and the above is a waste of time.
&lt;/p&gt;</description>
	<pubDate>Mon, 15 Dec 2008 19:07:00 +0000</pubDate>
	<author>nospam@example.com (Jay Pipes)</author>
</item>
<item>
	<title>Stephen O'Grady: links for 2008-12-14</title>
	<guid>http://redmonk.com/sogrady/2008/12/14/links-for-2008-12-14/</guid>
	<link>http://feeds.feedburner.com/~r/tecosystems/~3/485039662/</link>
	<description>&lt;ul class=&quot;delicious&quot;&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://firebrandal.com/2008/12/08/fire-brand-interviews-bill-james.html&quot;&gt;Fire Brand interviews Bill James - Fire Brand of the American League&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;&amp;quot;Suppose that two players come to the majors at the same time, one of them a .280 hitter and the other a .270 hitter. . .supposing for the purpose of illustration that all baseball skills may be expressed in batting average.   The .270 hitter may start out 14-for-40 (.350), earning him an extended opportunity to play.   The .280 hitter may start out 5-for-35 (.143), and may never get another clean shot at a job. &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Do you suppose that all of the best singers in the world have top dollar recording contracts, or do you suppose that some of them were just never in the right place at the right time?   Do you suppose that all of the best actors in the world are in the movies?   Same thing.   Being in the right place at the right time, having a few things break your way at a crucial moment. . .it&amp;#039;s huge.&amp;quot;&lt;/p&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/billjames&quot;&gt;billjames&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/interview&quot;&gt;interview&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/firebrand&quot;&gt;firebrand&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/evanbrunell&quot;&gt;evanbrunell&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/chance&quot;&gt;chance&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/opportunity&quot;&gt;opportunity&lt;/a&gt;)&lt;/div&gt;

&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://valhenson.livejournal.com/29868.html&quot;&gt;valhenson: g-speak: The ultimate anti-RSI&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;&amp;quot;You know Minority Report? The part where Tom Cruise is moving all that stuff around on the computer with little lights on his fingers? Yeah, well, the guy who designed all that stuff for the movie decided to actually implement it.&amp;quot;&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/valhenson&quot;&gt;valhenson&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/g-speak&quot;&gt;g-speak&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/oblong&quot;&gt;oblong&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/minorityreport&quot;&gt;minorityreport&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://google-code-updates.blogspot.com/2008/12/native-client-technology-for-running.html&quot;&gt;Google Code Blog: Native Client: A Technology for Running Native Code on the Web&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;more on this shortly&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/google&quot;&gt;google&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/x86&quot;&gt;x86&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/webdev&quot;&gt;webdev&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/web&quot;&gt;web&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/trends&quot;&gt;trends&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/nativeclient&quot;&gt;nativeclient&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/activex&quot;&gt;activex&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://www.nytimes.com/2008/12/08/business/media/08carr.html?_r=1&amp;amp;partner=permalink&amp;amp;exprod=permalink&quot;&gt;The Media Equation - Stoking Fear Everywhere You Look - NYTimes.com&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;some thoughts on what happens when everybody knows everything. quickly.&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/fear&quot;&gt;fear&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/davidcarr&quot;&gt;davidcarr&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/knowledge&quot;&gt;knowledge&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/economy&quot;&gt;economy&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/selffulfillingprophecy&quot;&gt;selffulfillingprophecy&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/unemployment&quot;&gt;unemployment&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/news&quot;&gt;news&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/cycles&quot;&gt;cycles&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://jeremy.zawodny.com/blog/archives/010774.html&quot;&gt;The New MySQL Landscape (by Jeremy Zawodny)&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;really interesting look at the current ySQL landscape by one who knows it well, and has a lot of history in it&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/jeremyzawodny&quot;&gt;jeremyzawodny&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/mysql&quot;&gt;mysql&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/drizzle&quot;&gt;drizzle&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/development&quot;&gt;development&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/database&quot;&gt;database&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/scalability&quot;&gt;scalability&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/percona&quot;&gt;percona&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/opensource&quot;&gt;opensource&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://coreygilmore.com/blog/2008/12/01/using-eclipse-for-web-development/&quot;&gt;Using Eclipse for Web Development | corey gilmore&amp;#039;s blog&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;a critique of Eclipse from the perspective of a new user: i know they&amp;#039;re working on this&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/programming&quot;&gt;programming&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/php&quot;&gt;php&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/java&quot;&gt;java&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/eclipse&quot;&gt;eclipse&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/coreygilmore&quot;&gt;coreygilmore&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://www.jroller.com/agoubard/entry/javafx_the_license&quot;&gt;Anthony Goubard&amp;#039;s Weblog&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;thoughts on the JavaFX license&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/anthonygoubard&quot;&gt;anthonygoubard&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/javafx&quot;&gt;javafx&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/license&quot;&gt;license&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://www.cnbc.com/id/28051584&quot;&gt;Marisa Miller&amp;#039;s Weapon: Brain Behind the Body - Sports Biz with Darren Rovell - CNBC.com&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;she&amp;#039;s smart too? that&amp;#039;s just unfair&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/marisamiller&quot;&gt;marisamiller&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/interview&quot;&gt;interview&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/model&quot;&gt;model&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://www.boston.com/news/local/maine/articles/2008/12/12/mainers_rally_with_knife_fork_to_aid_struggling_lobstermen/?page=full&quot;&gt;Market collapse puts lobster on Mainers&amp;#039; tables - The Boston Globe&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;anyone surprised by this doesn&amp;#039;t understand Maine&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/maine&quot;&gt;maine&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/lobster&quot;&gt;lobster&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/economy&quot;&gt;economy&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/community&quot;&gt;community&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;

&lt;div class=&quot;acc_license&quot;&gt;&lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png&quot; alt=&quot;by-nc-sa&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!--&lt;rdf:RDF xmlns=&quot;http://creativecommons.org/ns#&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;&lt;Work rdf:about=&quot;&quot;&gt;&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot; /&gt;&lt;/Work&gt;&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot;&gt;&lt;requires rdf:resource=&quot;http://creativecommons.org/ns#Attribution&quot; /&gt;&lt;permits rdf:resource=&quot;http://creativecommons.org/ns#Reproduction&quot; /&gt;&lt;permits rdf:resource=&quot;http://creativecommons.org/ns#Distribution&quot; /&gt;&lt;permits rdf:resource=&quot;http://creativecommons.org/ns#DerivativeWorks&quot; /&gt;&lt;requires rdf:resource=&quot;http://creativecommons.org/ns#ShareAlike&quot; /&gt;&lt;prohibits rdf:resource=&quot;http://creativecommons.org/ns#CommercialUse&quot; /&gt;&lt;requires rdf:resource=&quot;http://creativecommons.org/ns#Notice&quot; /&gt;&lt;/License&gt;&lt;/rdf:RDF&gt;--&gt;&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://redmonk.com/sogrady/?p=2584&amp;amp;akst_action=share-this&quot; title=&quot;E-mail this, post to del.icio.us, etc.&quot; id=&quot;akst_link_2584&quot; class=&quot;akst_share_link&quot;&gt;Share This&lt;/a&gt;
&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/tecosystems?a=0Z6uo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/tecosystems?i=0Z6uo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/tecosystems?a=4dx3o&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/tecosystems?i=4dx3o&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/tecosystems?a=AE7go&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/tecosystems?i=AE7go&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/tecosystems?a=QUUhO&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/tecosystems?i=QUUhO&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/tecosystems/~4/485039662&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 15 Dec 2008 01:04:33 +0000</pubDate>
</item>
<item>
	<title>Eric Day: UC 2009 Proposals</title>
	<guid>http://www.oddments.org/?p=28</guid>
	<link>http://www.oddments.org/?p=28</link>
	<description>&lt;p&gt;Like a few others I&amp;#8217;ve seen this week, I had two proposals for the MySQL Conference &amp;#038; Expo 2009 accepted. I&amp;#8217;m very excited for both topics (for different reasons), and will be blogging about each of them in more detail soon. They are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;libdrizzle: A new client library for Drizzle and MySQL&lt;/b&gt; - This will be a detailed introduction of the new library, covering important topics like client-side buffering, non-blocking I/O, and concurrent queries. If time permits I&amp;#8217;ll also go over features in the new Drizzle protocol.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Map/Reduce and Queues for MySQL using Gearman&lt;/b&gt; - I&amp;#8217;ll be co-presenting this one with &lt;a href=&quot;http://krow.livejournal.com/&quot;&gt;Brian Aker&lt;/a&gt;, and we will show how the work we&amp;#8217;ve been doing with Gearman can be tied into MySQL (and Drizzle).&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Fri, 12 Dec 2008 20:03:12 +0000</pubDate>
</item>
<item>
	<title>Eric Day: Next Project</title>
	<guid>http://www.oddments.org/?p=27</guid>
	<link>http://www.oddments.org/?p=27</link>
	<description>&lt;p&gt;I spent this past week down in San Jose, CA at &lt;a href=&quot;http://www.concentric.com&quot;&gt;my employer&amp;#8217;s&lt;/a&gt; office for team meetings and to officially kick-off my next big project. The design and architecture was very well received, and I drummed up some excitement with &lt;a href=&quot;http://www.gearmanproject.org/&quot;&gt;Gearman&lt;/a&gt; and working with the OSS community in general (which we&amp;#8217;ve not done too much of in the past). We&amp;#8217;ll be developing it entirely on Launchpad under GPLv2, and I&amp;#8217;ll be writing a number of blog posts covering each component in detail. Why would anyone else find this interesting? It covers many topics of how to write a high-performance application in the cloud. Specific topics will include Gearman, persistent Gearman queues, eventual consistency data models (and related schemas), lightweight Map/Reduce for real-time applications, and how to combine all this with &lt;a href=&quot;http://www.mysql.com/&quot;&gt;MySQL&lt;/a&gt; and/or &lt;a href=&quot;http://www.drizzle.org/&quot;&gt;Drizzle&lt;/a&gt; to build an e-mail storage infrastructure in the cloud. While the use case may be specific to e-mail, its concepts (and much of the code) will be easy to translate to a number of other applications. Also, there will be a number of other projects that will get spawned from this, such as a faster Gearman job server written in C (currently it is in Perl), generic persistent queuing system based on Gearman, and &lt;a href=&quot;http://krow.livejournal.com/628025.html&quot;&gt;Gearman UDFs for MySQL&lt;/a&gt; and Drizzle (those are coming very soon).&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://www.oddments.org/pics/gearman_mail.jpg&quot; alt=&quot;Gearman Mail&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
This was the final result of a long white-boarding session. Now off to code it&amp;#8230;&lt;/p&gt;</description>
	<pubDate>Fri, 12 Dec 2008 19:45:52 +0000</pubDate>
</item>
<item>
	<title>Stewart Smith: Debian about 1234533 times easier to install than Solaris</title>
	<guid>http://www.flamingspork.com/blog/?p=1309</guid>
	<link>http://www.flamingspork.com/blog/2008/12/12/debian-about-1234533-times-easier-to-install-than-solaris/</link>
	<description>&lt;p&gt;After what many hours trying to netboot the T1000 to install Solaris Express, I wondered &amp;#8220;how hard is it for debian?&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Easy. get the sparc64 boot.img, put it on TFTP server, add &amp;#8220;filename &amp;#8220;boot.img&amp;#8221;;&amp;#8221; or similar to dhcp, boot the T1000 from the service console something like this &amp;#8220;bootmode bootscript=&amp;#8221;boot net:dhcp&amp;#8221;\n restart -c&amp;#8221; and install away!&lt;/p&gt;
&lt;p&gt;As for Solaris?&lt;/p&gt;
&lt;p&gt;Well&amp;#8230; dhcpd.conf:&lt;/p&gt;
&lt;p&gt;option space SUNW;&lt;br /&gt;
option SUNW.root-mount-options code 1 = text;&lt;br /&gt;
option SUNW.root-server-ip-address code 2 = ip-address;&lt;br /&gt;
option SUNW.root-server-hostname code 3 = text;&lt;br /&gt;
option SUNW.root-path-name code 4 = text;&lt;br /&gt;
option SUNW.swap-server-ip-address code 5 = ip-address;&lt;br /&gt;
option SUNW.swap-file-path code 6 = text;&lt;br /&gt;
option SUNW.boot-file-path code 7 = text;&lt;br /&gt;
option SUNW.posix-timezone-string code 8 = text;&lt;br /&gt;
option SUNW.boot-read-size code 9 = unsigned integer 16;&lt;br /&gt;
option SUNW.install-server-ip-address code 10 = ip-address;&lt;br /&gt;
option SUNW.install-server-hostname code 11 = text;&lt;br /&gt;
option SUNW.install-path code 12 = text;&lt;br /&gt;
option SUNW.sysid-config-file-server code 13 = text;&lt;br /&gt;
option SUNW.JumpStart-server code 14 = text;&lt;br /&gt;
option SUNW.terminal-name code 15 = text;&lt;br /&gt;
option SUNW.SbootURI code 16 = text;&lt;/p&gt;
&lt;p&gt;host hurricane {&lt;br /&gt;
hardware ethernet 0:14:4f:1e:28:e;&lt;br /&gt;
fixed-address 192.168.1.19;&lt;br /&gt;
option host-name &amp;#8220;hurricane&amp;#8221;;&lt;br /&gt;
filename &amp;#8220;sparc64-etch-boot.img&amp;#8221;;&lt;br /&gt;
#       filename &amp;#8220;sol-nv-b103-sparc&amp;#8221;;&lt;br /&gt;
#       option SUNW.install-server-ip-address 192.168.1.1;&lt;br /&gt;
#       option SUNW.install-server-hostname &amp;#8220;saturn&amp;#8221;;&lt;br /&gt;
#       option SUNW.install-path &amp;#8220;/mnt/sol-nv-b103-sparc/&amp;#8221;;&lt;br /&gt;
#       option SUNW.root-server-ip-address 192.168.1.1;&lt;br /&gt;
#       option SUNW.root-server-hostname &amp;#8220;saturn&amp;#8221;;&lt;br /&gt;
#       option SUNW.root-path-name &amp;#8220;/mnt/sol-nv-b103-sparc/Solaris_11/Tools/Boot&amp;#8221;;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;(obviously changing the comments around) and having the Solaris Express DVD mounted and NFS exported&amp;#8230;. it *still* doesn&amp;#8217;t work. It goes &amp;#8220;unable to mount filesystem&amp;#8221; with no further hints (even when tcpdumping the network).&lt;/p&gt;
&lt;p&gt;Documentation for doing the simple thing of using $dhcp_server and $nfs_server to network boot a Solaris install on a Sparc box is *COMPLETELY* missing.&lt;/p&gt;
&lt;p&gt;Now, I&amp;#8217;m a smart guy (and if you don&amp;#8217;t believe that, at least believe I&amp;#8217;m not stupid). If I can&amp;#8217;t get it to boot the installer, what chance do others have?&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ll try OpenSolaris out when it&amp;#8217;s on SPARC (and &lt;strong&gt;please&lt;/strong&gt; oh &lt;strong&gt;please&lt;/strong&gt; oh &lt;strong&gt;please&lt;/strong&gt; just have an easy way to net boot the installer using a linux host). Please take the debian way (just a single file on tftp).&lt;/p&gt;
&lt;p&gt;So now it&amp;#8217;s goodbye Solaris (I&amp;#8217;m not going to have something I can&amp;#8217;t  re-install, upgrade or security patch) and it&amp;#8217;s hello Debian (and sanity).&lt;/p&gt;
&lt;p&gt;Yes, this does mean I&amp;#8217;ll care about Drizzle on Linux Sparc.&lt;/p&gt;</description>
	<pubDate>Fri, 12 Dec 2008 06:33:34 +0000</pubDate>
</item>
<item>
	<title>MySQL Performance Blog: 7 Reasons why MySQL Quality will never be the same</title>
	<guid>http://www.mysqlperformanceblog.com/?p=557</guid>
	<link>http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/</link>
	<description>&lt;p&gt;I had a call with Monty the other day and I told him why I think MySQL Server Quality will never be the same again.  I've been thinking a bit more about it and here is the extended list.&lt;/p&gt;
&lt;p&gt;In particular I think MySQL Server will never be able to reach its original quality guidelines (&lt;a href=&quot;http://www.mysqlperformanceblog.com/2008/12/10/mysql-51-went-to-ga-was-it-a-good-move/&quot;&gt;see previous post&lt;/a&gt;)  and &lt;a href=&quot;http://www.mysql.com/about/legal/supportpolicies/policies-09.html#q04&quot;&gt;even current release criterias&lt;/a&gt; will unlikely be ever reached with any sensible definition of what serious bugs are.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Large Team, Tricky Code&lt;/strong&gt;   During MySQL 3.23 and MySQL 4.0 team the small tight knit team was working on the server and Monty was personally reviewing all the code and knew all the code well to know all the side effects etc.  Now MySQL Development is done by different team working on the different components, while MySQL was not designed to be very modular with clear set interfaces and no side effects on the first place to support such development concept easily.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Increasing Complexity&lt;/strong&gt;  Each new MySQL version is getting more and more complicated.  MySQL  architecture has to be additionally complicated to support modular storage engines with all their interactions and different specifics.  Think for example how many DBMS need to do Distributed Transactions (XA) internally just to keep different components in sync.   This is multiplied by the fact a lot of MySQL features were implemented in marketing rush being hacks over architecture which was not intended to support it.  Remember early MySQL versions knew only about table locks and were not initially designed to support transactions.  Most of other databases are designed  with these concepts at their core.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Increased User Base&lt;/strong&gt;  I'm not sure if MySQL user base is growing any more but it surely has grown dramatically since MySQL 3.23 or 4.0 times.    More users means they naturally find more bugs.  This is actually has the good time too. Even though a lot of bugs being found and reported only small fraction of them apply to any given user.  The bad thing - in many cases we do not really know which one apply to us &lt;img src=&quot;http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Low Feature Usage Density &lt;/strong&gt;  MySQL 3.23 was simple so Most of its features were used by majority of users. This was even the early Marketing strategy for MySQL.  Marten used to frequently say Oracle is Overkill for most users and most users use only 10% of features or less. You know what ?  MySQL is becoming overkill for increasingly large amount of users too.  A lot of people in the Web world would be as happy with MySQL 4.1 if it would be actively maintained now.  And hey this is exactly one if the reasons behind &lt;a href=&quot;http://drizzle.org/&quot;&gt;Drizzle&lt;/a&gt; project.    &lt;/p&gt;
&lt;p&gt;Lower usage density means  features are less tested by community during release and they also mean they get less attention from developers, because development team (and especially its efficiency) is not growing on the same pace.   This also means fewer &lt;strong&gt;customers&lt;/strong&gt; use the same features, and so the revenue associated with feature is not high enough to keep all the bugs reported for this feature.   So bugs sometimes stay open for years. &lt;/p&gt;
&lt;p&gt;As an example of low usage density features I would mention MySQL 5.1 features.  During my talks I often asked people how many of them use 5.1 vs row level replication or events.   I think less than 5% are using both features.    MySQL 4.1 was out for years and yet I would say no more than 5% of users use prepared statements. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bug Reporting and Tracking&lt;/strong&gt;  The MySQL 3.23 received quality was at some extent because there were no &lt;a href=&quot;http://bugs.mysql.com&quot;&gt; bugs.mysql.com&lt;/a&gt;  - bugs were reported to bugs@lists.mysql.com  which meant both it was more complicated for users to report a bug - so fewer people did and it was  easily to lose the bugs, especially boring and less critical ones.  Monty did a very good job keeping track of these but still not as good as when bug tracking system was implemented and so  bug would never disappear unless you fix it or call it a feature &lt;img src=&quot;http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MySQL Enterprise Madness&lt;/strong&gt;  For years MySQL QA policy heavily relied on community and I think it is still the case. This means MySQL latest code was instantly downloaded and tested by thousands of users which would find bugs quickly.  With MySQL Enterprise it is customers who got the bleeding edge code and for community the binary which is over half a year old was often offered. &lt;/p&gt;
&lt;p&gt;Enterprise customers who got the latest and the most bug free/buggy code (less old bugs more new  ones) are fractions of percent of MySQL User base and they are also more conservative - few just would grab latest release as soon as it comes out. Many will only upgrade on the schedule or keep on the same release until they run into some issues.  This means bugs in Enterprise version have tendency to stay for long time. &lt;/p&gt;
&lt;p&gt;The good thing about this item is - it is easily fixable.  Just get somebody in his mind to define release policy, and better have him/her understanding engineering not just marketing.    &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Innodb/Oracle relationship complexities.&lt;/strong&gt;   If the bug happen to affect Innodb things become even more complicated slow.  Even though MySQL and Innodb is tight knit system these are two different code bases controlled by different companies. MySQL can't just do changes to Innodb codebase and Innodb can't do same for MySQL. Both require other side approval.   This is why I guess all new Innodb Development is going with &lt;a href=&quot;http://www.innodb.com/innodb_plugin/&quot;&gt;Innodb Plugin&lt;/a&gt; which is separate from Innodb included default MySQL.   Why is not this part of stock MySQL 5.1 ?  I guess because MySQL 5.1 release was closed for any significant changes for years. &lt;/p&gt;
&lt;p&gt;Now how it all affects bugs an not features ? Well if you want to use latest Innodb you will need to use plugin which is not part of standard MySQL distribution so it, just as MySQL Enterprise, gets significantly less testing by community than standard MySQL. &lt;/p&gt;
&lt;p&gt;Another problem for Innodb Plugin quality is lack of the full disclosure about bugs.  Check this &lt;a href=&quot;http://www.innodb.com/changelogs/ChangeLog-1.0&quot;&gt;change log &lt;/a&gt; for example. You would see some bugs fixed have bug numbers and large number does not.  This means there are some bugs which are discovered by Innodb/Oracle team but they are not disclosed via searchable public bugs database.&lt;/p&gt;
&lt;p&gt;I should note besides all these process issues Innodb remains remarkably high quality component.  The initial version of Innodb Plugin was very good in terms of quality for version having first public release as we tested it back in April.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Good News in the End&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The good news are you really do not need general &quot;quality&quot;  or &quot;being free from bugs&quot; to run MySQL in production.  MySQL as it is now works for a lot of applications, in particular because most of them use only small portion of MySQL features.&lt;/p&gt;
    &lt;hr noshade=&quot;noshade&quot; /&gt;
    &lt;p&gt;Entry posted by peter |
      &lt;a href=&quot;http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/#comments&quot;&gt;15 comments&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;Add to: &lt;a href=&quot;http://del.icio.us/post?url=http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/&amp;amp;title=7 Reasons why MySQL Quality will never be the same&quot; title=&quot;Bookmark this post on del.icio.us&quot;&gt;&lt;img src=&quot;http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/delicious.png&quot; alt=&quot;delicious&quot; /&gt;&lt;/a&gt; | &lt;a href=&quot;http://digg.com/submit?phase=2&amp;amp;url=http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/&amp;amp;title=7 Reasons why MySQL Quality will never be the same&quot; title=&quot;Digg this post on Digg.com&quot;&gt;&lt;img src=&quot;http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/digg.png&quot; alt=&quot;digg&quot; /&gt;&lt;/a&gt; | &lt;a href=&quot;http://reddit.com/submit?url=http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/&amp;amp;title=7 Reasons why MySQL Quality will never be the same&quot; title=&quot;Submit this post on reddit.com&quot;&gt;&lt;img src=&quot;http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/reddit.png&quot; alt=&quot;reddit&quot; /&gt;&lt;/a&gt; | &lt;a href=&quot;http://www.netscape.com/submit/?U=http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/&amp;amp;T=7 Reasons why MySQL Quality will never be the same&quot; title=&quot;Vote for this article on Netscape&quot;&gt;&lt;img src=&quot;http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/netscape.gif&quot; alt=&quot;netscape&quot; /&gt;&lt;/a&gt; | &lt;a href=&quot;http://www.google.com/bookmarks/mark?op=add&amp;amp;bkmk=http://www.mysqlperformanceblog.com/2008/12/10/7-reasons-mysql-quality-will-never-be-the-same/&amp;amp;title=7 Reasons why MySQL Quality will never be the same&quot; title=&quot;Add to Google Bookmarks&quot;&gt;&lt;img src=&quot;http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/google.png&quot; alt=&quot;Google Bookmarks&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 11 Dec 2008 03:34:17 +0000</pubDate>
</item>
<item>
	<title>Stewart Smith: OpenSolaris 2008.11 first impressions</title>
	<guid>http://www.flamingspork.com/blog/?p=1296</guid>
	<link>http://www.flamingspork.com/blog/2008/12/11/opensolaris-200811-first-impressions/</link>
	<description>&lt;p&gt;Using the wonderful bittorrent, I got the CD image in next to no time (in contrast to the Solaris Express image I&amp;#8217;m currently downloading via HTTP that&amp;#8217;s taking forever).&lt;/p&gt;
&lt;p&gt;Boot time in VirtualBox (off the ISO image) was rather quick, usual questions on keyboard layout and desired language (it&amp;#8217;d be neater if these were GUI questions&amp;#8230; but anyway). The GNOME desktop loaded up, popup window informed me that it had connected to the network. Awesome.&lt;/p&gt;
&lt;p&gt;Package manager: opend quickly, using the opensolaris.org repository and it does seem to have a lot of packages&amp;#8230; even MySQL 5.0.67 (and 4.0.24). Not 5.1 though, but it is early days (and it was just released as GA the other day).&lt;/p&gt;
&lt;p&gt;At least one unusual thing was SUNWgrub and SUNWgrubS (where the S is for source). I assume this is some packaging oddity as I don&amp;#8217;t ese other packages like this.&lt;/p&gt;
&lt;p&gt;SUNWii wins the odd package name award.&lt;/p&gt;
&lt;p&gt;The Time Slider seems like possibly the most awesome thing ever. It periodically takes ZFS snapshots of your disk and presents you with a time slider in nautilus so you can just view your data how it was in the past (at previous snapshots).&lt;/p&gt;
&lt;p&gt;I can&amp;#8217;t see how to change the keyboard layout to DVORAK (at least while booted off the CD image).&lt;/p&gt;
&lt;p&gt;The getting started guide also shows how to get a development environment going&amp;#8230; this is quite promising. Will do proper install shortly and do a step by step &amp;#8220;building drizzle on OpenSolaris 2008.11&amp;#8243; post.&lt;/p&gt;</description>
	<pubDate>Thu, 11 Dec 2008 03:30:34 +0000</pubDate>
</item>
<item>
	<title>Brian Aker: Map/Reduce, MySQL &amp; Drizzle</title>
	<guid>http://krow.livejournal.com/628025.html</guid>
	<link>http://krow.livejournal.com/628025.html</link>
	<description>&lt;a href=&quot;http://launchpad.net/gearmand&quot;&gt;Something&lt;/a&gt; very cool, is coming very soon, for both &lt;a href=&quot;http://dev.mysql.com/&quot;&gt;MySQL&lt;/a&gt; and &lt;a href=&quot;http://launchpad.net/drizzle&quot;&gt;Drizzle&lt;/a&gt; :)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;mysql&amp;gt; SELECT gman_do(&quot;reverse&quot;, &quot;does this work?&quot;) AS test;&lt;br /&gt;+-----------------+&lt;br /&gt;	| test            |&lt;br /&gt;+-----------------+&lt;br /&gt;| ?krow siht seod |&lt;br /&gt;+-----------------+&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This is part of the huge amounts of efforts we have going on with Drizzle and the wider set of projects that we are working on (and mad props go to &lt;a href=&quot;http://www.oddments.org/&quot;&gt;Eric Day&lt;/a&gt; for the above example UDF work for MySQL).</description>
	<pubDate>Fri, 05 Dec 2008 23:17:35 +0000</pubDate>
</item>
<item>
	<title>Monty Taylor: Merging InnoDB Plugin with bzr is fun</title>
	<guid>http://mysql-ha.com/post/53</guid>
	<link>http://mysql-ha.com/post/53</link>
	<description>&lt;p&gt;As &lt;a href=&quot;http://krow.livejournal.com/627959.html&quot;&gt;Brian mentioned earlier&lt;/a&gt;, I merged in version 1.0.2 of the &lt;a href=&quot;http://www.innodb.com/innodb_plugin/&quot;&gt;InnoDB Plugin&lt;/a&gt; last night. Took about 2 hours - most of which was compiling and testing on a couple of different machines to make sure I hadn't b0rked anything.&lt;/p&gt;&lt;p&gt;Getting bzr to help me do all of this was actualy quite easy, once I corrected one mistake about how I had merged the code into the tree in the first place. (oops)&amp;nbsp;&lt;/p&gt;&lt;p&gt;In a move that's sure to shock my former boss, I wrote up a quick &lt;a href=&quot;http://drizzle.org/wiki/Merging_InnoDB_Plugin&quot;&gt;wiki page on the process&lt;/a&gt;, just in case anyone is interested. &lt;/p&gt;</description>
	<pubDate>Thu, 04 Dec 2008 00:21:10 +0000</pubDate>
</item>
<item>
	<title>Brian Aker: 5.1, Innodb Plugin Release</title>
	<guid>http://krow.livejournal.com/627959.html</guid>
	<link>http://krow.livejournal.com/627959.html</link>
	<description>In MySQL 5.1 related new, Innodb has announced the release of their &lt;a href=&quot;http://www.innodb.com/wp/2008/12/01/innodb-plugin-102-released/&quot;&gt;Innodb Plugin Engine for MySQL&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So why do I blog about it?&lt;br /&gt;&lt;br /&gt;Because the Innodb plugin engine is the default engine &lt;a href=&quot;http://launchpad.net/drizzle/&quot;&gt;Drizzle&lt;/a&gt; :)&lt;br /&gt;&lt;br /&gt;Monty Taylor finished up the work last night to import it into Drizzle, and I just finished my review of the engine and have pushed it into our main branch.&lt;br /&gt;&lt;br /&gt;Some of the advantages:&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Fast index creation: add or drop indexes without copying the data&lt;br /&gt;&lt;li&gt; Data compression: shrink tables, to significantly reduce storage and i/o&lt;br /&gt;&lt;li&gt; New row format: fully off-page storage of long BLOB, TEXT, and VARCHAR columns&lt;br /&gt;&lt;li&gt; File format management: protects upward and downward compatibility&lt;br /&gt;&lt;li&gt; INFORMATION_SCHEMA tables: information about compression and locking&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;</description>
	<pubDate>Wed, 03 Dec 2008 23:56:15 +0000</pubDate>
</item>
<item>
	<title>Stewart Smith: What constitutes an identifier for a table?</title>
	<guid>http://www.flamingspork.com/blog/?p=1285</guid>
	<link>http://www.flamingspork.com/blog/2008/12/04/what-constitutes-an-identifier-for-a-table/</link>
	<description>&lt;p&gt;Well&amp;#8230; there&amp;#8217;s:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;database&lt;/li&gt;
&lt;li&gt;table name&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(both of these are quite obvious).&lt;/p&gt;
&lt;p&gt;But then you have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;temporary tables&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Well&amp;#8230; two types of temporary tables:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;those created in the course of query execution, typically in /tmp/&lt;/li&gt;
&lt;li&gt;those created during ALTER TABLE, typically in the database directory&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You may have seen these &amp;#8220;#sql-foo.frm&amp;#8221; etc files around.&lt;/p&gt;
&lt;p&gt;but you can also CREATE TABLE `#sql-foo` (you know, because that&amp;#8217;s a good string to use in your app). In fact, you can (and shouldn&amp;#8217;t) create a table with the exact same name as the temporary #sql table and use it in your app.&lt;/p&gt;
&lt;p&gt;So really the primary key for a table is: string database name, string table name, bool is_tmp. Oh, and the /tmp/ temporary tables just to screw with your braiiiinn.&lt;/p&gt;
&lt;p&gt;In drizzle, this is what the storage engine API is ending up looking like. It&amp;#8217;s the responsibility of the engine to encode the temporary table names so that they don&amp;#8217;t clash with the non-temporary table names. This could be done by putting them in a different set of files, marking them with som eflag, or just passing the is_tmp flag to build_table_filename (or make_table_key) and being done with it.&lt;/p&gt;
&lt;p&gt;I think this ends up being the least-hacky approach and it does mean we can remove the bass ackwards if(table_name[0]==&amp;#8217;#') checks from some engines.&lt;/p&gt;</description>
	<pubDate>Wed, 03 Dec 2008 23:44:52 +0000</pubDate>
</item>
<item>
	<title>Mark Atword: Yet another new Drizzle plugin type: replicator</title>
	<guid>urn:lj:livejournal.com:atom1:fallenpegasus:789596</guid>
	<link>http://fallenpegasus.livejournal.com/789596.html</link>
	<description>&lt;span class=&quot;ljuser&quot;&gt;&lt;a href=&quot;http://krow.livejournal.com/profile&quot;&gt;&lt;img src=&quot;http://p-stat.livejournal.com/img/userinfo.gif&quot; alt=&quot;[info]&quot; width=&quot;17&quot; height=&quot;17&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://krow.livejournal.com/&quot;&gt;&lt;b&gt;krow&lt;/b&gt;&lt;/a&gt;&lt;/span&gt; just asked me to add another plugin type to Drizzle, for pluggable replication, and so I have, and it's pushing up to Launchpad now to merge with the mainline.&lt;br /&gt;&lt;br /&gt;The plugin type is actually called &quot;replicator&quot;, to avoid conflicts with the existing source files called &quot;replication.*&quot;&lt;br /&gt;&lt;br /&gt;The existing replication system in MySQL 5 is... well.  Like the old joke about if you like laws or sausages, you probably shouldn't watch them get made, if you need to think that MySQL 5 replication is rock solid, you probably shouldn't read the source code.  Heck, a serious bug was discovered in it at OpenSQLCamp a few weekends ago, just by projecting a random page of code on the wall and having a dozen pairs of eyes read it.</description>
	<pubDate>Tue, 02 Dec 2008 10:03:52 +0000</pubDate>
</item>
<item>
	<title>Stephen O'Grady: links for 2008-12-01</title>
	<guid>http://redmonk.com/sogrady/2008/12/01/links-for-2008-12-01/</guid>
	<link>http://feeds.feedburner.com/~r/tecosystems/~3/471906717/</link>
	<description>&lt;ul class=&quot;delicious&quot;&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://www.hardballtimes.com/main/article/taking-control/&quot;&gt;Taking control &amp;#8212; The Hardball Times&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;&amp;quot;To close out, let&amp;#039;s try to answer our questions about the dartboard of the opening paragraph. Based on the PITCHf/x results it appears that a fastball thrown at a dartboard placed over home plate will hit the bulls-eye with some part of the ball a little less than 1.5 percent of the time. Fully 46 percent of these pitches would miss the dartboard completely. Just think of that when they tell you about somebody&amp;#039;s pinpoint control.&amp;quot;&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/baseball&quot;&gt;baseball&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/command&quot;&gt;command&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/control&quot;&gt;control&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/hardballtimes&quot;&gt;hardballtimes&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/via%3Arob&quot;&gt;via:rob&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://www.forbes.com/2008/11/14/computer-standards-compatibility-oped-cx_rs_1117sutor.html?feed=rss_popstories&quot;&gt;Computers Of The World, Unite! - Forbes.com&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;standards are indeed important. it&amp;#039;s just difficult to get buyers to think beyond the present.&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/open&quot;&gt;open&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/standards&quot;&gt;standards&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/ibm&quot;&gt;ibm&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/bobsutor&quot;&gt;bobsutor&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/interoperability&quot;&gt;interoperability&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://blog.obiefernandez.com/content/2008/11/smackdown-at-pro-rubyconf-08.html&quot;&gt;Obie Fernandez: Live from Pro Rubyconf &amp;#039;08 / SMACKDOWN&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;who&amp;#039;s using what in the Ruby world&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/ruby&quot;&gt;ruby&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/rails&quot;&gt;rails&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/popularity&quot;&gt;popularity&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/plugins&quot;&gt;plugins&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/technologies&quot;&gt;technologies&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/jquery&quot;&gt;jquery&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/prototype&quot;&gt;prototype&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/svn&quot;&gt;svn&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/git&quot;&gt;git&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/vim&quot;&gt;vim&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/emacs&quot;&gt;emacs&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/postgres&quot;&gt;postgres&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/mysql&quot;&gt;mysql&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;https://jazz.net/blog/index.php/2008/11/19/extending-jazz-collaboration-to-include-sharepoint-documents/&quot;&gt;Jazz Community Site - Jazz Team Blog » Extending Team Concert collaboration to include SharePoint documents&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;interesting&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/sharepoint&quot;&gt;sharepoint&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/rational&quot;&gt;rational&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/jazz&quot;&gt;jazz&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/ibm&quot;&gt;ibm&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/via%3Abill&quot;&gt;via:bill&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://deadspin.com/5089603/fire-joe-morgan-the-exit-interview&quot;&gt;Fire Joe Morgan: The Exit Interview&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;more FJM&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/sports&quot;&gt;sports&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/fjm&quot;&gt;fjm&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/firejoemorgan&quot;&gt;firejoemorgan&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/blog&quot;&gt;blog&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/baseball&quot;&gt;baseball&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/deadspin&quot;&gt;deadspin&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://blog.holsman.net/2008/8/drizzle-mysql-the-fun-starts-now&quot;&gt;Ian&amp;#039;s Blog&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;questioning the interaction between the Drizzle and the MySQL projects&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/ianholsman&quot;&gt;ianholsman&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/drizzle&quot;&gt;drizzle&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/mysql&quot;&gt;mysql&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/opensource&quot;&gt;opensource&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://www.icc-ccs.org/index.php?option=com_fabrik&amp;amp;view=visualization&amp;amp;controller=visualization.googlemap&amp;amp;Itemid=89&amp;amp;phpMyAdmin=F5XY3CeBeymbElbQ8jr4qlxK1J3&quot;&gt;Live Piracy Map&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;the obvious conclusion: there are a lot of pirates&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/pirates&quot;&gt;pirates&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/map&quot;&gt;map&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/data&quot;&gt;data&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/via%3Ajesse&quot;&gt;via:jesse&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://tvdecoder.blogs.nytimes.com/2008/11/17/writers-halt-site-skewering-sportswriters/&quot;&gt;Writers Halt Site Skewering Sportswriters - TV Decoder Blog - NYTimes.com&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;still bummed about this&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/sogrady/firejoemorgan&quot;&gt;firejoemorgan&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/fjm&quot;&gt;fjm&lt;/a&gt; &lt;a href=&quot;http://delicious.com/sogrady/nytimes&quot;&gt;nytimes&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;acc_license&quot;&gt;&lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png&quot; alt=&quot;by-nc-sa&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!--&lt;rdf:RDF xmlns=&quot;http://creativecommons.org/ns#&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;&lt;Work rdf:about=&quot;&quot;&gt;&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot; /&gt;&lt;/Work&gt;&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot;&gt;&lt;requires rdf:resource=&quot;http://creativecommons.org/ns#Attribution&quot; /&gt;&lt;permits rdf:resource=&quot;http://creativecommons.org/ns#Reproduction&quot; /&gt;&lt;permits rdf:resource=&quot;http://creativecommons.org/ns#Distribution&quot; /&gt;&lt;permits rdf:resource=&quot;http://creativecommons.org/ns#DerivativeWorks&quot; /&gt;&lt;requires rdf:resource=&quot;http://creativecommons.org/ns#ShareAlike&quot; /&gt;&lt;prohibits rdf:resource=&quot;http://creativecommons.org/ns#CommercialUse&quot; /&gt;&lt;requires rdf:resource=&quot;http://creativecommons.org/ns#Notice&quot; /&gt;&lt;/License&gt;&lt;/rdf:RDF&gt;--&gt;&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://redmonk.com/sogrady/?p=2546&amp;amp;akst_action=share-this&quot; title=&quot;E-mail this, post to del.icio.us, etc.&quot; id=&quot;akst_link_2546&quot; class=&quot;akst_share_link&quot;&gt;Share This&lt;/a&gt;
&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/tecosystems?a=TFAio&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/tecosystems?i=TFAio&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/tecosystems?a=RAlpo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/tecosystems?i=RAlpo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/tecosystems?a=mWhqo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/tecosystems?i=mWhqo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/tecosystems?a=IHSjO&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/tecosystems?i=IHSjO&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/tecosystems/~4/471906717&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 02 Dec 2008 01:04:07 +0000</pubDate>
</item>
<item>
	<title>Stewart Smith: Is your garage internet enabled?</title>
	<guid>http://www.flamingspork.com/blog/?p=1276</guid>
	<link>http://www.flamingspork.com/blog/2008/12/02/is-your-garage-internet-enabled/</link>
	<description>&lt;p&gt;Real noisy fucker. So loud, that if it&amp;#8217;s in the garage but the back door is open, I still hear it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flamingspork.com/blog/wp-content/uploads/2008/12/pic-0025.jpg&quot;&gt;&lt;img class=&quot;alignnone size-medium wp-image-1277&quot; title=&quot;internet enabled garage&quot; src=&quot;http://www.flamingspork.com/blog/wp-content/uploads/2008/12/pic-0025-225x300.jpg&quot; alt=&quot;&quot; width=&quot;225&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Being used for drizzle dev on Solaris&amp;#8230; although a switch to OpenSolaris or Linux is likely imminent. Straight Solaris 10 is just too annoying.&lt;/p&gt;</description>
	<pubDate>Mon, 01 Dec 2008 23:50:38 +0000</pubDate>
</item>
<item>
	<title>Mark Atword: Me at the Hackfest at OpenSQLCamp</title>
	<guid>urn:lj:livejournal.com:atom1:fallenpegasus:789129</guid>
	<link>http://fallenpegasus.livejournal.com/789129.html</link>
	<description>&lt;div&gt;&lt;a href=&quot;http://www.flickr.com/photos/datacharmer/3074168355/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3029/3074168355_15b2857306_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;a href=&quot;http://www.flickr.com/photos/datacharmer/3074168355/&quot;&gt;OpenSQLCamp - hackfest&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/datacharmer/&quot;&gt;datacharmer&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;I need a haircut, tho not as short as Jay Pipes, seated next to me.&lt;br /&gt;&lt;br /&gt;I think at that moment I was either working on more improvements to the errmsg plugin interface to Drizzle, or else I was adding a new plugin type to enable PBXT's blob streaming protocol.&lt;br clear=&quot;all&quot; /&gt;</description>
	<pubDate>Mon, 01 Dec 2008 20:29:39 +0000</pubDate>
</item>
<item>
	<title>MySQL Performance Blog: MySQL for Hosting Providers - how do they manage ?</title>
	<guid>http://www.mysqlperformanceblog.com/?p=548</guid>
	<link>http://www.mysqlperformanceblog.com/2008/11/28/mysql-for-hosting-providers-how-do-they-manage/</link>
	<description>&lt;p&gt;Working with number of hosting providers I always wonder how do they manage to keep things up given MySQL gives you so little ways to really restrict how much resources single user can consume. I have written over a year ago about &lt;a href=&quot;http://www.mysqlperformanceblog.com/2007/11/13/10-ways-to-crash-or-overload-mysql/&quot;&gt;10+ ways to crash or overload MySQL&lt;/a&gt; and since that people have come to me and suggested more ways to do the same. &lt;/p&gt;
&lt;p&gt;This is huge hole in MySQL design, thinking little about users isolations and resource quotas and interesting enough I have not seen significant changes in fresh our MySQL 5.1 GA or even something major on the roadmap for future MySQL versions.   May be Drizzle will give it a thought ?  This surely would help adoption by (especially low end) Hosting Providers and remember this  exactly where a lot of kids start to develop their first sites and play with web technologies.&lt;/p&gt;
&lt;p&gt;So how do the hosting providers manage to host hundreds of users on single server with single MySQL server ?  Well people just seems to be nice and not looking to crash MySQL/DOS server  on purpose but rather cause most of the issues unintentionally by running bad queries or installing bad software.  &lt;/p&gt;
&lt;p&gt;It is good people are nice but it may not be comforting to know you stay up just because nobody wants bring you down rather than because your systems are solid and designed to prevent such abuse. &lt;/p&gt;
&lt;p&gt;The systems which I see people implementing are typically focused on the load eliminating - using Google UserStats patches (included in &lt;a href=&quot;http://www.percona.com/percona-lab.html&quot;&gt;Percona releases&lt;/a&gt;) or Log analyzes as well as PROCESSLIST monitoring.   This allows you  to crack down on users which cause a lot of load which causes a lot of unintentional abusers, but to get MySQL in trouble you do not  need a lot of load. You can do this by very light queries which would not show up in the PROCESSLIST or will not take too much combined time in the logs to attract your attention;&lt;/p&gt;
&lt;p&gt;For example: &lt;/p&gt;
&lt;div class=&quot;igBar&quot;&gt;&lt;span id=&quot;lsql-6&quot;&gt;&lt;a href=&quot;http://www.mysqlperformanceblog.com/2008/11/28/mysql-for-hosting-providers-how-do-they-manage/&quot;&gt;PLAIN TEXT&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;syntax_hilite&quot;&gt;&lt;span class=&quot;langName&quot;&gt;SQL:&lt;/span&gt;
&lt;div id=&quot;sql-6&quot;&gt;
&lt;div class=&quot;sql&quot;&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a1:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a2:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a3:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a4:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a5:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a6:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a7:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a8:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a9:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a10:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a11:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a12:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;SET&lt;/span&gt; @a13:=repeat&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;a&quot;&lt;/span&gt;,&lt;span&gt;1000000&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;; &lt;span&gt;SELECT&lt;/span&gt; sleep&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;... &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Causes MySQL to &quot;leak&quot; 1MB of memory per second with no apparent good reason - no slow queries or queries in the PROCESS LIST and  you can't really track how much memory was allocated for given session (or restrict this number)&lt;/p&gt;
&lt;p&gt;Now remove sleep(1) and you will get mysqld quickly running out of memory and being killed by OOM killer or being unusable for any queries.  In my test I got OOM though it kept the box stalled for few minutes before that:&lt;/p&gt;
&lt;p&gt;Out of memory: Killed process 1081 (mysqld).&lt;br /&gt;
automount invoked oom-killer: gfp_mask=0x201d2, order=0, oomkilladj=0&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
Out of memory: Killed process 1081 (mysqld).&lt;br /&gt;
automount invoked oom-killer: gfp_mask=0x201d2, order=0, oomkilladj=0&lt;/p&gt;
&lt;p&gt;Call Trace:&lt;br /&gt;
 [] out_of_memory+0x8e/0x2f5&lt;br /&gt;
 [] __alloc_pages+0x245/0x2ce&lt;br /&gt;
 [] __do_page_cache_readahead+0x95/0x1d9&lt;br /&gt;
 [] :dm_mod:dm_any_congested+0x38/0x3f&lt;br /&gt;
 [] filemap_nopage+0x148/0x322&lt;br /&gt;
 [] __handle_mm_fault+0x1f8/0xe23&lt;br /&gt;
 [] do_page_fault+0x4cb/0x830&lt;br /&gt;
 [] error_exit+0x0/0x84
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Do I need any particular privileges for this to happen ?  Not really - you do not even need to be able to select from the table.   Any user with permission to connect to MySQL Server can crash it. &lt;/p&gt;
    &lt;hr noshade=&quot;noshade&quot; /&gt;
    &lt;p&gt;Entry posted by peter |
      &lt;a href=&quot;http://www.mysqlperformanceblog.com/2008/11/28/mysql-for-hosting-providers-how-do-they-manage/#comments&quot;&gt;13 comments&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;Add to: &lt;a href=&quot;http://del.icio.us/post?url=http://www.mysqlperformanceblog.com/2008/11/28/mysql-for-hosting-providers-how-do-they-manage/&amp;amp;title=MySQL for Hosting Providers - how do they manage ?&quot; title=&quot;Bookmark this post on del.icio.us&quot;&gt;&lt;img src=&quot;http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/delicious.png&quot; alt=&quot;delicious&quot; /&gt;&lt;/a&gt; | &lt;a href=&quot;http://digg.com/submit?phase=2&amp;amp;url=http://www.mysqlperformanceblog.com/2008/11/28/mysql-for-hosting-providers-how-do-they-manage/&amp;amp;title=MySQL for Hosting Providers - how do they manage ?&quot; title=&quot;Digg this post on Digg.com&quot;&gt;&lt;img src=&quot;http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/digg.png&quot; alt=&quot;digg&quot; /&gt;&lt;/a&gt; | &lt;a href=&quot;http://reddit.com/submit?url=http://www.mysqlperformanceblog.com/2008/11/28/mysql-for-hosting-providers-how-do-they-manage/&amp;amp;title=MySQL for Hosting Providers - how do they manage ?&quot; title=&quot;Submit this post on reddit.com&quot;&gt;&lt;img src=&quot;http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/reddit.png&quot; alt=&quot;reddit&quot; /&gt;&lt;/a&gt; | &lt;a href=&quot;http://www.netscape.com/submit/?U=http://www.mysqlperformanceblog.com/2008/11/28/mysql-for-hosting-providers-how-do-they-manage/&amp;amp;T=MySQL for Hosting Providers - how do they manage ?&quot; title=&quot;Vote for this article on Netscape&quot;&gt;&lt;img src=&quot;http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/netscape.gif&quot; alt=&quot;netscape&quot; /&gt;&lt;/a&gt; | &lt;a href=&quot;http://www.google.com/bookmarks/mark?op=add&amp;amp;bkmk=http://www.mysqlperformanceblog.com/2008/11/28/mysql-for-hosting-providers-how-do-they-manage/&amp;amp;title=MySQL for Hosting Providers - how do they manage ?&quot; title=&quot;Add to Google Bookmarks&quot;&gt;&lt;img src=&quot;http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/google.png&quot; alt=&quot;Google Bookmarks&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 28 Nov 2008 22:24:29 +0000</pubDate>
</item>
<item>
	<title>Brian Aker: Time Warp, Solaris</title>
	<guid>http://krow.livejournal.com/627555.html</guid>
	<link>http://krow.livejournal.com/627555.html</link>
	<description>The date is the summer of 1992 and I have a Sun 1 Sparc Station that I need to turn into a working development environment.&lt;br /&gt;&lt;br /&gt;What is the process?&lt;br /&gt;&lt;br /&gt;I have to ftp a lot of software off of ftp.gnu.org to my local MicroVax. From there I will download all of the software over my 9600 baud modem to the Sparc sitting in the living room of the house I am living in at the time.&lt;br /&gt;&lt;br /&gt;It will take days, if not weeks to assemble all of the software and turn the machine into a working system. This was the state of the art at the time.&lt;br /&gt;&lt;br /&gt;Today?&lt;br /&gt;&lt;br /&gt;Today I take a similar system, install pkg-get and grab packages. What do I discover?&lt;br /&gt;&lt;br /&gt;Half of them are out of date. So what do I do?&lt;br /&gt;&lt;br /&gt;I could grab one of the package systems that are put together to make my life easier, but they won't play well with the stuff I have downloaded with pkg-get. Could I ditch pkg-get and just install the prepacked stuff I can find elsewhere but they too are incomplete.&lt;br /&gt;&lt;br /&gt;So?&lt;br /&gt;&lt;br /&gt;I ftp packages off ftp.gnu.org and compile those into /usr/local.&lt;br /&gt;&lt;br /&gt;Except unlike 16 years ago, half those packages will not compile any longer on Solaris. Between pkg-get and ftp.gnu.org I do make it work.&lt;br /&gt;&lt;br /&gt;None of this will automatically update though, so I am stuck maintaining it. Open Solaris is not an option because it does not run on this system (and Open Solaris comes with a bunch of old compilers/libraries so it is just a different sort of hassle).&lt;br /&gt;&lt;br /&gt;One other incredibly annoying thing, except for what I installed in /usr/local, the rest of programs/libraries it takes to compile anything is found across a half dozen directories in /opt and /usr. The entire structure is not GNU like, and GNU like is the model for other systems.  There is nothing innovative about picking your own directory structure.&lt;br /&gt;&lt;br /&gt;So what are the main differences 16 years later?&lt;br /&gt;&lt;br /&gt;&lt;li&gt; I have broadband so the download is a lot faster.&lt;br /&gt;&lt;li&gt; More disk space means I can download everything at once and not be concerned about having enough space to build a working development environment.&lt;br /&gt;&lt;li&gt; gmake -j. This machine has a lot of cores so compiling software is lot faster!&lt;br /&gt;&lt;br /&gt;I was asked on Twitter if I would be supporting development for Drizzle on Solaris if I did not work for Sun.&lt;br /&gt;&lt;br /&gt;The answer is &quot;yes&quot;.&lt;br /&gt;&lt;br /&gt;There are still quite a few Solaris users out there and I am very interested in seeing how well we perform on the T5240. It is an interesting piece of hardware because of the number of hardware contexts it provides us.&lt;br /&gt;&lt;br /&gt;Now if I had a simple method for installing Ubuntu on it, would I still care about making Solaris work?&lt;br /&gt;&lt;br /&gt;I honestly do not know. I am looking forward to finding the time someday to find out if Solaris or Linux runs best on one of the beasts. My T1000 is with Stewart now so I I don't have a way to test what Linux looks like on a working piece of Niagra based hardware that supports Linux currently. The T5240 does not yet run Ubuntu.&lt;br /&gt;&lt;br /&gt;If I found that Linux ran better I would be mighty tempted to leave the Solaris porting to others. There are a lot of things that I could be doing to make better use of my time.&lt;br /&gt;&lt;br /&gt;Tim commented on &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2008/11/24/What-Sun-Should-Do&quot;&gt;&quot;What Sun Should Do&quot;&lt;/a&gt;. I have not been at Sun long enough to really make any broad comments on the future of Sun.&lt;br /&gt;&lt;br /&gt;One thing is very certain in my mind concerning Sun's future. The problem I described above needs to have been fixed a decade ago, and is at the heart of the failure of Solaris. Many point to the failure of Solaris being CDDL and not being GPL. I believe this is an issue, but it is not the center issue.&lt;br /&gt;&lt;br /&gt;My Mac has plenty of non-GPL code on it.&lt;br /&gt;&lt;br /&gt;It is also a superior development environment to Solaris.&lt;br /&gt;&lt;br /&gt;And why is that?&lt;br /&gt;&lt;br /&gt;It just works.&lt;br /&gt;&lt;br /&gt;And Linux?&lt;br /&gt;&lt;br /&gt;It just works.&lt;br /&gt;&lt;br /&gt;Solaris?&lt;br /&gt;&lt;br /&gt;Someone needs to take a hard look at what is being done today and get it on track.&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;</description>
	<pubDate>Fri, 28 Nov 2008 22:01:18 +0000</pubDate>
</item>
<item>
	<title>Stewart Smith: Temporary tables in any engine….</title>
	<guid>http://www.flamingspork.com/blog/?p=1274</guid>
	<link>http://www.flamingspork.com/blog/2008/11/26/temporary-tables-in-any-engine/</link>
	<description>&lt;p&gt;Well&amp;#8230; nearly any engine.&lt;/p&gt;
&lt;p&gt;I have a plan forming in my head to add some hooks to engines to help with creating temporary tables (the ones created while executing a query, not ones created during ALTER TABLE).&lt;/p&gt;
&lt;p&gt;Currently, if you ALTER TABLE and we require a temporary table, it&amp;#8217;s still database.table but we generate a table name that&amp;#8217;s small, unique and begins with &amp;#8220;#sql&amp;#8221;.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve changed some of the handler interface to accept two strings (database name, table name) instead of one &amp;#8220;path&amp;#8221; that may (or may not) end in &amp;#8220;.FRM&amp;#8221; and may (or may not) begin with &amp;#8220;./&amp;#8221; and may (or may not) use the &amp;#8220;/&amp;#8221; separator between database and table name (hint: on win32, it&amp;#8217;s sometimes &amp;#8220;\&amp;#8221;).&lt;/p&gt;
&lt;p&gt;So ha_delete_table is now: ha_delete_table(db, table_name). Sanity!&lt;/p&gt;
&lt;p&gt;(this has the downside of being a incompatible change that doesn&amp;#8217;t break the build as there seems to be no way in C++ to say &amp;#8220;derived classes cannot implement a function of this name&amp;#8221;).&lt;/p&gt;
&lt;p&gt;This is annoying for temporary tables however.&lt;/p&gt;
&lt;p&gt;They don&amp;#8217;t reside in a database&amp;#8230; they&amp;#8217;re off in la-la land (otherwise known as opt_drizzle_tmpdir).&lt;/p&gt;
&lt;p&gt;Now&amp;#8230; in MySQL 5.1 the ability for multiple temporary directories was added, and the MySQL server will cycle through them. The clusterfuck part of this was that a mutex was added&amp;#8230; so every time the code goes to get the name of a (or for 99.99999999% of cases, the) temporary directory, it has to grab a mutex. With modern systems being able to have *many* simultaneous IO operations (e.g. create files) this is just dumb. It&amp;#8217;s gone.&lt;/p&gt;
&lt;p&gt;If you want to use multiple spindles for temporary tables it&amp;#8217;s called RAID people (or buy an SSD, mkfs.ext2 it and just wipe it on reboot. simple.)&lt;/p&gt;
&lt;p&gt;Anyway&amp;#8230; back to temporary tables:&lt;/p&gt;
&lt;p&gt;they&amp;#8217;re in /tmp or something. So an API that&amp;#8217;s foo(const char *db, const char *table_name) doesn&amp;#8217;t work as well.&lt;/p&gt;
&lt;p&gt;Also, for a bunch of engines, it&amp;#8217;s good to know that you&amp;#8217;re using a temporary table. You probably want to store these somewhere that never needs fsync() or anything like that. If the server goes away, these tables are *gone*. So optimise for that.&lt;/p&gt;
&lt;p&gt;Heck, it may even be good to store temporary tables in your distributed engine (if that engine is memory based) as it&amp;#8217;s often faster to access remote memory than local disk (although with SSD this is a whole different ball game&amp;#8230; in fact, I&amp;#8217;m not sure if it&amp;#8217;s even still a ball game.. it&amp;#8217;s possibly frisbee)&lt;/p&gt;
&lt;p&gt;But currently there&amp;#8217;s hardcoded a mi_create (MyISAM create) call in the server and in the 6.0-maria tree, an #ifdef around if it&amp;#8217;s mi_create or maria_create.&lt;/p&gt;
&lt;p&gt;So not any engine yet&amp;#8230; but one can dream. Yes, I dare to dream.&lt;/p&gt;
&lt;p&gt;(although why I was dreaming of a small board with a PowerPC 603, 8MB RAM and a mini DVI port the other night is quite beyond me)&lt;/p&gt;</description>
	<pubDate>Tue, 25 Nov 2008 18:54:43 +0000</pubDate>
</item>
<item>
	<title>Stewart Smith: I don’t read code comments</title>
	<guid>http://www.flamingspork.com/blog/?p=1272</guid>
	<link>http://www.flamingspork.com/blog/2008/11/26/i-dont-read-code-comments/</link>
	<description>&lt;p&gt;They are wrong.&lt;/p&gt;
&lt;p&gt;Misleading at best.&lt;/p&gt;
&lt;p&gt;Reworking parts of Drizzle (which came directly from MySQL) it can get painfully obvious. Things like &amp;#8220;afaiu&amp;#8221; and &amp;#8220;???&amp;#8221; appear in more than one place (that is if the comment isn&amp;#8217;t just obviously wrong).&lt;/p&gt;
&lt;p&gt;A comment merely states what one person thought the code did at some point in the past. It has no relation to what the code actually does now.&lt;/p&gt;</description>
	<pubDate>Tue, 25 Nov 2008 18:25:21 +0000</pubDate>
</item>
<item>
	<title>Ronald Bradford - 42SQL: Where is the innovation?</title>
	<guid>http://ronaldbradford.com/blog/?p=1204</guid>
	<link>http://ronaldbradford.com/blog/where-is-the-innovation-2008-11-24/</link>
	<description>&lt;p&gt;The &lt;a href=&quot;http://en.oreilly.com/mysql2009/public/content/home&quot;&gt;2009 MySQL Conference&lt;/a&gt; has closed it&amp;#8217;s submissions for papers.  This year the motto is &amp;#8220;Innovation Everywhere&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Last weekend&amp;#8217;s &lt;a href=&quot;http://opensqlcamp.org&quot;&gt;Open SQL Camp&lt;/a&gt; in Charlottesville, Virginia, we had the chance to talk about the movements in the MySQL ecosystem.  I was impressed to get the details of the &lt;a href=&quot;http://percona.com&quot;&gt;Percona&lt;/a&gt; MySQL Patches, but focus is still in 5.0. (Welcome to the Percona team Tom Basil)  &lt;a href=&quot;http://outdelta.org&quot;&gt;Our Delta&lt;/a&gt; is attempting now to integrate patches into various MySQL branches.  There was an opening keynote by Brian Aker from  &lt;a href=&quot;http://drizzle.org&quot;&gt;Drizzle&lt;/a&gt;, and Drizzle team Jay Pipes and Stewart Smith on hand. It was also announced that MySQL 5.1.30 will be GA, available in early December.&lt;/p&gt;
&lt;p&gt;But these are not innovations that are ground breaking.  Last year, it was the announcement of &lt;a href=&quot;http://kickfire.com&quot;&gt;KickFire&lt;/a&gt; that I found most intriguing regarding innovation.&lt;/p&gt;
&lt;p&gt;What is there this year?.  The most interesting thing I read last week was &lt;a href=&quot;http://www.bigdbahead.com/?p=73&quot;&gt;Memcached as a L2 Cache for Innodb - The Waffle Grid Project&lt;/a&gt;.  This is my kind of innovation.  It&amp;#8217;s sufficiently MySQL, but just adds another dimension with another companion technology.  The patch seems relatively simple in concept and code size, and I&amp;#8217;m almost prepared to fire up a few EC2&amp;#8217;s to take this one for a spin.  I&amp;#8217;m doubly impressed because the creators are two friends and colleagues that are not hard core kernel hackers, but professionals on the front line dealing with clients daily.  Will it be successful, or viable? That is the question about innovation.&lt;/p&gt;
&lt;p&gt;Unfortunately I spend more time these days not seeing innovation in MySQL, but in other alternative database solutions in general.  Projects like &lt;a href=&quot;http://www.sproutsys.com/&quot;&gt;Clustrix, Inc.&lt;/a&gt;,   &lt;a href=&quot;http://www.luciddb.org/&quot;&gt;LucidDB&lt;/a&gt;, and Mongo in the &lt;a href=&quot;http://www.10gen.com/&quot;&gt;10gen&lt;/a&gt; stack.&lt;/p&gt;</description>
	<pubDate>Mon, 24 Nov 2008 17:05:24 +0000</pubDate>
</item>
<item>
	<title>Eric Day: Open SQL Camp</title>
	<guid>http://www.oddments.org/?p=26</guid>
	<link>http://www.oddments.org/?p=26</link>
	<description>&lt;p&gt;Last weekend I attended the &lt;a href=&quot;http://www.opensqlcamp.org/index.php?title=Events/2008/&quot;&gt;OpenSQL Camp&lt;/a&gt; in Charlottesville, VA. There was a great turnout, and &lt;a href=&quot;http://www.xaprb.com/blog/&quot;&gt;Baron&lt;/a&gt; did an excellent job organizing it! I saw a few folks I met at OSCON over the summer, along with meeting many new people. What a great group - intelligent, fun, and know how to get things done. I had some great conversations, especially with &lt;a href=&quot;http://krow.livejournal.com/&quot;&gt;Brian&lt;/a&gt;, &lt;a href=&quot;http://www.flamingspork.com/blog/&quot;&gt;Stewart&lt;/a&gt;, &lt;a href=&quot;http://arjen-lentz.livejournal.com/&quot;&gt;Arjen&lt;/a&gt;, &lt;a href=&quot;http://capttofu.livejournal.com/&quot;&gt;Patrick&lt;/a&gt;, &lt;a href=&quot;http://fallenpegasus.livejournal.com/&quot;&gt;Mark&lt;/a&gt;, and &lt;a href=&quot;http://jpipes.com/index.php&quot;&gt;Jay&lt;/a&gt;. The food was great too, I was a bit worried about finding vegan food there. Oh, and there was the wine bar, and my new found love for dessert wine. Yum.&lt;/p&gt;
&lt;p&gt;All the sessions I attended were great! Postgres MVCC by &lt;a href=&quot;http://blog.endpoint.com/2008/11/opensql-camp-2008.html&quot;&gt;Greg Sabino Mullane&lt;/a&gt;, Sphinx by &lt;a href=&quot;http://www.mysqlperformanceblog.com/&quot;&gt;Peter Zaitsev&lt;/a&gt;, MySQL Self Monitoring Replication by &lt;a href=&quot;http://datacharmer.blogspot.com/&quot;&gt;Giuseppe Maxia&lt;/a&gt;, Postgres Extensions by Kelly McDonald, Google Proto Buffers by Jay Pipes, OurDelta by Arjen Lentz, and Join-Fu by Jay Pipes. The hackathon on Sunday was fun, many more good conversations and project planning for Drizzle and Gearman.&lt;/p&gt;
&lt;p&gt;I had planned to give just one presentation on &lt;a href=&quot;https://launchpad.net/libdrizzle&quot;&gt;libdrizzle&lt;/a&gt; (&lt;a href=&quot;http://www.oddments.org/notes/OpenSQLCamp2008_libdrizzle.pdf&quot;&gt;slides&lt;/a&gt;), but ended up giving another with Brian on &lt;a href=&quot;http://gearmanproject.org/doku.php&quot;&gt;gearman&lt;/a&gt; (&lt;a href=&quot;http://www.oddments.org/notes/OpenSQLCamp2008_gearman.pdf&quot;&gt;slides&lt;/a&gt;). Excuse the gearman slides, they&amp;#8217;re a bit weak, but in our defense we threw them together 15 minutes before the talk (it was proposed only a few hours before). There were people really enthusiastic about both talks, and I received some great feedback for libdrizzle.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m continuing with the Drizzle and Gearman development with all the spare time I can find, and making good progress on both. I&amp;#8217;m in the processing of &lt;a href=&quot;http://www.doxygen.org/&quot;&gt;Doxygen&lt;/a&gt;-izing both projects, and plan to have some code for people test really soon!&lt;/p&gt;</description>
	<pubDate>Sun, 23 Nov 2008 07:26:56 +0000</pubDate>
</item>
<item>
	<title>Stewart Smith: The Drizzle Snowman - PlanetMySQL fail</title>
	<guid>http://www.flamingspork.com/blog/?p=1268</guid>
	<link>http://www.flamingspork.com/blog/2008/11/23/the-drizzle-snowman-planetmysql-fail/</link>
	<description>&lt;p&gt;If you went &amp;