After writing up my top 5 MySQL Wishes, and noticing Stewart did the same, I encouraged Mårten to offer his own. As is typical for Mårten, he responded very quickly.
Of course, with typical Nordic humility, our CEO provided his answers with a disclaimer:
WARNING: I wrote these 5 wishes as a reflection of my thoughts, but I am afraid that they will mostly just demonstrate (as if it were needed) that I was hired to MySQL for entirely other tasks than figuring out what to do with our software. Enjoy it anyhow!
1. Pluggable Optimisers
Wouldn't it be great if just about anybody could write her/his own optimiser and plug it into MySQL?
Then we could have performance competitions where predefined applications on predefined platforms with predefined configurations competed against each other. The only difference would be the pluggable optimiser. Time to completion of the task by the MySQL server would be the measure. Moscow State University (MGU) could compete against Carnegie Mellon. Google could compete against Yahoo. YouTube against Flickr. You could compete against me (and you would probably win).
2. Database in the Sky
Wouldn't it be great if you could issue an SQL SELECT statement from your web browser to access all the world's databases in one go? Wouldn't it be great if you could post your own DBMS for use by others? Wouldn't it be great to JOIN data freely between data sources made publicly available by organisations and individuals all over the world?
This is what the semantic web is all about. Make disperse data available and make it easily accessible by both man and machine. My wish is that MySQL will be the common access point for such information.
3. One common storage format
Wouldn't it be great if all the world's citizens, companies, governments and non-profits could store their public data, whether structured or unstructured, in open formats available for anyone with any software to read?
Of course we already have ODF, but this standard is mostly for data authored by human beings. What about data that exists in enormous numbers of records, tuples, triple stores, XML or any other structured formats or ontologies? I am not just talking about making this data available and accessible through some API or broker - I am talking about storing it in the first place in a way that can be retrieved at any time by any piece of software. If such a format existed, or when it sometime in the future exists, then my wish is that MySQL would support it.
4. Self-scaling Software
Wouldn't it be great if the MySQL DBMS could initiate a scale-out on its own? What I mean is that if you have an application running against the database, and if the load gets too high or the users too many, then the database would - on its own - engage another server nearby and set it up for load-balancing or taking over a partition of the DBMS. And if the load would later decrease, then the installation could scale back to a smaller setting again.
The designer of the system would of course be able to set thresholds for when to expand and when to contract. For handling peaks of load there could be rules for enabling temporary expansion into Amazon EC2 and S3 and other utility computing services.
5. Truly Permanent Storage
Today we believe that there is "permanent storage" of data, but is a disk or a tape really permanent? Of all the storage formats we have available today, how many of them will be usable 100 years from now? The ancient civilisations ensured persistence of their messages by carving them into stone. What can we do to enable people thousands years from now to read and understand the information *our* generation has produced? What can we do to ensure that the Information Age is more than just an ephemeral blip on the timescale of the universe?
My fifth wish is for MySQL to be the software that allows data to be stored forever on some highly persistent media. Some will argue that there is data that we in retrospect would rather have lost, but overall it probably is good for civilisation the more data we can preserve from eon to eon.