0

Google App Engine gives you the choice of three persistence solutions:

  • NoSQL Datastore - "provides a NoSQL schemaless object datastore, with a query engine and atomic transactions"
  • Cloud SQL - "provides a relational SQL database for your App Engine application, based on the familiar MySQL database"
  • Cloud Storage - "provides a storage service for objects and files up to terabytes in size"

These names and their defintions are somewhat confusing to me. Is it that the NoSQL Datastore isn't cloudbased?

Are their performance benefits from just using the standard NoSQL Datastore vs. moving to the cloud? If so what are they?

Is the only difference between Cloud SQL and Cloud Storage the amount of data you can store? Or are these two completely different ideas altogether? Thanks in advance!

IAmYourFaja
  • 55,468
  • 181
  • 466
  • 756

1 Answers1

2

There is also the Blobstore service and Google Big Query.

To the first question, all solutions are cloud based.

Datastore is a schemaless object datastore providing robust, scalable storage for your web application, with no planned downtime, atomic transactions, high availability of reads and writes, strong consistency for reads and ancestor queries, and eventual consistency for all other queries.

The Datastore and Cloud SQL products serve the same purpose, but deciding which one to use will depend on your project needs. The datastore scales automatically and is a No-SQL database, whereas Cloud SQL is a SQL database. See GAE DataStore vs Google Cloud SQL for Enterprise Managment Systems for more details.

Cloud SQL and Cloud Storage are completely different products. The first can be seen just as a MySql database on top of Google infrastructure.

Google Cloud SQL is a web service that allows you to create, configure, and use relational databases that live in Google's cloud. It is a fully-managed service that maintains, manages, and administers your databases, allowing you to focus on your applications and services.

The latter is a solution for storing and serving files, just as the Blobstore, but with extra functionalities (for example ACLs).

The Google Cloud Storage API allows your application to store and serve your data as opaque blobs known as "objects".

Some links: https://developers.google.com/appengine/docs/java/datastore/overview https://developers.google.com/cloud-sql/ https://developers.google.com/appengine/docs/java/googlestorage/overview

Community
  • 1
  • 1
Sebastian Kreft
  • 7,819
  • 3
  • 24
  • 41