Archicise
Exercise

Design an IoT Time-Series Database (MongoDB)

Design a MongoDB schema optimized for storing and querying IoT sensor data with time-series patterns.

Functional Requirements

  • Store readings from millions of IoT devices
  • Support various sensor types (temperature, humidity, motion, etc.)
  • Enable time-range queries and aggregations
  • Handle device metadata and configuration
  • Support real-time dashboards and historical analysis
  • Alert threshold configuration per device

Non-Functional Requirements

  • Ingest thousands of readings per second
  • Efficient storage for time-series data
  • Fast time-range queries with rollups
  • Data retention policies and archival

Questions to Consider

  • What document model optimizes for time-series data?
  • How do you balance write throughput vs query flexibility?
  • What bucketing strategy works best for your access patterns?
Your Solution

Time-Series Document Model

Design the time-series document structure. Consider bucketing strategies (per hour/day), pre-aggregation, and the trade-offs of bucket size.