Category Archives: Database

Cloud SQL for the win

After several months of trialling Google’s new Cloud SQL service we’re hugely pleased to have recently taken Do Something Near You out of beta with the addition of enhanced geo-spatial searches (find listings near to my entered location) and a new search by keyword feature.

Originally leveraging Google App Engine’s awesomely scalable (but not without limits) traditional NoSQL data-store, geo-spatial queries had restrictions that meant we had to implement work-arounds to achieve the results we needed from the volumes of data that were quickly amassing. Whilst these work-arounds (namely GeoModel, but also some  complex custom caching mechanisms) delivered results, we still weren’t able to search by keyword and performance could have been better, especially considering the expectation we had having chosen Google (the fastest search engine ever) as our infrastructure provider.

Implementation was a little tedious at first, as Cloud SQL was in “Experimental” (and didn’t it feel that way) release when we first developed the prototype, but once it was released commercially it has been smooth sailing even under load. Performance improvements were dramatic, shaving response times by more than 50% on most local search requests.

For the technical amongst you, this video below, filmed at Google I/O, debates Cloud SQL vs traditional data-store, where inequality operators on multiple fields is simply not possible. The critical component of both solutions is the cloud nature which offers two primary advantages. Database maintenance becomes a thing of the past while at the same time it allows scaling to huge volumes of data and usage without needing the ridiculous capital expense of  traditional servers and networking hardware.