This document provides an overview of NoSQL databases. It defines NoSQL, discusses the motivations for NoSQL including scalability challenges with SQL databases. It covers key NoSQL concepts like the CAP theorem and taxonomy of NoSQL databases. Implementation concepts like consistent hashing, Bloom filters, and quorums are explained. User-facing patterns like MapReduce and inverted indexes are also overviewed. Popular existing NoSQL systems and real-world examples of NoSQL usage are briefly mentioned. The conclusion states that NoSQL is not a general purpose replacement for SQL and that both have complementary uses.