NoSQL databases are non-relational data stores designed for massive volumes of unstructured, semi-structured, and structured data with horizontal scalability and flexible schemas. Born from the needs of web-scale companies like Google, Amazon, and Facebook, NoSQL systems embrace schema flexibility, eventual consistency, and diverse data models — document stores, key-value pairs, wide-column families, graph structures, and specialized types like time-series and vector databases. As of 2026, the NoSQL ecosystem continues to evolve with Redis 8.0 unifying its data platform, Cassandra 5.0 introducing Storage Attached Indexes and vector search, MongoDB 8.0 enhancing queryable encryption, and the GQL ISO standard (ISO/IEC 39075) establishing a universal graph query language. Understanding when to use NoSQL over SQL, how different consistency levels impact performance, and which database type fits your access patterns is crucial for building modern, scalable applications.
What This Cheat Sheet Covers
This topic spans 17 focused tables and 151 indexed concepts, 129 flashcards. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: NoSQL Database Types
"NoSQL" isn't one thing — it's a family of databases each built around a different data shape and access pattern. Knowing the categories is the most important decision you'll make, because picking the wrong model fights you forever: document stores for flexible records, key-value for raw speed, wide-column for huge write volumes, graph for relationships, and the specialized time-series, vector, and search engines that have become essential in the AI era.
| Type | Example | Description | |
|---|---|---|---|
MongoDB: db.users.find({age: {$gt: 30}}) | • Stores data as JSON/BSON documents with nested structures • ideal for content management, catalogs, and user profiles where schema varies per record. | ||
Redis: SET user:1001 "John"GET user:1001 | • Maps unique keys to values (strings, hashes, lists, sets) • fastest NoSQL model for caching, session storage, and real-time counters with sub-millisecond latency. | ||
Cassandra: SELECT * FROM usersWHERE user_id = '123' | • Organizes data into column families with flexible columns per row • excels at time-series data, event logging, and IoT workloads requiring high write throughput. | ||
Neo4j: MATCH (a)-[:KNOWS]->(b)RETURN a, b | • Stores nodes and relationships as first-class citizens • optimized for traversing connections in social networks, fraud detection, and recommendation engines. | ||
InfluxDB: SELECT mean(cpu) FROM systemWHERE time > now() - 1h | • Specialized for timestamped data with efficient compression and aggregation • designed for metrics, IoT sensors, and monitoring systems. | ||
Pinecone: index.query(vector=[0.1, ...], top_k=10) | • Stores and queries high-dimensional embeddings for similarity search • powers AI applications like semantic search, RAG systems, and recommendation engines. | ||
Elasticsearch: GET /logs/_search{"query": {"match": {"message": "error"}}} | • Indexes text and structured data using inverted indexes for full-text search with BM25 relevance scoring • built for log analysis, application search, and observability. | ||
ArangoDB: AQL across document, graph, key-value | • Supports multiple data models (document, key-value, graph) in one engine • reduces infrastructure complexity for applications needing varied access patterns. |