3

A lot of branded servers come with ECC RAM, but it is expensive.

For a database server or other critical servers, what would be the impact of not using ECC RAM?

Data corruption? (I suppose the database software should handle this already, right?) So why would I need ECC RAM?

xofer
  • 3,052
  • 12
  • 19
Howard
  • 2,005
  • 11
  • 47
  • 70
  • This has been discussed quite a lot already. See, for example: http://serverfault.com/questions/5887/what-is-ecc-ram-and-why-is-it-better – Kendall Dec 30 '11 at 16:35
  • unfortunately, these answers are simply wrong. Database's ACID does not require ECC RAM. – Howard Dec 30 '11 at 16:39
  • 2
    @Howard - However, a bit error on a cached data block can get written out to disk with that bit error, which then persists the bit error for all eternity. The DBMS may or may not have a checksum on individual blocks, but it doesn't calculate and store error correcting codes on the pages - at least none that I'm aware of do this. A bit error on an index block could be really dire. – ConcernedOfTunbridgeWells Dec 30 '11 at 18:42
  • For MySQL (InnoDB), a flipping bit causes a 16KB page checksum to be invalid. Because MySQL just dies encountering such errors in index or data, it will enter a restart loop, crashing again whenever the block is encountered again. You may start in a recovery mode and try to dump all data, hoping it was an index page, but it's risky because data may be corrupt. Put simply: A bit flip in InnoDB data means restore from backup. All of it. Happened to me last week - easy to replace slave DB. Non-ECC RAM is a very bad idea for databases, and a bad idea in general, also desktops with current sizes. – korkman Apr 23 '13 at 09:51

0 Answers0