▲ | mrkeen 4 days ago | |||||||||||||||||||||||||||||||||||||||||||
> The typical example for ACID DBs are bank transactions; imagine a bank accidentally undoing a transaction upon server crash That's why they don't try to do it that way! But it's still an informative way to think about it. Also, while we're discussing defaults, your ACID db is probably running at READ COMMITTED by default, meaning that your bank transactions are vanishing/creating money: * You read accounts A and B($30) in order to move $5 between them. The new balance for B should be $35. Just before you write the $35, someone else's transaction sets B to $100. Your transaction will proceed and blindly set it to $35 anyway. But to your overall point, I'm also frustrated that these systems aren't as safe as they look on the box. | ||||||||||||||||||||||||||||||||||||||||||||
▲ | nh2 4 days ago | parent [-] | |||||||||||||||||||||||||||||||||||||||||||
> your ACID db is probably running at READ COMMITTED by default You're probably refering to PostgreSQL. Yes, I am also frustrated that that doesn't default to SERIALIZABLE. I do wish the top two open-source "ACID" DBs (Postgres and SQLite) used guaranteed-safe, zero-surprise defaults. | ||||||||||||||||||||||||||||||||||||||||||||
|