<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Progress on MySQL Proxy Partitioning</title>
	<link>http://pero.blogs.aprilmayjune.org/2008/03/29/progress-on-mysql-proxy-partitioning/</link>
	<description></description>
	<pubDate>Thu, 28 Aug 2008 23:05:06 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: Gavin Towey</title>
		<link>http://pero.blogs.aprilmayjune.org/2008/03/29/progress-on-mysql-proxy-partitioning/#comment-1300</link>
		<dc:creator>Gavin Towey</dc:creator>
		<pubDate>Mon, 05 May 2008 21:49:19 +0000</pubDate>
		<guid>http://pero.blogs.aprilmayjune.org/2008/03/29/progress-on-mysql-proxy-partitioning/#comment-1300</guid>
		<description>I was playing around with creating a similar transparent partitioning scheme, although not quite as sophisticated as what you've done here.  I was using a combination of modulus and a directory service, so keys are hashed out, but into something like 1k-4k buckets and the location of each bucket is looked up in a directory.  This would be a compromise for having the overhead of looking up each key in a directory, and the inflexibility of a fixed hash lookup.  Buckets can be moved between partitions at will, and with a bit of planning each should contain a manageable chunk of records.

The problem I ran into was that the connect phase happens before the query is sent (obviously) so by the time you parse the query, you can't decide then which server among a pool of nodes to send the query to, or even send to multiple servers.  Or can you?  Of course that's probably a question for Jan.</description>
		<content:encoded><![CDATA[<p>I was playing around with creating a similar transparent partitioning scheme, although not quite as sophisticated as what you&#8217;ve done here.  I was using a combination of modulus and a directory service, so keys are hashed out, but into something like 1k-4k buckets and the location of each bucket is looked up in a directory.  This would be a compromise for having the overhead of looking up each key in a directory, and the inflexibility of a fixed hash lookup.  Buckets can be moved between partitions at will, and with a bit of planning each should contain a manageable chunk of records.</p>
<p>The problem I ran into was that the connect phase happens before the query is sent (obviously) so by the time you parse the query, you can&#8217;t decide then which server among a pool of nodes to send the query to, or even send to multiple servers.  Or can you?  Of course that&#8217;s probably a question for Jan.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pero on anything &#187; Blog Archive &#187; MySQL Proxy LUA scripts cannot be written as a module?</title>
		<link>http://pero.blogs.aprilmayjune.org/2008/03/29/progress-on-mysql-proxy-partitioning/#comment-327</link>
		<dc:creator>pero on anything &#187; Blog Archive &#187; MySQL Proxy LUA scripts cannot be written as a module?</dc:creator>
		<pubDate>Sat, 05 Apr 2008 00:28:16 +0000</pubDate>
		<guid>http://pero.blogs.aprilmayjune.org/2008/03/29/progress-on-mysql-proxy-partitioning/#comment-327</guid>
		<description>[...] I went through hell while testing the MySQL Proxy partition LUA scripts I am working on in a high concurrency environment. I am sending multiple queries to the server and [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] I went through hell while testing the MySQL Proxy partition LUA scripts I am working on in a high concurrency environment. I am sending multiple queries to the server and [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Log Buffer #91: a Carnival of the Vanities for DBAs</title>
		<link>http://pero.blogs.aprilmayjune.org/2008/03/29/progress-on-mysql-proxy-partitioning/#comment-324</link>
		<dc:creator>Log Buffer #91: a Carnival of the Vanities for DBAs</dc:creator>
		<pubDate>Fri, 04 Apr 2008 16:44:50 +0000</pubDate>
		<guid>http://pero.blogs.aprilmayjune.org/2008/03/29/progress-on-mysql-proxy-partitioning/#comment-324</guid>
		<description>[...] Romianowski of pero on anything writes that he has made progress using MySQL proxy to implement database [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Romianowski of pero on anything writes that he has made progress using MySQL proxy to implement database [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pero</title>
		<link>http://pero.blogs.aprilmayjune.org/2008/03/29/progress-on-mysql-proxy-partitioning/#comment-321</link>
		<dc:creator>pero</dc:creator>
		<pubDate>Sat, 29 Mar 2008 22:58:43 +0000</pubDate>
		<guid>http://pero.blogs.aprilmayjune.org/2008/03/29/progress-on-mysql-proxy-partitioning/#comment-321</guid>
		<description>Xaprb,

I agree, using a simple modulo or any other sort of hashing method is not sufficient.

Actually I left out the partitioning function (I took the modulo function as a simple example). Anything could be implemented here. In my previous post (http://pero.blogs.aprilmayjune.org/2008/03/26/mysql-partitioning-on-application-side/) I described something like a directory / lookup service. This is definitely the type of partitioning function we will use in our application. But the MySQL Proxy partition module we are working on lets the user choose the way of partitioning by simply providing a partitioning function (via LUA).

Cheers,

Peter</description>
		<content:encoded><![CDATA[<p>Xaprb,</p>
<p>I agree, using a simple modulo or any other sort of hashing method is not sufficient.</p>
<p>Actually I left out the partitioning function (I took the modulo function as a simple example). Anything could be implemented here. In my previous post (http://pero.blogs.aprilmayjune.org/2008/03/26/mysql-partitioning-on-application-side/) I described something like a directory / lookup service. This is definitely the type of partitioning function we will use in our application. But the MySQL Proxy partition module we are working on lets the user choose the way of partitioning by simply providing a partitioning function (via LUA).</p>
<p>Cheers,</p>
<p>Peter</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Xaprb</title>
		<link>http://pero.blogs.aprilmayjune.org/2008/03/29/progress-on-mysql-proxy-partitioning/#comment-320</link>
		<dc:creator>Xaprb</dc:creator>
		<pubDate>Sat, 29 Mar 2008 20:52:23 +0000</pubDate>
		<guid>http://pero.blogs.aprilmayjune.org/2008/03/29/progress-on-mysql-proxy-partitioning/#comment-320</guid>
		<description>Sounds like you are thinking of using modulus as the partitioning function.  Many people have tried this: it's usually jumping from the frying pan into the fire.  I'd use what Jeremy Cole calls a "directory service" instead.</description>
		<content:encoded><![CDATA[<p>Sounds like you are thinking of using modulus as the partitioning function.  Many people have tried this: it&#8217;s usually jumping from the frying pan into the fire.  I&#8217;d use what Jeremy Cole calls a &#8220;directory service&#8221; instead.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
