Nov 3, 2011

Analysis of datastore operation cost for Google AppEngine for the new pricing

AppEngine new pricing is making me think how to reduce costs. Here is my analysis of the datastore operation costs:

[Prices based on http://code.google.com/intl/de-DE/appengine/kb/postpreviewpricing.html#similar_vm]

High-Level Operation Cost (Low-Level Operations Required)
Entity Get (per entity) $0.07 per 100k operations (1 Read)
New Entity Put (per entity)
with k indexed property values
and c composite index values
$0.20 + k $0.20 + c $0.10 per 100k operations 
(2 Writes + 2 Writes per indexed property value + 1 Write per composite index value)

Example with k=5 and c=1: $0.20 + 5 * $0.20 + 1 * $0.10 = $1.30 per 100k operations
Existing Entity Put (per entity)
with k indexed property values
and c composite index values
$0.10 + k $0.40 + c $0.20 per 100k operations 
(1 Write + 4 Writes per modified indexed property value + 2 Writes per modified composite index value)

Example with k=5 and c=1: $0.20 + 5 * $0.40 + 1 * $0.20 = $2.40 per 100k operations
Entity Delete (per entity)
with k indexed property values
and c composite index values
$0.20 + k $0.20 + c $0.10 per 100k operations 
(2 Writes + 2 Writes per indexed property value + 1 Write per composite index value)

Example with k=5 and c=1: $0.20 + 5 * $0.20 + 1 * $0.10 = $1.30 per 100k operations
Query
with r entities returned
$0.07 + r $0.07 per 100k operations (1 Read + 1 Read per entity returned)

Example with r=100: $0.07 + 100 * $0.07 = $7.07 per 100k operations
Query (keys only)
with r entities returned
$0.07 + r $0.01 per 100k operations (1 Read + 1 Small per entity returned)

Example with r=100: $0.07 + 100 * $0.01 = $1.07 per 100k operations
Key allocation (per key) $0.01 per 100k operations (1 Small)

Are my example values helpful?

4 comments: