The recent announcement of Amazon's Relational Database Service is generating a lot of buzz. And well it should. For people who require a relational database for their applications and have been rolling their own with EC2 and EBS, it offers a really nice option. Let AWS manage that database for you and focus more attention on your app. It also represents another inevitable step up the ladder from IaaS to PaaS for AWS and gives pretty good triangulation data about where cloud computing will be in a few years.
But does RDS also mean the end of SimpleDB? There have already been posts on the SimpleDB forum to that affect. I think the answer is "no" but it does illustrate what I think has been a misstep in the evolution of SimpleDB.
Let me start by saying that I love SimpleDB. I use it all the time. I have built a number of real applications and services with it and in my experience it "just works". I know there are some applications that just require a full-blown relational database but in my experience I've been able to do everything I need to do with SimpleDB. And I absolutely love the fact that it's just there as a service, doing whatever it needs to do to scale along with my app.
But it seems like SimpleDB has always been a bit of a red-headed stepchild at AWS. They haven't had a clear, consistent strategy for it. When people compared it to a relational database, rather than following the NoSQL philosophy they tried to make SimpleDB look more like a relational database. They deprecated it's elegant set-based query language with a SQL subset in hopes of attracting the relational crowd. But I think mainly what happens is that people focus on the "subset" aspect and are always pining for yet more SQL compatibility. I just don't think it won them many converts.
So, does RDS represent the end of SimpleDB? I really don't think so. The two offerings are very, very different. AWS needs to embrace that difference and communicate it more clearly. There are a lot of applications out there that can benefit from the lightweight, super-scalable, and easy to use qualities of SimpleDB. MySQL simply can't compete on those dimensions. I'm pretty sure AWS agrees but it would be nice to see some positive reinforcement from them soon, before their user base get's scared. I don't think that building RDS on the back of SimpleDB is what AWS had in mind.
11 comments: