Utilizing NoSQL Solutions
WHAT’S IN THIS CHAPTER?
- Discovering a wealth of high-performance alternatives to heavy database servers
- Creating a super-fast distributed key-value store with memcache
- Using MongoDB for fast access to more complex data types
- Scaling MongoDB across dozens of nodes
In recent years, NoSQL has become a buzzword, and there are dozens of popular projects that fall under this somewhat broad term. Essentially, NoSQL is a covering term for a range of storage solutions that eschew relational models in favor of a more back-to-basics approach. They have been hailed by some as the solution to scalability problems in traditional relational database management systems (RDBMSs).
Although RDBMSs such as MySQL are invaluable in some situations (think of how useful ACID compliance is for handling online financial transactions), in many cases, they are overkill. You don’t need the full power of a relational database simply to select, say, a list of configuration options from a single table. NoSQL solutions fill this gap, offering lightweight data storage with a range of features. Some are simple in memory key-value stores, whereas others provide built-in scaling, support for joins, and some degree of ACID compliance.
Unfortunately, NoSQL has been a classic example of the so-called “hype cycle.” Early hype around NoSQL promised that it would be a silver bullet for data storage that would spell the end of relational databases. This led to frenzied adoption, even ...