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

I think it is a good idea to architect your system under the assumption that once a year, some theif is going to sneak into the data center and make off with an entire server. Just one, but the whole server will then die horribly in a fire after a shoot-out with the police.

Lots of things can happen, you should have a higher level of replication such that you can handle a whole server going poof, not just a single bit going poof.

The cost of ECC at Hetzner-- the cheapest provider out there- is about half an additional server. So, buy three servers without ECC for the price of two servers with ECC, and replicate your data three times (and triple your bandwidth, horsepower, etc.)

This is not hard with platforms like Riak which are distributed homogenous clusters of nodes.

And if your service isn't built like that, then really it should be. (IMNSHO, of course.)



Replication isn't going to help if your data is being silently corrupted, you'll just replicate the corruption.


ECC Does nothing to prevent your server from dying in a fire after that police chase, either. However, replication is an effective solution to the problem you describe:

Whenever data is read, you read from more than one replica, and then compare them. If one of them has been corrupted, its hash won't match and you'll know it. You can then write out the correct data to the node with the error. This is very easy in systems like Riak.




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

Search: