Archicise
Exercise

Design a Multi-Tenant SaaS Database (DynamoDB)

Design a DynamoDB schema for a multi-tenant SaaS application with strong tenant isolation and varying usage patterns.

Functional Requirements

  • Complete data isolation between tenants
  • Support for tenant-specific configurations
  • User management within each tenant
  • Resource quotas and usage tracking
  • Audit logging of all operations
  • Cross-tenant admin operations (for platform admins)

Non-Functional Requirements

  • Consistent performance regardless of tenant size
  • Scale from small to enterprise tenants
  • Cost attribution per tenant
  • Support thousands of tenants

Questions to Consider

  • How do you ensure tenant isolation at the data model level?
  • What partition strategy prevents noisy neighbor problems?
  • How do you handle tenants with vastly different data volumes?
Your Solution

Tenant Isolation Strategy

Design the tenant isolation approach. Compare partition-based isolation vs table-per-tenant, considering security, performance, and operational complexity.