December 6th, 2007

amazon

MySQL Bootcamp Dallas, impressions so far

It's been an interesting experience. Most of my classmates are from a rather different pool of "computer geek" than either the west coast "open source gods", or from big corporate IT. Most of them are from very small IT/dev shops. There are two guys from a Texan WISP. There is a guy who's the sole IT guy from an out of control academic dev project that is about to centralize all their random Oracle, Access, and MS-SQL databases into MySQL. There is the IT guy from a company that makes venetian blinds. The IT guy from a company that manufactures farm trailers and horse trailers. There is a semifreelance investigative reporter who wants to use MySQL for storing and sharing collected government data. There is an academic from a bio/gen research dept who's moving to MySQL.

As for the class, going in, I was afraid it was going to be a lot of memorization of configuration parameters, deep explanations of the query optimizer, and lots of very complex joins.

I was only partially right, multiway joins, outer joins, and joins with aggregation functions are one of those things I understand, right until I don't. I can tell this is something I'm going to have to spend a couple of 12 hour days just myself working slowly thru the workbooks and thru "Headfirst SQL" until it clicks in.

Yesterday the instructors asked me to stand up and teach for a short bit, the section on "Other Storage Engines", since mainly what the class presented was MyISAM, InnoDB, and Memory. So I stood up and quickly ran down the list of Blackhole, CSV, Federated, Cluster, Falcon, Maria, SolidDB, Brighthouse, Nitro, Memcached, HTTP, S3, ODBC, Lua, and Tokyo Cabinet. I ran down some stuff about past, future, features, uses, free/nonfree, and so forth for each one. I got a question about BDB, which I deflected, pleading ignorance.

And now we start day four. Prepared Statements, load infile, select outfile, and stored procedures.
amazon

Wishlist, web enable pieces of MySQL server and client

SELECT OUTFILE should be able to write to a popen pipe. And it should be able to write to a URL. And it should be able to do XML, JSON, YAML, and the various known database dump formats, and various known script pickling and serialization formats.

LOAD DATA INFILE should be able to read from an popen pipe. And it should be able to read from a URL. And it should be able to understand XML, JSON, YAML, and the various known database dump formats, and various known script pickling and serialization formats.

In the MySQL command line client, it should be able to source a URL on the command line. Inside the MySQL command line client, it should be able to source from a URL and from a popen, and tee to a URL and a popen.