19
votes

I was having a look at the new Google Cloud Datastore and looks great. But there is something I could not understand... is it supposed to substitute Google App Engine Datastore? How can I use it inside GAE? What are the differences between both of them?

I have a GAE app in Java that uses 3 entities with thousands of rows each one, and I need to do joins quite often...

2
If you are already in App Engine, you are already using Google Cloud Datastore. But speaking of joins, how expensive are them? Personally I prefer the Datastore to Cloud SQL (for scalability), but big analysis operations are well managed by BigQuery (instead of a mapreduce).Felipe Hoffa
cloud.google.com/docs/storing-your-data here it is explained well.sumitkanoje

2 Answers

26
votes

The cloud datastore is the App Engine datastore, for use outside App Engine. You won't get any benefit trying to use it with your App Engine app, unless you need other external apps to also have access to the data.

You certainly won't get more efficient joins. If you really need that, perhaps you should look into Cloud SQL, which is basically a version of MySQL you can use from App Engine.

3
votes

They both are the same, in fact Google App Engine can use Google Cloud DataStore as one of its way to store data, the other options include Google Cloud SQL, Google Cloud Storage. You may select among these three according to the type of data you want to store and the way you want to access them.

From your question its clear that Google Cloud SQL would be right choice as no other options provide joins for retrieving results.

Cloud SQL is nothing but MySQL(the popular open source database) running on google platform. So you can perform your regular SQL-like queries to get your results.