Saturday, December 08, 2007

Web enabling MySQL

Mark Atwood has published an interesting post with his wishlist for MySQL. One of his points is already (partly) covered with the LOAD XML command I made for MySQL 6.0 (or is it 5.2).

The main problem with it is perhaps that it works (like the LOAD DATA command) only with files, but in a web world you want it to be able to take input from other sources. You also need to be able to send an XML to several tables, with foreign keys coordinated etc.

Mark also has a wishlist for the opposite, the SELECT OUTFILE command. I have made a couple of stored procedures to help with this, but an extended SELECT OUTFILE would be mucke aesier to use and give much more possibilities. It would be fun to work on this, we'll see if I have the time, now that I am almost ready with my relocation..

2 comments:

Roland Bouman said...

I'm thinking that an external solution like DBSlayer is actually more advantageous than something built into the DB:

http://open.blogs.nytimes.com/2007/07/25/introducing-dbslayer/

"DBSlayer is a database abstraction and pooling layer .... built on top of HTTP and JSON. .... The purpose of it is to abstract the database layer from your web applications, so you can move database locations, activate round-robin load balancing, switch to sharding, and exploit any other scaling advantages the compact, stateless design of DBSlayer provides you."

So IMO, the pooling makes it a superior solution to anything you build into the db

regards,

Roland

Sheeri K. Cabral said...

I think MySQL has some good options for this, actually -- just copy, replicate, or ALTER a table to be in the CSV format, or in an XML format (if there isn't already a storage engine for XML, there should be!).