One of the most common concerns people have is how to ensure that their application is safe, secure and available in the event of an emergency. Often I have found that people are mistakenly believe that they are protected when in fact they often have ignored potential scenarios. The principles explained apply equally well in RDBMSs, MongoDB and other databases. Potential scenarios to protect against Drive failure Machine failure Switch failure Power circuit failure Data center failure Intrusion Fat fingers Programmer error Raid To prevent drive failure use multiple drives in a single machine for high availability.
Perhaps you’ll recognize these words, “About five years ago I started to notice an odd thing. The products that the database vendors were building had less and less to do with what the customers wanted. … So, what is this growing disconnect?” Those words were written in 2004 by Adam Bosworth, a veteren of Microsoft, Google and BEA. In the 7 years since things have only gotten worse. Open source products came to maturity (if you can call it that), but none improved on any of the challenges Bosworth outlines.