Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Half the memory, with ECC. Since 16GB is pretty sufficient for my needs, I think I'd use the extra 16GB for pure caching. (Riak has an in memory mode so you can run two backends- one backed by disk and one not backed. Using the in RAM one gives you a distributed cache over a bunch of machines. If you keep 2 copies and you have 4 machines, that each have 16GB dedicated to this in memory backend, that gives you a 32GB of distributed cache where any item in the cache is at most one hop away.)

I recently tried to research what ECC means operationally (I'm not really an operations guy.) Is ECC good for correcting bits flipped by cosmic rays? Or is it going to tell you that memory is failing? I've never, in the past 20 years, had memory fail on me over time.

Also, I'm not going to be running a single server such that if a server goes down my service goes offline.

I'm running a Riak cluster, of at least 3 nodes, maybe 4 to start. If any server goes down, the service stays online.

My software architecture is, near as I understand it, well suited to commodity hardware.

The 10 euros extra per month, on 4 servers is 40 euros, which is nearly enough for an extra server.

So, wouldn't it be better to have 5 commodity servers than 4 servers with ECC?

I wouldn't know what to do if I started getting ECC errors anyway (I know, I'm stupid, but we're a startup, no budget to hire an ops person.) I'd probably just ask them to give me a new machine.



Cosmic rays, and it's more common than you think: http://www.quora.com/Is-ECC-error-correcting-code-RAM-worth-...


ECC corrects single bit errors and detects multi-bit errors.

Why should you care? Well, if you are lucky, the machine crashes. If you are unlucky, it keeps running, and that bad data gets written to disk, or causes a cumulative error in some calculation, and you never know about it.

With the size of memories these days, chances of a corrupted memory are not exactly a rare occurrence.

I don't know enough about Riak, but a cluster is only going to help if key data structures are themselves checked for consistency across the cluster.


The question is: how does the size of memory affect the probability of a bit that matters to get corrupted? Who cares if one character somewhere among millions of product reviews or comments gets corrupted?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: