Maybe Amazon should be using a real DBMS after all
Amazon managers found that an employee who happened to work in France had filled out a field incorrectly and more than 50,000 items got flipped over to be flagged as “adult,” the source said. (Technically, the flag for adult content was flipped from ‘false’ to ‘true.’)
“It’s no big policy change, just some field that’s been around forever filled out incorrectly,” the source said.
Amazon employees worked on the problem well past midnight, and then handed it over to an international team, he said.
This was the best practice for reversing an error — how? Is SimpleDB somehow implicated? If this story is remotely true, and if there’s a sensible database architecture, I can’t imagine why there wouldn’t be a faster fix.
Comments
7 Responses to “Maybe Amazon should be using a real DBMS after all”
Leave a Reply
SimpleDB is amazon. BigTable is google’s.
Yep. Tony Bain got to me on that on Twitter, and I edited accordingly. 😉
Thanks for the sharp eyes!
CAM
I think the problem is trying to avoid false positives/false negatives when flipping the bit back.
How would you correct an error in a SQL database if somebody set true/false flag to null on every item in a table and then committed the transaction?
update items set adult = null;
Database data should be under version control.
Heh, that’s pretty funny!
There was someone from inside Amazon who said they were using standard software — except for the most crucial bits. They Implied that there’s some old homegrown crufty software that they just use and try not to break.
Also: ridiculous to allow any random person to make any kind of change to the global systems without signoff from management. That’s what management is supposed to be for!
Thinking it over, while SQL doesn’t have a solution to the problem, most SQL databases allow people to rollback to previous snapshots of the database (or restore old backups, or whatever you want to call it).
Perhaps this is one of many reasons good DB designers use preicates and not assembly language level bit flags to classify data?