Before I start I should say that 50k records a day is not a lot (a previous system took 250m records a day) so a global system is quite straight forward. Advantages and disadvantages of your options are:
Lots of separate local databases:- Pros
- Users feel in control of their data (though if you're the one looking after lots of separate databases, each subtly different, then you'll probably feel out of control).
- Faster response times
- Databases can be altered to add features useful to that locality
- Cons
- Difficult to produce global reporting
- Much more code to maintain
- Each system may be running different versions of your application which makes it more difficult to maintain and support
- Expensive as you'll need more servers, more software (ie multiple database licences) and more staff to maintain the systems.
Separate databases with additional global database:- Pros
- As above but you can now do the global reporting
- Cons
- All the above cons but it now needs even more code and yet another database.
Global database to service all users:- Pros
- Global reporting is easy
- Easier to maintain as just one set of code with no different versions
- Cheaper as less hardware (servers), fewer database licenses required and fewer people required to keep it running
- Everyone is on the same version
- If you add a new report or screen then it will be a benifit everyone immediately rather than need re-implementing on all local systems.
- No installing of software to set up a new group
- Cons
- If it's a truely global system then it will be used 24 hours a day with little downtime
- You have to be a bit more carefull with backups (perhaps providing a warm standby) as a loss of a single database will now stop everyone
- You have to be carefull that users can only see the data they are permitted to see
- Users may feel their data belongs to someone else rather than to them
Others will probably come up with lots more opinions but personaly I'd go for the global system any day. If you can provide a web interface then life gets very easy and users can access their data from anywhere.
Mike