How would you design a scalable database for an e-commerce site?

System Design
Hard
Flipkart
95.1K views

A system design question asking candidates to propose architecture for handling high traffic and data volume typical of platforms like Flipkart.

Why Interviewers Ask This

This tests the candidate's ability to handle real-world constraints like scalability, availability, and consistency. Interviewers evaluate knowledge of database sharding, replication, caching strategies, and trade-offs between different architectural patterns. It reveals if the candidate can think beyond simple CRUD operations to enterprise-level solutions.

How to Answer This Question

Start by clarifying requirements like read/write ratios and expected user load. Propose a high-level schema, then discuss horizontal scaling techniques like sharding based on user ID or category. Mention caching layers (Redis) for frequent reads and eventual consistency models where appropriate for inventory management.

Key Points to Cover

  • Define scale requirements
  • Propose sharding strategy
  • Include caching mechanisms

Sample Answer

For an e-commerce platform, I would start with a relational database for transactional integrity but implement sharding by user ID to distribute load. I would introduce a Redis cache layer to handle hot products and reduce database hits. For write-heavy operations like order placement, I would use asynchronous queues to decouple processing and ensure the system remains responsive during peak sales events.

Common Mistakes to Avoid

  • Ignoring read vs write balance
  • Overlooking failure scenarios
  • Choosing monolithic architecture blindly

Practice This Question with AI

Answer this question orally or via text and get instant AI-powered feedback on your response quality, structure, and delivery.

Start Practicing

Related Interview Questions

Browse all 158 System Design questionsBrowse all 52 Flipkart questions