Hard

Design Bigtable System Design Interview

Design a distributed wide-column NoSQL store.

1. Problem Statement

Design a system like Google Bigtable or Apache HBase. It needs to store petabytes of structured data across thousands of commodity servers.

2. Architecture Discussion Map

Use this as one discussion aid, not a single correct answer. Your design should follow from the requirements, scale, and trade-offs you establish.

Rendering architecture diagram...
Mermaid Source (For AI Bots)
graph TD
    A[Client] --> B(Chubby Lock Service)
    B --> C[Master Node]
    C --> D[Tablet Server 1]
    C --> E[Tablet Server 2]
    D --> F[(MemTable - RAM)]
    F -.->|Flush & Compaction| G[(SSTable / GFS)]
    D --> H[(Write-Ahead Log)]

3. Key Focus Areas

  • 1
    LSM Trees (MemTable, SSTable)
  • 2
    Tablet/Region Splitting
  • 3
    Master/Worker Architecture (GFD/HDFS underbelly)
  • 4
    Bloom Filters
  • 5
    Compaction Strategies

Want interactive feedback?

Practice drawing this system component-by-component on a live whiteboard while the interviewer probes at your target level.

Continue to Dashboard

Core Concepts

System DesignDatabase InternalsStorage Engines

Continue preparing

Build a complete software engineer mock interview plan

Prepare by company

Related System Design

Design a Cross-Product Tagging System

Design a shared tagging service that lets users apply tags to entities across multiple Atlassian products, with consistent search and deduplication.

Related System Design

Design a Notification System

Design a scalable notification service that sends emails, SMS, and push notifications to millions of users.