On Mon, Aug 6, 2012 at 11:15 AM, Drake <[email protected]> wrote:
>
> Want me to solve 50k Transactions in 1 second?
> If transaction rate is < X use default
> if Transaction rate is > X & < Y Use Shard
> if Transaction Rate is > Y use backend
>
> And your backend uses in instance memory, and defers to populate a
> persistent record. When the transaction rate drops below a threshold you do
> commits and re-merge with master.

The specific requirement is selling 50,000 tickets but not 50,001
tickets.  It's not as simple as just sharding because you can't
transactionally aggregate shards to get an accurate count.

Solutions which involve deferring writes in memory risk losing data
if/when a backend crashes.

It's certainly not impossible; I've done it (although my solution
certainly will not hold up to 50k in one second - fortunately an
unrealistic scenario for me).  I'm saying it's complicated and a
preposterous amount of work compared to the RDBMS-backed-by-SSD
solution.  There's a "right tool for the right job" and it's worth
considering the application domain carefully before blindly shouting
"yes, appengine is great for everything!"  I've recommended appengine
for some clients and steered others away because it wasn't a good fit.
 A third subset of apps are best run as a hybrid with parts in other
cloud systems.

Jeff

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to