Hi!
Drizzle aims at the web market but it lacks support for (server-side)
Prepared Statements. How does that work out given the constant move
among the userbase towards Prepared Statements.
PHP is one of the major players in the web market. Together with PHP 5 a
database access abstraction layer called PDO has been introduced. PDO
and the MySQL driver for PDO (PDO_MYSQL) focus on Prepared Statements:
everything is run as a Prepared Statement. Over the years PDO_MYSQL has
becomes more popular although it suffers both from the status of
Prepared Statements in MySQL and the PDO overall design. Something
similar goes for Connector/J and JDBC. They also focus on Prepared
Statements.
JDBC works around it with a pretty solid client-side Prepared Statement
emulation. PDO_MYSQL can't work around it as it suffers from the stinky
PDO client-side emulation. And ext/mysqli, the PHP flagship extension
and reference implementation is entirely lost as it has no client-side
emulation to offer at all.
To make a long story short: expect PHP users to bail out badly. Bail out
on the same topic like in the years before - MySQL has no proper
Prepared Statements solution.
Brian tried to kick off some brainstorming on PS in his blog [1]. Both
he and Lukas Smith [2], as of shortly a [Co-]Release Manager of the PHP
5.3 series, have blogged about PS before I found time to raise my voice
on PDO and PS [3]. Its been a rather vivid blog discussion.
Things I remember from the discussion:
- current PS implementation of the server does not scale well
- todays developers are lazy and maybe less skilled:
they rely on garbage collections and keep handles open
for ages - the server
- the server does not do much more than cache the parse tree:
parsing can make 25% of the run-time of a short query
- PHP users love "secure" binding
- binary protocol can mean significantly less conversions
- binary protocol can mean less traffic
What is the Drizzle roadmap on Prepared Statements given that PHP, a
major player in the web market, will not play nicely with Drizzle
without a vision implemented by Drizzle and MySQL Connector team folks?
Ulf
[1] http://krow.livejournal.com/599921.html
[2] http://pooteeweet.org/blog/1201
[3] http://blog.ulf-wendel.de/?p=187
--
Ulf Wendel, MySQL
Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Haering Muenchen: HRB161028
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp