Clustering in general has two purposes... load distribution and failover
capabilities.  Both of these factor into scalability, load distribution
moreso obviously.

In our environment, we have a 3-node Oracle cluster in production.  We
have seen efficiency gains across the board in terms of query speeds
because three users can, theoretically at least, execute a query
simultaneously more efficiently when they in essence have a server to
themselves.  Of course this is idealized and rarely happens in reality,
but I'm talking theory here :)

The other side of that of course is what happens when a write a occurs...
the data has to be synchronized, which takes resources and degrades some
of the load distribution benefits.  So, it is largely a question of how
the database is used... if there are more reads than writes, a cluster
should nearly always be more efficient (assuming the load distribution
mechanism is actually doing it's job properly) than a single box.  The
larger the delta between reads and writes in favor of reads, the larger
will be the benefit.

All of this figures in to how well the app, in terms of the database, will
scale.  Let's say we're talking a relatively steady 70-30 distribution of
reads to writes, which isn't unusual in most apps I've seen.  Again,
idealizing the situation, you can handle more traffic in a 3-node cluster
than a single server, assuming reasonably similar hardware of course
(i.e., compare an 8-way box to three single CPU boxes and the single
server likely will fair better) just because the load can be distributed. 
That bodes well for scalability.

-- 
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com

On Tue, July 26, 2005 10:13 am, Derek Broughton said:
> Leon Rosenberg wrote:
>
>>> Von: Michael Jouravlev [mailto:[EMAIL PROTECTED]
>>>
>>> On 7/25/05, Leon Rosenberg <[EMAIL PROTECTED]> wrote:
>>> > I think the problem is rather that none of the dbs scales.
>>> > To scale you need something in front of db in the business layer
>>> > (middleware), so it's no difference whether you use ibatis or sql.
>>> > Could be nasty with hibernate though, at least you need to turn off
>>> > the lazy loading...
>
> Surely that's entirely dependent on the type of transactions you're doing.
> I would expect lazy loading to help with scalability in some cases.
>>>
>>> I thought that database clusters exist before J2EE clusters
>>> ;) And I believe that former are more robust than latter too.
>>
>> Database clusters exists, true. But who tells you that they scale???
>>
>> Actually I has often seen projects, where the architect told, if we will
>> have scalability problems, we will cluster the db.
>> Then, the day X came, they clustered the db and then... surprise,
>> surprise
>> it became even slower...
>>
>> I think the sentence "clustering will help you scaling" is an urban myth
>> :-)
>
> It's hard to see where clustering is ever going to be more efficient than
> a
> single multi-cpu machine of the same capacity.  The cluster only helps
> when
> you get into realms beyond the reach of a single machine, and generally
> where that machine is cpu-bound.  Clusters have their place, but I'm still
> not sure it's in DBs.
> --
> derek
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to