GitHub - Blendwizard/system-design-postgresql

Summary

Assigned Task:

  • Implementing and optimizing a complete backend system for a user-facing E-commerce website.
  • The service must be able to withstand 200 requests-per-second with a <1% network error rate and <2000ms average response time.

Execution:

  • Leveraged PostgreSQL to serve as the primary database and optimize query times.
  • Created efficient data ETL pipeline to maximize time for scaling and optimization.
  • Implemented load tests to find potential bottlenecks prior to deployment.
  • Deployed to AWS and separated concerns for further testing and optimization
  • Implemented a load balancer and scaled horizontally to maximize service performance.
  • Stress tested service to ensure performance under load

Results:

  • Reduced worst-case query time from 3000-4000ms to 20-30ms.
  • Maintained <1% error rate on deployed servers
  • Deployed load balancing to increase load to a stable 1500 RPS with an average 71ms response time.