views:

38

answers:

3

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 container or on standalone computer?

What pros and cons on this ways?

+1  A: 

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.

Cade Roux
+2  A: 

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 JEE container, one for the database server. This gives all the benefits explained by Cade Roux, with a single physical machine.

Bozho
it is better to put database layer and presention layer separately in two machine.
prakash.panjwani
the "application" is not "presentation layer", and they _are_ two machines..only virtual, not physical
Bozho
+2  A: 

All of the above posters suggestions are correct.

However, 3000 requests a day does not sound like much.

  1. How much of a budget do you have for hardware/software?
  2. How powerful is your machine?
  3. 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.

Larry Watanabe
We contaracted to use two server machines: 4 processors and 4gb ram on each. But as backup follower we going to add some machine that cat work instead of two master servers. And i think that with not much load, we can use one computer as master and second as backup follower.
Max
You might want to configure the machines so that you can use either 1 or the other, with seamless failover. That way you could use both machines in production, but you need to test the failover to ensure that if one machine fails, the other one kicks in without problems. Then you can use both in production. This also ensures that both systems work in production.
Larry Watanabe