On Sep 26, 2008, at 4:18 PM, Jay Pipes wrote:
Jim Starkey wrote:
Brian Aker wrote:
Hi!
On Sep 26, 2008, at 6:35 AM, Jim Starkey wrote:
Something that I believe warrants reconsideration is prepared
statement handling. I am aware that prepared statements were
handled
badly in MySQL, but that doesn't mean they are a bad idea.
Prepared
statements enable a compiled statement cache, intrinsically much
faster than parsing, compiling, and optimizing the same statements
over and over and over -- no matter how fast the parser and
optimizer
are, not parsing and optimizing is faster.
Agreed. The reason we pulled the current one was that it was just
not
the place to start from. The major difference is that I want the
serialized form stored client side, not server side (and we
invalidate
as needed to client).
Why? Because then proxies along the way have access as well. I also
believe that the parsed bits won't be that large.
I guess I don't understand this at all. What proxies need this
information and what would they do with it?
Things like load balancing and shard-awareness. If the proxy cannot
translate or understand the prepared statement's bind params it has no
chance of being able to redirect a request to a particular shard (or
even issue a NOOP if it knows the statement requests cached
information). Less in the server the better, IMHO.
I know you're not a fan of client-side parsing, and your reasons are
well-known and good ones. However, I think having a shared library
(libdrizzleparse?) which the client can optionally deploy and the
server
uses to parse is a best of breed design where work can be off-loaded
to
the client as needed in heavily distributed environments.
And this would avoid the extra hop, and the proxy process altogether.
Good idea!
--
Paul McCullagh
PrimeBase Technologies
www.primebase.org
www.blobstreaming.org
pbxt.blogspot.com
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp