One caveat to Amazon SimpleDB when it was first introduced is the notion of eventual consistency. In order to enable scalability and availability, some trade offs were made in terms of consistency. As a result, due to the immensely distributed nature of Amazon SimpleDB, there could be cases were reads and/or writes to Amazon SimpleDB would not reflect the actual state of the data. This was a scenario that developers learned to work around.
However, in early 2010, Amazon SimpleDB introduced an option to force consistency. Developers can now choose whether they need an operation to be consistent or not. For example, commerce transactions can be made to be consistent, whereas auxiliary functionality like logging need not be consistent.
This document will use a fictional scenario to illustrate how these new features in Amazon SimpleDB can be used in an application. The scenario that will be used involves a fictional company called PennyStorm that offers a penny auction to its customers.