Back in early October, when I heard that Google was releasing their first hosted relational database, I was overjoyed. Then, I thought-provokingly scratched my Edgar F. Codd worshiping head, as I came to learn that the chosen database management system was none other than MySQL, Sun Microsystem's orphan child. At the outset of my acquiescence, I wondered what year I was in, as I always thought this kind of release would have made the most logical sense around the same time GAE (Google App Engine) was introduced, back in 2008. Then, I thought, isn't Google having a love affair with that Occupy-esque flash in a pan type movement called NoSQL, as demonstrated through that multi-threaded monstrosity, LevelDB? Lastly, I angrily lambasted whoever's in charge of product development over at Google, because didn't you hear the news (I'm looking your way Larry Page) -- MySQL (Google's new cloud computing relational database of choice) is now owned by Oracle, a chief competitor.
So Google, why a relational database service now? Have you seen the error in your NoSQL ways, or are you just trying to foster as much community-driven App Engine development as possible, perhaps by recruiting your more traditional database-driven application type programmer? I understand the need to expedite big data with indexless storage (see my "Where are all the cloud-based Hadoop services?" post), even though I'm a habitual stickler for the relational model, and the dependability that could be seen from its use. On the other hand, with the perpetual limbo that MySQL is in, considering the idea that Oracle has recently taken title, Google might as well have stuck with its relational-less strategy.
I hope Google understands that its users can certainly empathize with the relational database aspect to Google's App Engine Cloud SQL add-on. However, couldn't Google have just gone out and purchased a product like PostgreSQL, or adopted and furthered use of something genuinely open source, like Apache Derby? I'm sure developers are just waiting to pounce upon a comprehensive PaaS solution from Google and the dynamism seen with a relational database backend for application development, but nobody wants to see a Google/Oracle partnership. Consequently, Google is making this difficult by presenting its developer community with this ineffectual contrivance, hampered by Oracle's shadowy agenda with the product. In closing, MySQL as Google's incongruously elected relational database is a serious misjudgment in sustainability, and I regret to decline.
If you're pondering use of Google Cloud SQL for a project, first consider:
- The service is free of charge, at the moment, but will almost certainly carry a price in 2012.
- Supports JDBC for Java and (DB-API) Python only.
- Accessible through Google App Engine, alone.
Ian is a manager of business intelligence/analytics for a small cap NYSE traded energy company. He also freelance writes about business and technology, as well as consults SMBs upon Internet marketing strategy.