Bird
Raised Fist0
DBMS Theoryknowledge~5 mins

NoSQL database types (document, key-value, column, graph) in DBMS Theory - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a Document NoSQL database?
A Document NoSQL database stores data as documents, usually in JSON or BSON format. Each document contains key-value pairs and can have different structures. It is like storing data in flexible folders where each folder can have different files.
Click to reveal answer
beginner
How does a Key-Value NoSQL database work?
A Key-Value NoSQL database stores data as pairs of keys and values. It is like a dictionary or a phone book where you look up a key to find its value quickly. It is simple and very fast for retrieving data by key.
Click to reveal answer
intermediate
What is unique about Column NoSQL databases?
Column NoSQL databases store data in columns instead of rows. This means they group data by columns, which is efficient for reading and analyzing large amounts of similar data. It is like organizing a spreadsheet by columns to quickly find all values in one category.
Click to reveal answer
beginner
What is a Graph NoSQL database used for?
A Graph NoSQL database stores data as nodes (things) and edges (relationships). It is great for showing connections, like social networks or maps. Imagine a web where dots are people and lines show their friendships.
Click to reveal answer
intermediate
Which NoSQL database type is best for flexible, schema-less data?
Document databases are best for flexible, schema-less data because each document can have different fields and structures. This allows easy changes without redesigning the database.
Click to reveal answer
Which NoSQL database type stores data as key-value pairs?
ADocument
BKey-Value
CColumn
DGraph
Which NoSQL type is best for representing relationships between data?
AKey-Value
BColumn
CGraph
DDocument
What format do Document databases usually use to store data?
AJSON or BSON
BCSV
CXML
DPlain text
Which NoSQL type organizes data by columns for efficient analytics?
AColumn
BDocument
CGraph
DKey-Value
Which NoSQL type is simplest for quick data retrieval by a unique key?
AGraph
BColumn
CDocument
DKey-Value
Explain the four main types of NoSQL databases and give a simple example of when to use each.
Think about how data is stored and what real-life problem it solves.
You got /4 concepts.
    Describe how a Graph NoSQL database differs from a Document NoSQL database.
    Focus on data structure and use cases.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which NoSQL database type is best suited for storing data as JSON-like documents with flexible schemas?
      easy
      A. Graph database
      B. Document database
      C. Column database
      D. Key-value database

      Solution

      1. Step 1: Understand document database structure

        Document databases store data as documents, often JSON-like, allowing flexible and nested data.
      2. Step 2: Compare with other NoSQL types

        Key-value stores use simple key-value pairs, column stores organize data by columns, and graph databases focus on relationships.
      3. Final Answer:

        Document database -> Option B
      4. Quick Check:

        Flexible JSON-like storage = Document database [OK]
      Hint: JSON-like flexible data means document DB [OK]
      Common Mistakes:
      • Confusing key-value with document stores
      • Thinking column stores handle JSON
      • Assuming graph DB stores documents
      2. Which of the following is the correct way to describe a key-value store?
      easy
      A. Stores data as nested JSON documents
      B. Stores data as interconnected nodes and edges
      C. Stores data in tables with rows and columns
      D. Stores data as simple pairs of keys and values

      Solution

      1. Step 1: Define key-value store

        Key-value stores save data as pairs: a unique key and its associated value.
      2. Step 2: Eliminate other options

        Nodes and edges describe graph DB, tables describe relational or column DB, nested JSON describes document DB.
      3. Final Answer:

        Stores data as simple pairs of keys and values -> Option D
      4. Quick Check:

        Key-value = key and value pairs [OK]
      Hint: Key-value means simple pairs, not complex structures [OK]
      Common Mistakes:
      • Mixing graph DB with key-value store
      • Confusing column DB with key-value
      • Thinking document DB is key-value
      3. Given a graph database storing people and their friendships, which query result would you expect from a query asking for all friends of 'Alice'?
      medium
      A. A set of nodes connected to 'Alice' by edges labeled 'friend'
      B. A table with columns for friend names and ages
      C. A list of key-value pairs with friend names
      D. A JSON document containing Alice's profile

      Solution

      1. Step 1: Understand graph database query

        Graph DB queries return nodes and edges; friends of Alice are nodes connected by 'friend' edges.
      2. Step 2: Compare expected outputs

        Key-value pairs or tables are not typical graph DB outputs; JSON document is for document DB.
      3. Final Answer:

        A set of nodes connected to 'Alice' by edges labeled 'friend' -> Option A
      4. Quick Check:

        Graph DB returns connected nodes and edges [OK]
      Hint: Graph DB queries return nodes and edges, not tables or JSON [OK]
      Common Mistakes:
      • Expecting tabular output from graph DB
      • Confusing document DB JSON with graph DB output
      • Thinking key-value pairs represent graph edges
      4. You wrote a query to retrieve data from a column-family NoSQL database but got an error. Which mistake likely caused this?
      medium
      A. Using nested JSON documents in the query
      B. Querying nodes and edges instead of tables
      C. Trying to access data by key only without specifying column family
      D. Using key-value pairs without keys

      Solution

      1. Step 1: Understand column-family DB query requirements

        Column-family DBs require specifying column families to access data properly.
      2. Step 2: Identify error cause

        Accessing data by key alone without column family causes errors; other options relate to different DB types or invalid syntax.
      3. Final Answer:

        Trying to access data by key only without specifying column family -> Option C
      4. Quick Check:

        Column DB needs column family in queries [OK]
      Hint: Column DB queries must specify column family [OK]
      Common Mistakes:
      • Using document DB JSON syntax in column DB
      • Ignoring column family in queries
      • Confusing graph DB queries with column DB
      5. You need to design a social network app that stores users, their posts, and complex friend relationships with recommendations. Which NoSQL database type should you choose and why?
      hard
      A. Graph database, because it efficiently manages complex relationships
      B. Key-value database, because it is fastest for any data
      C. Document database, because it handles nested posts well
      D. Column database, because it stores large tables efficiently

      Solution

      1. Step 1: Analyze app data needs

        The app needs to store users, posts, and complex friend relationships with recommendations.
      2. Step 2: Match database type to needs

        Graph DBs excel at managing complex relationships and traversals, ideal for social networks.
      3. Step 3: Evaluate other options

        Document DB handles nested data but less efficient for relationships; key-value is simple but not relationship-focused; column DB is for wide tables, not relationships.
      4. Final Answer:

        Graph database, because it efficiently manages complex relationships -> Option A
      5. Quick Check:

        Complex relationships = Graph DB [OK]
      Hint: Complex relationships? Choose graph DB [OK]
      Common Mistakes:
      • Choosing document DB for relationship-heavy data
      • Assuming key-value is best for all speed needs
      • Ignoring graph DB strengths in relationships