Re:Revolut down as users report app not working
by randunel on Tuesday October 20, 2026 @08:42AM
(#50165482)
I don't see the difference between a ledger (possibly with a unique sequence enforcement) which would take the balance to a negative number, and a mutable row in a relational database with optimistic locking (same unique sequence enforcing). Would you mind helping me out, how would a ledger work better to prevent a negative balance, given that the enforcement isn't specific to ledgers and can be used in relational DBs? After all, both can go to negative balance by applying atomic subtractions, and both can prevent writes with the wrong sequence.
[ Parent
| on HN ]
Re:Revolut down as users report app not working
by mrkeen on Tuesday October 20, 2026 @09:06AM
(#50165807)
I don't think you can avoid negative balance, without giving up on availability (i.e. moving from AP to CP). And then an outage like TFA takes down your whole system.
You might be assuming that there is only one database, and that all consumers are reliably connected it. So who owns the database: Visa or MasterCard? Because ACID doesn't span across database instances (let alone database vendors or companies).
If you write down that "Bob withdrew $20", that cannot be wrong, (at best it can lack info that you later wish you had).
If you write down "Bob's balance is now $10", you already know the problems with that from your question.
Re:Revolut down as users report app not working
by randunel on Friday October 30, 2026 @04:50AM
(#50301314)
Thank you for this! I agree, but I still don't see the difference between a ledger and a relational DB when both write "Bob withdrew $20". Maybe I'm a bit thick.
You're right that I assumed there would only be one database or one ledger.