GoogleAppEngine
Table of Contents
Google App Engine (GAE)
Build apps on Google’s infrastructure
Platform as a Service (PaaS)
- Easy to build
- Easy to scale
- 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)
- 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
- CloudSQL supports SQL.
- The expressiveness of a MySQL database.
- Easy to get started and easy to manage.
- 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.
- Filters
- SELECT * FROM table WHERE A=1 and (B=2 OR C=3)
- Sorting
- SELECT * FROM table ORDER BY A,B DESC
- Projections/Index-Only Queries
- SELECT A, B FROM table
Beyond SQL
-
Repeated properties
- Contains all(==)/any(IN) - very useful when building tools like labels in Gmail or tags for photos
-
Scales in the size of the result set.
- 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