We have project with a server witch have about 3000 requests at day from client. 30-40 on-line users. And smth about 30-40Gb data increase per year. And system should be on-line 24x7.
Where can we locate the SQL server better? On one computer with JavaEE c开发者_StackOverflow社区ontainer or on standalone computer?
What pros and cons on this ways?
Of course, as Cade Roux explained, it's always better to put them on separate servers (in case they connected via LAN (and not Internet)).
If, however, your budget isn't enough for two machines, or you already have a powerfull machine, you can use virtualization. Make 2 virtual machines, one for the Java EE container, one for the database server. This gives all the benefits explained by Cade Roux, with a single physical machine.
All of the above posters suggestions are correct.
However, 3000 requests a day does not sound like much.
- How much of a budget do you have for hardware/software?
- How powerful is your machine?
- Have you run some performance analysis with simulated load tests with both running on the same machine?
Of course, if you can have a separate server for each, it is much better for the reasons specified above. If not, and your machine is adequate to run both, you can achieve some of the advantages of separate machines by running a VM, but if your hardware crashes or OS crashes, the VM won't buy you anything.
Typically, application server components are not installed on database servers. In addition, your 24x7 requirements probably dictate that you not put both the application layer and the database services on the same machine so that you can separate the database layer to be able to implement some kind of clustering or other high availability solution at the database layer and a similar load balancing or whatever at the application services layer.
As far as volume, on the face of it, it doesn't seem that it would be too much for one machine to handle, but you really haven't given enough detail.
精彩评论