The families
Key-value (Redis, DynamoDB) gives O(1) lookup by key. Document stores (MongoDB, Firestore) hold nested JSON per entity. Wide-column stores (Cassandra, Bigtable) scale writes across partitions. Graph databases (Neo4j) traverse relationships cheaply. Search engines (Elasticsearch, OpenSearch) do inverted-index text and facet queries.
Model for the query
Relational modelling starts from entities; NoSQL modelling starts from access patterns. Denormalise and duplicate deliberately, choose a partition key that spreads load and keeps related items together, and accept that changing the access pattern later may mean a migration.
Polyglot persistence
Real systems mix stores: Postgres as the transactional source of truth, Redis for cache and rate limits, a search index for text, and a warehouse for analytics. Each extra store adds a consistency boundary, so add one only when a real limitation demands it.