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.

  1. Concepts
  2. Scenarios
  3. 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.