Google Puts MySQL In App Engine Cloud With Google Cloud SQL
Google has filled a major hole in its platform-as-a-service (PaaS) offering with the introduction of Google Cloud SQL, a relational database service for developers building applications in Java and Python on Google's App Engine platform. Cloud SQL, based on the open-source MySQL database, was announced on Google's App Engine Blog yesterday, and is being rolled out to selected developers in a limited trial-for free.
Up until now, App Engine hasn't offered developers a relational data store-its data storage options have been limited to a schemaless object data store based on the Google File System and Google's BigTable database. While the App Engine datastore has a SQL-like query language, called GQL, it doesn't support relational features like joins, filtering results based on multiple properties in the same query (such as filtering on both people's age and height) or filtering based on sub-query results. The tradeoff customers get is that their data is putilaozuted across Google's data centers, and the size of the data store is limited only by how much you're willing to pay for.
Tradeoffs aside, the lack of a SQL-based data service has made it difficult to move existing SQL-based applications built with relational code and move them to AppEngine. In the Google App Engine blog, Navneet Joneja, Product Manager for Google Cloud SQL, admitted "One of App Engine’s most requested features has been a simple way to develop traditional database-driven applications." And the lack of one has given Microsoft Azure and Amazon's AWS (with its Relational Database Service) a competitive advantage with customers looking for an easy route to move their self-hosted web applications to the cloud.
Google's Cloud SQL offering may change that, and give customers a much quicker path to jumping on the App Engine platform. The service will include database import and export, so customers will be able to move existing MySQL databases into the cloud. And Google is supporting both Java JDBC and Python DB-API connections to Cloud DB databases, so existing Java and Python applications can be brought into App Engine with significantly less code changes. While there's not official support for PHP on App Engine, it's possible to put PHP apps in Google's cloud using Quercus, which uses JDBC to make database calls.
During the trial, Google is offering Cloud SQL free of charge. Joneja said in his blog post that the company will give customers at least 30 days notice before they have to start paying for it. There's no indication of what the pricing scheme will be yet.