Bird
Raised Fist0
DBMS Theoryknowledge~5 mins

CAP theorem in DBMS Theory - Time & Space Complexity

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
Time Complexity: CAP Theorem
O(n) for CP, O(1) for AP
Understanding Time Complexity

When studying the CAP theorem, it is important to understand how the time for read and write operations changes based on the consistency model and network conditions in a distributed database.

We want to know how replication and consensus protocols scale as the number of nodes increases.

Scenario Under Consideration

Analyze the time complexity of write replication across nodes in a distributed database.


for each write_operation:
    write to primary_node                     -- O(1)
    for each replica_node in replicas:
        send replication message               -- O(1) per node
        wait for acknowledgment (if CP)        -- O(latency)
    confirm write to client

This code processes a write by first writing to the primary node, then replicating to all replicas. In a CP system, it waits for acknowledgments before confirming.

Identify Repeating Operations

Look at the loops and repeated operations in the replication process.

  • Primary operation: Sending a replication message and waiting for acknowledgment from each replica node.
  • How many times: Once per replica node for every write operation.
How Execution Grows With Input

As the number of replica nodes grows, the replication work increases.

Replicas (n)CP System (wait all)AP System (async)
3 nodes3 acknowledgments waitedFire and forget
5 nodes5 acknowledgments waitedFire and forget
10 nodes10 acknowledgments waitedFire and forget

Pattern observation: CP systems have write latency proportional to the number of replicas (or quorum size). AP systems have constant write latency since they do not wait for acknowledgments.

Final Time Complexity

CP System Write: O(n) where n is the number of replicas (or O(quorum) with majority-based consensus)

AP System Write: O(1) — write is confirmed immediately after the primary node accepts it

This trade-off is the core of the CAP theorem: consistency costs latency, availability gains speed.

Common Mistake

[X] Wrong: "Replication is always instant because networks are fast."

[OK] Correct: Network latency and partitions are real. In a CP system, a single slow or unreachable replica can delay the entire write operation. This is why AP systems sacrifice consistency for predictable response times.

Interview Connect

Understanding the latency trade-offs of CP vs AP systems helps you explain database selection decisions in system design interviews. Knowing that consistency requires coordination time (O(n) or O(quorum)) is a key insight.

Self-Check

If a distributed database uses quorum-based replication (majority must acknowledge), how does the write latency change compared to waiting for all replicas?

Practice

(1/5)
1. What does the CAP theorem state about distributed systems?
easy
A. A distributed system can only guarantee two out of Consistency, Availability, and Partition tolerance at the same time.
B. A distributed system can guarantee all three: Consistency, Availability, and Partition tolerance simultaneously.
C. CAP theorem applies only to single-node databases.
D. CAP theorem states that Consistency is always more important than Availability.

Solution

  1. Step 1: Understand the CAP theorem basics

    The CAP theorem says a distributed system cannot guarantee Consistency, Availability, and Partition tolerance all at once.
  2. Step 2: Identify the correct statement

    Only two of these three properties can be guaranteed simultaneously in a distributed system.
  3. Final Answer:

    A distributed system can only guarantee two out of Consistency, Availability, and Partition tolerance at the same time. -> Option A
  4. Quick Check:

    CAP theorem = Two guarantees only [OK]
Hint: Remember CAP means pick any two out of three [OK]
Common Mistakes:
  • Thinking all three guarantees are possible simultaneously
  • Confusing CAP theorem with ACID properties
  • Assuming CAP applies to single-node systems
2. Which of the following is a correct example of a system prioritizing Availability over Consistency according to CAP theorem?
easy
A. A DNS system that always responds to queries even if some data is outdated.
B. A system that never allows network partitions.
C. A system that stops responding during network partitions to avoid inconsistent data.
D. A banking system that locks accounts during transactions to ensure exact balances.

Solution

  1. Step 1: Identify Availability over Consistency example

    Availability means the system always responds, even if data might be stale or inconsistent.
  2. Step 2: Match example to definition

    DNS systems prioritize Availability by responding to queries despite possible outdated data during partitions.
  3. Final Answer:

    A DNS system that always responds to queries even if some data is outdated. -> Option A
  4. Quick Check:

    Availability > Consistency example = DNS [OK]
Hint: Availability means always respond, even if data is stale [OK]
Common Mistakes:
  • Confusing locking with Availability
  • Thinking systems can avoid network partitions
  • Assuming consistency means always available
3. Consider a distributed database that chooses Consistency and Partition tolerance but sacrifices Availability during network failures. What happens when a network partition occurs?
medium
A. The system automatically heals the network partition.
B. The system continues to serve all requests with possibly stale data.
C. The system ignores partitions and may return inconsistent data.
D. The system refuses to respond to some requests to maintain data consistency.

Solution

  1. Step 1: Analyze system choice of Consistency and Partition tolerance

    Choosing Consistency and Partition tolerance means the system must maintain data correctness and handle network splits.
  2. Step 2: Understand impact on Availability

    To keep Consistency during partitions, the system sacrifices Availability by refusing some requests.
  3. Final Answer:

    The system refuses to respond to some requests to maintain data consistency. -> Option D
  4. Quick Check:

    Consistency + Partition tolerance = sacrifice Availability [OK]
Hint: Consistency + Partition tolerance means some requests denied [OK]
Common Mistakes:
  • Assuming system serves stale data when consistency chosen
  • Thinking partitions are automatically fixed
  • Confusing availability with consistency guarantees
4. A developer claims their distributed system guarantees Consistency, Availability, and Partition tolerance simultaneously. What is the most likely issue?
medium
A. The system uses eventual consistency correctly.
B. The system is ignoring network partitions or not truly distributed.
C. The system is using a single-node database.
D. The system is using a caching layer to improve performance.

Solution

  1. Step 1: Recall CAP theorem limitation

    CAP theorem states all three guarantees cannot be met simultaneously in a distributed system.
  2. Step 2: Identify why claim is incorrect

    If a system claims all three, it likely ignores partitions or is not truly distributed.
  3. Final Answer:

    The system is ignoring network partitions or not truly distributed. -> Option B
  4. Quick Check:

    All three guarantees impossible in distributed system [OK]
Hint: All three guarantees mean system is not truly distributed [OK]
Common Mistakes:
  • Believing eventual consistency means full consistency
  • Confusing caching with consistency guarantees
  • Ignoring network partitions in design
5. You are designing a global e-commerce platform that must remain available during network partitions but can tolerate some temporary inconsistency. According to CAP theorem, which two properties should you prioritize?
hard
A. Consistency and Partition tolerance
B. Consistency and Availability
C. Availability and Partition tolerance
D. Only Availability

Solution

  1. Step 1: Understand system requirements

    The platform must remain available during network partitions and can tolerate temporary inconsistency.
  2. Step 2: Match requirements to CAP properties

    Availability and Partition tolerance must be prioritized, sacrificing strict Consistency temporarily.
  3. Final Answer:

    Availability and Partition tolerance -> Option C
  4. Quick Check:

    Available + Partition tolerant = temporary inconsistency allowed [OK]
Hint: Availability + Partition tolerance means accept temporary inconsistency [OK]
Common Mistakes:
  • Choosing Consistency when availability is required
  • Ignoring partition tolerance in global systems
  • Assuming all three properties can be guaranteed