NoSQL databases
Key-value, document, wide-column, graph: what each family does, when to choose it over a relational database, and what denormalisation and a free schema cost.
- 30 cards
- 3 topics
- Free
The outline, topic by topic
Each topic is weighted the way the exam weighs it.
- Concepts
- Scenarios
- Trade-offs and failures
A few cards from the deck
Key-value store: what is it?
Show the answer
A database storing values reached by a key, with no queries on their content.
Very fast and simple: sessions, caches, counters.
You store sessions read only by their identifier. Which family?
- Key-value
- Graph
- Wide-column
- Relational with five joins
Show the answer
Key-value
Access by key, with no query on the content: exactly its use.
Document database: what is it?
Show the answer
A database storing documents, often JSON, of varying structure, queryable by their fields.
Handy when each object has its own attributes.
What is the limit of a key-value store?
- You cannot search by content without knowing the key
- It is slow
- It cannot store text
- It requires a strict schema
Show the answer
You cannot search by content without knowing the key
It does only one thing, but very fast.
Wide-column database: what is it?
Show the answer
A database grouping rows by partition key, built for huge volumes of distributed writes.
Suited to measurements and events read by key and period.
A catalogue has very different attributes by category (size, voltage, flavour…). Which family?
- Key-value
- Document
- Graph
- Wide-column
Show the answer
Document
Each product is a document with its own, queryable fields.