On 16-09-2007 09:48:38 +0200, Niels Nes wrote:
On Sat, Sep 15, 2007 at 04:05:07PM -0600, Dan Libby wrote:
Hi Niels,
Thanks for your answers.
On Saturday 15 September 2007 14:53, Niels Nes wrote:
It seems your benchmark is mostly measuring the communication overhead of both database systems. Indeed thats where MySql excels.
Are you saying the MySQL communication overhead is generally lower (eg more efficient protocol and/or client libs) or just that their PHP extension is better optimized (for this use case)? Indeed the PHP extension of MySQL seems very optimized. Simply wrapped our default client library (libMapi) and didn't spend time on optimizing this. So I'm not sure were the php extention of MonetDB stands.
I think our PHP implementation is not so bad at all. MonetDB is just known to be not the best player in the area of small and ultra-simple queries. It's communication protocol is also not suited for handling those fast. MonetDB pays off on complex queries, i.e. those queries your application at the moment probably avoids doing because it makes it slow when using MySQL.
Do you know if MonetDB supports unix domain sockets, as postgres and mysql do? In deed we do support unix named sockets (didn't test it recently though) on the Mapi layer. I guess the php extention doesn't however.
If I recall correctly, the unix domain sockets are used by using a file as hostname, and port 0. Since PHP just throws over these arguments to libMapi it should just work (tm). In any case, since libMapi has support for it, it is trivial to add to the PHP module, IMO. My $0.02