How would you design for scalability and performance using load balancing, caching strategies, and database sharding at Persistent Systems?