Chapter 2. NoSQL concepts


This chapter covers

  • NoSQL concepts
  • ACID and BASE for reliable database transactions
  • How to minimize downtime with database sharding
  • Brewer’s CAP theorem

Less is more.

Ludwig Mies van der Rohe

In this chapter, we’ll cover the core concepts associated with NoSQL systems. After reading this chapter, you’ll be able to recognize and define NoSQL concepts and terms, you’ll understand NoSQL vendor products and features, and you’ll be able to decide if these features are appropriate for your NoSQL system. We’ll start with a discussion about how using simple components in the application development process removes complexity and promotes reuse, saving you time and money in your system’s design and maintenance.

2.1. Keeping components simple to promote reuse

2.2. Using application tiers to simplify design

2.3. Speeding performance by strategic use of RAM, SSD, and disk

2.4. Using consistent hashing to keep your cache current

2.5. Comparing ACID and BASE—two methods of reliable database transactions

2.6. Achieving horizontal scalability with database sharding

2.7. Understanding trade-offs with Brewer’s CAP theorem

2.8. Apply your knowledge

2.9. Summary

2.10. Further reading