3 ms·
As someone unfamiliar with the inner workings of both, why is that the case?
by BHSPitMonkey 10y ago
As someone unfamiliar with the inner workings of both, why is that the case?
- ak39 10y agoBecause guaranteed transactions matter. Moving $10 from Bob's account to Jack's involves: 1. Inserting a transaction to remove $10 from Bob's account 2. Inserting a transaction to add $10 to Jack's account. Both 1 and 2 must succeed or fail in total if either of them fail (or both). You can imagine the disaster in banking apps, ERPs and other financial systems when 1 succeeds but 2 fails and the database is happy with that imbalanced state.
- BHSPitMonkey 10y agoMySQL has transactions, so why does this example prove that it's unsafe for critical applications?
- darkhorn 10y agoMySQL does not add new features because it was bought by Oracle. But they improve performance. It is an easy to use minimal database. InnoDB engine is ACID compliant but MySQL's original engine, MyISAM is not ACID compliant. Why not ACID compliant? To improve performance. On the other hand PostgreSQL is ACID compliant from the beginning. And PostgreSQL adds new features every few months. Some of these features that do not exist in MySQL are; IP address data type, serial fields (multiple auto-increments), row level permissions, geographical data types, inheritance, XML data type, custom data types, range data type and things that I don't know but I know that it provides many features of SQL language like intersect, except and merge joins. It is like free Oracle. ACID: https://en.wikipedia.org/wiki/ACID https://en.wikipedia.org/wiki/ACID
- BHSPitMonkey 10y agoI get why those features are useful, but I don't see how that supports the claim that you should only use MySQL for things that aren't critical (implying that it will randomly produce incorrect results or similar).
- darkhorn 10y agoHere is an explanation https://youtu.be/emgJtr9tIME https://youtu.be/emgJtr9tIME