System design interview: Database Scaling