[100% agree with Chris]

China, the machines you're describing sound nice for mongodb/postgres/mysql, but probably not the sweetspot for Cassandra.

Obviously (well depending on near term load) you don't want to get burned on excess footprint. But a realistic, don't lose data, be fairly available deployment is going to span at least 2 racks/power supplies and have data replicated offsite (at least as passive for DR). So I would consider 6-9 relatively weaker servers rather than 3 scale up joints. You'll save some capex, and the amount of opex overhead is probably worth it traded off against the operational risk. 3 is an awkward number to operate for anything that needs to be available (although many people seem to start with that, I am guessing because triplication is traditionally understood under failure) as it immediately puts 50% extra load on the remaining 2 when one node goes away. One will go away, even transiently, when it is upgraded, crashes, gets into a funk due to compaction or garbage collection, and load will then be shunted onto the other 2 - remember Cassandra has no backoff/throttling in place. I'd allow for something breaking at some point (dbs even the mature ones, fail from time to time) and 2 doesn't give you much room to maneuver in production.

Bill


On 03/09/11 23:05, Chris Goffinet wrote:
It will also depend on how long you can handle recovery time. So imagine
this case:

3 nodes w/ RF of 3
Each node has 30TB of space used (you never want to fill up entire node).
If one node fails and you must recover, that will take over 3.6 days in
just transferring data alone. That's with a sustained 800megabit/s
(100MB/s). In the real world it's going to fluctuate so add some
padding. Also, since you will be saturating one of the other nodes, now
you're network latency performance is suffering and you only have 1
machine to handle the remaining traffic while you're recovering. And if
you want to expand the cluster in the future (more nodes), the amount of
data to transfer is going to be very large and most likely days to add
machines. From my experience it's must better to have a larger cluster
setup upfront for future growth than getting by with 6-12 nodes at the
start. You will feel less pain, easier to manage node failures (bad
disks, mem, etc).

3 nodes with RF of 1 wouldn't make sense.


On Sat, Sep 3, 2011 at 4:05 AM, China Stoffen <chinastof...@yahoo.com
<mailto:chinastof...@yahoo.com>> wrote:

    Many small servers would drive up the hosting cost way too high so
    want to avoid this solution if we can.

    ----- Original Message -----
    From: Radim Kolar <h...@sendmail.cz <mailto:h...@sendmail.cz>>
    To: user@cassandra.apache.org <mailto:user@cassandra.apache.org>
    Cc:
    Sent: Saturday, September 3, 2011 9:37 AM
    Subject: Re: commodity server spec

    many smaller servers way better



Reply via email to