If you cover stuff like this in your book, I'll definitely buy it.   :)

Ok, last question on this subject, I promise! Why not use InnoDB and
replication? I was looking through the manual expecting to find a line that
says "replication is only available with MyISAM tables" -- but I can't find
it anywhere. It seems like this combination would be the best of both
worlds. Am I missing something?

Thanks,
--jeff

----- Original Message -----
From: "Jeremy Zawodny" <[EMAIL PROTECTED]>
To: "Jeff Kilbride" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Saturday, March 02, 2002 8:29 PM
Subject: Re: Re-baselining replication slaves?


> On Fri, Mar 01, 2002 at 02:41:03PM -0800, Jeff Kilbride wrote:
> >
> > Does replication hurt MyISAM performance in the same way? If I'm
> > running a master that takes all the inserts and one or more slaves
> > to take all the select queries, would it be better implemented in
> > MyISAM or InnoDB?
>
> It depends. :-)
>
> > I don't need the transaction ability of InnoDB, but if concurrent
> > replication affects MyISAM performance in the same way as concurrent
> > insert/select ops, it makes me wonder which table type I should use
> > on my high insert activity tables. My assumption was MyISAM, but I'm
> > not so sure now...
>
> It'll partly depend on the total number of reads you needed to
> do--divided by the number of slaves available for the reads.  Let's
> assume that you need to do 500 queries per second and 50% of them are
> reads, 50% are writes.  Let's further assume that this is simply too
> much for a single machine to handle because of MyISAM's poor
> concurrency.
>
> One option is to simply switch to InnoDB and take advantage of the
> higher concurrency it offers.  This should work quite well in many
> cases, but if your traffic needs to grow over time, you'll eventually
> hit a bottleneck and need to throw more [expensive] hardware at the
> problem.
>
> Another option is to use replication and stick will MyISAM.  The
> master can handle the 250 queries/sec of writes.  Then you can add a
> few slaves (2 or 3) and distribute the load equally among them (using
> DNS round robin, LVS, or a load-balancer from Foundry, Cisco, Alteon,
> etc).  Then each slave only needs to handle a fraction of the read
> queries and all the write queries, of course.  The advantage here is
> that you have a more scalable architecture.  If things get too slow
> you can choose between adding more machines, moving to InnoDB, or
> both.
>
> In my group at Yahoo Finance, we're currently doing MyISAM with
> multiple slaves.  We needed the slaves anyway in case the master dies
> and because we wanted copies of the data several thousand miles away.
> But we'll be using InnoDB soon as well, so it'll be interesting to see
> how things behave.
>
> Ugh, this is a really good question that I don't answer anywhere in my
> book yet.  I'll have to add a spot.  Maybe in the replication
> section.  Or the "table types" section.  Or both.  Hmm.
>
> Thanks,
>
> Jeremy
> --
> Jeremy D. Zawodny, <[EMAIL PROTECTED]>
> Technical Yahoo - Yahoo Finance
> Desk: (408) 349-7878   Fax: (408) 349-5454   Cell: (408) 685-5936
>
> MySQL 3.23.47-max: up 23 days, processed 766,998,461 queries (376/sec.
avg)
>


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to