Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: RAC versus simplistic load-balancing of replicated databases

Re: RAC versus simplistic load-balancing of replicated databases

From: Brian Peasland <oracle_dba_at_remove_spam.peasland.com>
Date: Tue, 3 Jun 2003 21:06:09 GMT
Message-ID: <3EDD0DC1.E25ABFAE@remove_spam.peasland.com>


> Q1) would scalability best be achieved by:
>
> A. Real Application Clustering, or
> B. Some sort of load balancing across multiple machines each running
> an independent copy of the database?
>
> (UPenn has an Oracle site license; otherwise we would be using MySQL
> or PostgreSQL. )

Scalability is probably best achieved by RAC. But I think that you need to hammer out more details before you go down that road. Are you sure that Oracle on a properly configured Unix server can't handle your load?

While UPenn has a site license, it may not cover web-based applications available to the general public. You might have to pay additional licensing fees to license Oracle on a per-processor basis. The exception is if you know who will be using your web site and you already have them covered by the named-user licensing model.

> Q2) What would be the best means of doing the replication in Q1.B
> above?

Oracle Replication is one method. But you indicated that this data would rarely be updated. So if you choose 1B, why not apply updates to two systems simultaneously?

> Q3) Regarding "some sort of load balancing", what are the options?
> Are there load balancers that can direct traffic based on CPU or IO
> loads? Or is round-robbin load balancing more practical?

You have a couple of options. One, you could get a network switch that would load balance in a round-robin fashion. Two, you could configure your SQL*Net clients to connect with load balancing.

> Q4) In general would you run the webserver instances on the database
> machines, or have the webservers run on separate machines?

In general, it all depends. On very high traffic systems, the application server would ideally sit on a separate machine. This is very important for firewalls too. Have the database server sit on one side of the firewall and the application server sit on another side of the firewall that is publically accessible. In a less than perfect world, which happens all of the time, the application server and the database server sit on the same machine.

> In either case, the load-balancing would essentially happen at the
> HTTP request level, since the webservers will keep database
> connections open. In the latter case (separate webservers), each
> webserver would effectively be wired to one database server, but if we
> put an additional load balancer in front of the database machines,
> that would at least allow all the webserver machines to obtain DB
> connections if one of the DB machines goes down. Is that correct?
> Some web/application servers might support software failure of DB
> connections also, I guess.
>
> Q5) Are there any other questions I should be asking?

Lots! What type of application? How many concurrent users are you expecting? What kind of data volumes? What application platform (JSP, ASP, etc.)? What kind of availability would be required? Have you thought about backup & recovery (or is that way down on the list)? This might be an opportunity for you to have a consultant spec out a solution which would match your requirements.

HTH,
Brian

-- 
===================================================================

Brian Peasland
oracle_dba_at_remove_spam.peasland.com

Remove the "remove_spam." from the email address to email me.


"I can give it to you cheap, quick, and good. Now pick two out of
 the three"
Received on Tue Jun 03 2003 - 16:06:09 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US