I heard that eBay also was running without transactions, maybe Amazon will follow a similar approach.
From The eBay Architecture (slide 18, 23):
Absolutely no client side transactions
How do we pull it off?
– Careful ordering of DB operations
– Recovery through
• Asynchronous recovery events
• Reconciliation batch
• Failover to async flow
Rationale
– Avoid deadlocks
– Avoid coupling availability
– Update concurrency
– Seamless handling of splits eBay
(Sorry for the formatting)
To me, it looks like if there are not ACID transaction, you need to check, recover or compensate thing manually. But the exact business logic is known, so a proper error handling or conflict strategy can be devised. That also makes me thing of error handling in BPEL where things are asynchronous and we write compensation handler.