There were two very interesting pieces of news to come out in the last week related to the availability of relational databases in the cloud. One involved a start-up you have almost certainly never heard of, and the other involves a major player in on-premise database products.
The first was an announcement to the crowd at "Whose Cloud is It Anyway?"--a "roundtable and meet-up" sponsored by TechCrunch, held Friday on Microsoft's Mountain View, Calif., campus.
(Charles Cooper. My favorite part of the afternoon was the fun comment by Salesforce.com CEO Mark Benioff; he noted the irony of hosting a cloud-computing meeting at the facilities of the vendor most disrupted by the trend.)
During the "pitch" section of the afternoon, Justin Santa Barbara of start-up FathomDB announced that the company has released to beta testing a sort of virtual managed hosting service for "standard relational databases" running on Amazon.com's Elatic Compute Cloud, or EC2, service. (There is a video of the afternoon's pitches; FathomDB starts at about 49:30.)
The start-up's current service simply allows someone to get a basic relational database management system, or RDBMS, instance (initially MySQL) up and running in minutes under its management, with services including creation, monitoring, and backup.
What I found most powerful about FathomDB's presentation, however, was the set of analytic tools the company has built into its interface.
Not only can you track high-level data such as inserts and reads per minute, but you can also drill down into the data to find exactly which queries are most expensive and how often they are run.
Depending on how FathomDB prices it (under a pay-as-you-go model), this could be a very cost-effective way to get high-end database analytics at a low cost of entry.
My colleague David Bernstein noted in the question period after the presentation that he was hoping for a much more high-scale, distributed RDBMS model. When asked if that was in the cards, FathomDB's Santa Barbara responded that FathomDB was indeed considering such technology for future versions of the software. Today, however, it is focusing on scaling vertically, not horizontally--though developers could partition databases themselves, if they wish.
The second news item came from an article by The Register's Gavin Clarke:
Microsoft's SQL Data Services (SDS) development manager Nigel Ellis has promised (that) attendees at next month's Mix 09 (conference) will see "a great session about SQL Data Services, including how the service has evolved to provide rich relational-database capabilities"...Windows Azure Storage director Brad Caldwell, meanwhile, has promised that you'll learn how to create blobs, tables, and queues in Windows Azure Storage.
Senior program manager David Robinson separately wrote on the SDS team blog that Microsoft would be unveiling some new features that are going to "knock your socks off" at Mix.
Microsoft has been working on a SQL Server-based distributed cloud database for some time. SDS (formerly SQL Server Database Services, or SSDS) started at a nonrelational unstructured data store, much like S3, but the team has worked hard to get the technology to where it now supports basic structured, semistructured, and unstructured data with some standard relational capabilities.
What the article is reporting is that Microsoft is apparently readying some big announcements around database services for Mix and that extending the relational capabilities of SDS is among the talking points. If you are using Azure or awaiting access to the beta, this is very interesting news indeed.
It should be noted that there is much skepticism about how well a relational-database system will perform in a distributed cloud-computing environment. If your code is running in compute capacity on the same local network environment as the database, you are probably OK (e.g., hitting SDS from Azure or FathomDB from Amazon).
On the other hand, running many short queries over the Internet from an application running in your own data center is probably prohibitively slow. Will that limit the markets for each of these vendors' products?
I believe that Microsoft's offering will be dominant for Azure applications. FathomDB doesn't share the same guaranteed developer base. I will be watching closely to see what uptake there is for RDBMS in the cloud.