You would need to architect and design the solution. Don't start with solution in mind, but requirements in mind whence you arrive at a architecturally viable solution with least performance issues.

Thanks
Vijay S