NoSQL is a non-relational database designed for large-scale data storage needs. It has several key features: it is non-relational, schema-free, uses simple APIs, and is distributed. The four main types of NoSQL databases are key-value, column-oriented, document-oriented, and graph-based. Key advantages of NoSQL include scalability, flexibility in data structures, and ease of development. However, NoSQL sacrifices some consistency and lacks standardization compared to SQL databases.