Yes, most of NoSql provides some kind of ACID guarantees, however not as good as RDBMS. MongoDB also provides single document atomicity. But in RDBMS you can configure the ACID properties.
> but I want to note that the vast majority of apps do not have data too large to be held by a single instance
I agree with that. For me, the order would be: 1. Do not use database 2. Use SQLite 3. Use single instance RDBMS 4. Use single instance NoSql 5. Use single instance RDBMS + NoSql cluster 6. Use RDBMS cluster
> I'd argue that you should default to OLTP and only deviate when you need the extra power, but we'd probably agree to disagree there :)
Personally I would prefer NoSql when the business model fits some specific patterns. But I agree with you that.
The article of Highscalability.com is very useful, and also some other articles. I did not know the site before, thanks for sharing.