I suppose I knew in the back of my mind, you’re not going to need it now, but eventually you will need to shard this*. So if you’re going to do anything in appengine, my advice is: just shard everything from the start. You’ll save yourself a world of hurt later on.

http://code.google.com/appengine/articles/sharding_counters.html

  • This could be anything, it needn’t be just counters. Now the article is all about write contention, but it also demonstrates a very good approach to sharding data in the abstract. Depending on what you’re doing this is a very useful thing to do.