This document presents an introduction to NoSQL databases. It begins with an overview comparing SQL and NoSQL databases, describing the architecture of NoSQL databases. Examples of different types of NoSQL databases are provided, including key-value stores, column family stores, document databases and graph databases. MapReduce programming is also introduced. Popular NoSQL databases like Cassandra, MongoDB, HBase, and CouchDB are described. The document concludes that NoSQL is well-suited for large, highly distributed data problems.