I was wondering whether what should be a better approach. I am having an application, which is working on WAMP (WINDOWS, APACHE, MYSQL, PHP) stack.
Now there are increasing amounts of reports being generated and discussed. What approach should I be going for. There are two I can think of.
- Put the all reporting on the same production server. Personnel entering the details on production server will be using the same server as the personnel querying the Reports.
- Another option is to use two seperate servers. One for Production, and one for Reports. For the Personnel asking the live, up to date data, the data could be made synced every hour / 2 hours / 4 hours in a day.
Now with Approach one, there will be a performance hit degradation observed as all the reporting number crunching will be performed on one server
While with the approach two, the Production server will be only serving Transactions, and the reporting personnel will be querying Reporting server. The only thing we might have to worry is the data has to be in sync when the reporting process starts.
Off course, the IP / URI / URL will be made transparent to the user, whether or not, s/he is querying the production server or the reporting server.
Is there any better approach? Any other idea.?