NoSQL & Other Data Stores
Key-value, document, search and other non-relational databases.
Backend Engineer
Junior
Write correct code, ship small changes safely, ask good questions.
- NoSQLDatabases not built on the relational table model.
- Object StorageStoring files as objects, as in S3.
- Document DatabaseStoring JSON-like documents, as in MongoDB.
- Key-Value StoreStoring values by key, as in Redis or DynamoDB.
- RedisAn in-memory data store used for caching, queues and more.
Mid-level
Own a feature end to end without hand-holding.
Core: start here
- SQL vs NoSQLChoosing a database by data shape, consistency needs and access patterns.
6 more mid-level concepts
- Embedded DatabaseA database that runs inside your app, like SQLite.
- Vector DatabaseStoring embeddings for similarity search.
- Search EngineElasticsearch, OpenSearch and others for full-text search.
- PipeliningSending many commands without waiting for each reply.
- Redis Data StructuresStrings, hashes, lists, sets, sorted sets and streams, and what each is for.
- Leaderboards with Sorted SetsRanking scores in real time with Redis sorted sets.
Senior
Own a system, its failure modes, and its trade-offs.
- Inverted IndexA map from words to the documents that contain them.
- Geospatial DataStoring and querying locations: nearby search, distances, geohashes.
- Graph DatabaseDatabases like Neo4j built around relationships.
- NewSQL / Distributed SQLSQL databases that scale horizontally, like CockroachDB or Spanner.
- Time-Series DatabaseDatabases optimized for timestamped measurements.
- Designing for Access PatternsModeling NoSQL data around the queries you'll run.
- Faceted SearchFiltering search results by categories with counts.
- Fuzzy SearchMatching despite typos and spelling variations.
- Polyglot PersistenceUsing different databases for different needs in one system.
- Relevance Scoring (BM25)Ranking search results by how well they match.
- Tokenizers and AnalyzersHow search engines split and normalize text before indexing.
- Wide-Column StoreDatabases like Cassandra built for massive write volume.
- Atomic Scripts (Lua in Redis)Running several operations atomically on the server.
- Redis Persistence (RDB, AOF)Snapshots vs an append-only log for surviving restarts.
- Redis Sentinel and ClusterFailover and sharding for Redis.
- Single-Table DesignStoring many entity types in one DynamoDB table.
Data Engineer
Junior
Build and fix pipelines from clear specs; write correct SQL.
- NoSQLDatabases not built on the relational table model.
- Object StorageStoring files as objects, as in S3.
- Document DatabaseStoring JSON-like documents, as in MongoDB.
- Key-Value StoreStoring values by key, as in Redis or DynamoDB.
- RedisAn in-memory data store used for caching, queues and more.
Mid-level
Own pipelines and models end to end, including their quality.
- Embedded DatabaseA database that runs inside your app, like SQLite.
- Vector DatabaseStoring embeddings for similarity search.
- Search EngineElasticsearch, OpenSearch and others for full-text search.
- SQL vs NoSQLChoosing a database by data shape, consistency needs and access patterns.
- PipeliningSending many commands without waiting for each reply.
- Redis Data StructuresStrings, hashes, lists, sets, sorted sets and streams, and what each is for.
- Leaderboards with Sorted SetsRanking scores in real time with Redis sorted sets.
Senior
Design the platform's storage, processing and modeling choices.
- Inverted IndexA map from words to the documents that contain them.
- Geospatial DataStoring and querying locations: nearby search, distances, geohashes.
- Graph DatabaseDatabases like Neo4j built around relationships.
- NewSQL / Distributed SQLSQL databases that scale horizontally, like CockroachDB or Spanner.
- Time-Series DatabaseDatabases optimized for timestamped measurements.
- Designing for Access PatternsModeling NoSQL data around the queries you'll run.
- Faceted SearchFiltering search results by categories with counts.
- Fuzzy SearchMatching despite typos and spelling variations.
- Polyglot PersistenceUsing different databases for different needs in one system.
- Relevance Scoring (BM25)Ranking search results by how well they match.
- Tokenizers and AnalyzersHow search engines split and normalize text before indexing.
- Wide-Column StoreDatabases like Cassandra built for massive write volume.
- Atomic Scripts (Lua in Redis)Running several operations atomically on the server.
- Redis Persistence (RDB, AOF)Snapshots vs an append-only log for surviving restarts.
- Redis Sentinel and ClusterFailover and sharding for Redis.
- Single-Table DesignStoring many entity types in one DynamoDB table.
Frontend Engineer
Junior
Build UI that works, ship small changes safely, ask good questions.
- NoSQLDatabases not built on the relational table model.
- Object StorageStoring files as objects, as in S3.
Mid-level
Own a feature end to end without hand-holding.
- Embedded DatabaseA database that runs inside your app, like SQLite.
- Vector DatabaseStoring embeddings for similarity search.
- SQL vs NoSQLChoosing a database by data shape, consistency needs and access patterns.
Senior
Own an app's architecture, performance, and failure modes.
- Geospatial DataStoring and querying locations: nearby search, distances, geohashes.
- Faceted SearchFiltering search results by categories with counts.
- Fuzzy SearchMatching despite typos and spelling variations.