I am developing some kind of financial market simulation on GAE. Although I have attained much progress, I have begun to consider dismissing GAE and going for a Django + rdbms solution for the last few days. Let me state my reasons:
transactions: GAE supports transactions with single entity groups. if an application involves complex transactions, such as one in a financial market, you cannot use this mechanism (read: no transaction mechanism is available). A solution addressing this issue has been developed by some noble users, but not been released yet, and is said to be available in java only.
full-text search: ironic it is, but a very primitive API exists at present. Moreover, an improvement is not mentioned in the roadmap.
paging: developing a friendly paging mechanism is not for the faint-hearted (or for the deadline-pressed).
background process: Batches are important in financial applications, and for the time being I have to experiment with Cron. But I conceive that background processes are in the roadmap and will be available in a short time.
I chose GAE in order to shorten development time and cope with the scalability issues that may occur in the future easily. I really like GAE, it has some excellent features, but addressing these issues together will take too much effort, and likely cancel out any benefits of using GAE in the first place.
What would you do if you were me?