Good article. Most people don't realize how much data they are silently corrupting.
I did not realize how bad of an idea HTTP sessions were until I started using BDB and a transaction around the whole request. Lots of conflicts that MySQL (and Postgres, out of the box) just silently ignored. BDB showed me my flawed logic, and I changed how I stored sessions. (Only storing the whole object when some field actually changed, rather than always writing what I read at the beginning. Even this is sub-optimal.)
I did not realize how bad of an idea HTTP sessions were until I started using BDB and a transaction around the whole request. Lots of conflicts that MySQL (and Postgres, out of the box) just silently ignored. BDB showed me my flawed logic, and I changed how I stored sessions. (Only storing the whole object when some field actually changed, rather than always writing what I read at the beginning. Even this is sub-optimal.)