GoogleAppEngine

Google App Engine (GAE)

Build apps on Google’s infrastructure

Platform as a Service (PaaS)

  1. Easy to build
  2. Easy to scale
  3. Easy to maintain

Focus on what makes your app great!

GAE + Storage

                ┌─────────────┐
                │             │
                │  App Engine │
                │             │
                └─────────────┘

┌─────────────┐    ┌─────────────┐     ┌─────────────────┐
│             │    │             │     │                 │
│  Cloud SQL  │    │  Data Store │     │  Cloud Storage  │
│             │    │             │     │                 │
└─────────────┘    └─────────────┘     └─────────────────┘

GAE Data Store

Google Storage Infrastructure

Same technology we use for our own applications

Distilled into well documented APIs (App Engine SDK)

Built for scale (size and traffic)

  1. 2 Trillion operations per month

Fully managed NoSQL solution

Don’t have to worry about provisioning or scaling

Google App Engine Cloud SQL

Fully managed

Pure MySQL

IT is like the computer you built at home to run your SQL instance, except it is in the cloud.

Advantages

  1. CloudSQL supports SQL.
  2. The expressiveness of a MySQL database.
  3. Easy to get started and easy to manage.
  4. Don’t have to use NoSQL DataStore stuff.

Google App Engine DataStore

NoSQL is a misnomer (a wrong or inaccurate use of a name or term) for DataStore.

No-SQL?

DataStore supports an evergrowing subset of a structured query language similar to SQL.

  1. Filters
    1. SELECT * FROM table WHERE A=1 and (B=2 OR C=3)
  2. Sorting
    1. SELECT * FROM table ORDER BY A,B DESC
  3. Projections/Index-Only Queries
    1. SELECT A, B FROM table

Beyond SQL

  1. Repeated properties

    1. Contains all(==)/any(IN) - very useful when building tools like labels in Gmail or tags for photos
  2. Scales in the size of the result set.

    1. You never have to worry if the performance of your queries is going to degrade over time if your database grows.

References

Google I/O 2012 - SQL vs NoSQL: Battle of the Backends


Links to this note