- Web and Cloud application created the need to store and process huge amount of data.
- Traditional RDBMSs do not fit the role.
- Only good for numbers, structured and clean data.
- Scaling required very expensive hardware.
- Fault tolerance was again expensive.
- Existing processing techniques can not scale without extensive code development.