Just tried Google Cloud SQL: not impressed...

Google Cloud SQL is fully managed MySQL service in the google cloud. Such managed hosting has a number of advantages. For me it could mean less worries about data, backups, configuration, scaling and updates of the software. In that sense Google's Cloud SQL looks very promising, so tried a very small instance which cost approx 10$ a month. And i tried it as replacement for my own (not tuned) mysql instance running in a docker container on a g1-small (1 vCPU, 1,7 GB RAM) instance backed by 40 GB SSD (not local SSD). But this test disappointed me a little.

Prices

First let's take a look on Google Clound instance prices:

Resource Charge
D0 Database Instance (0.125GB RAM) $0.025 per hour
D1 Database Instance (0.5GB RAM) $0.10 per hour
D2 Database Instance (1GB RAM) $0.19 per hour
D4 Database Instance (2GB RAM) $0.29 per hour
D8 Database Instance (4GB RAM) $0.58 per hour
D16 Database Instance (8GB RAM) $1.16 per hour
D32 Database Instance (16GB RAM) $2.31 per hour
1GB Storage $0.24 per month
I/O $0.10 per Million

Test

I've tested with a D0 which is indeed an entry level instance. But however my own instance running on g1-small  gives me results of select's withing 0,01- 0,04 seconds on index search on a table with approx 200k entries... The same query needs 1,1-0.9! seconds on D0 instance of Google SQL Cloud. What? Why so slow? :( I think this has also to do with latency over the network.

My Cloud SQL instance are living in "Compute engine Zone" and in the european zone where my another instances are located...

Currently I'm paying about 30$ for my g1-small Instance and it runs not only MySQL but also a web workers as well... and MySQL performance stays impressively high. More 0,01 vs. 1 means  100 time less latency... Of course test are raw and maybe, too raw but what to tweak on them if the latency is 100 times worse? Does it make sense?

I would expect that google

  • Lower prices for Cloud SQL (at least entry levels)
  • Lowers network latency between GCE and MySQL Cluster
  • Runs that instances on SSD
  • Provides more benchmarks and comparisons..

What is your experince? How do you run your relational data in the (Google) Cloud?