Scott Carey wrote:
> Also, the amount of data at risk in a power loss varies between
> drives. For Intel's drives, its a small chunk of data ( < 256K). For
> some other drives, the cache can be over 30MB of outstanding writes.
> For some workloads this is acceptable
No, it isn't ever acceptable. You can expect the type of data loss you
get when a cache fails to honor write flush calls results in
catastrophic database corruption. It's not "I lost the last few
seconds"; it's "the database is corrupted and won't start" after a
crash. This is why we pound on this topic on this list. A SSD that
fails to honor flush requests is completely worthless for anything other
than toy databases. You can expect significant work to recover any
portion of your data after the first unexpected power loss under heavy
write load in this environment, during which you're down. We do
database corruption recovery at 2ndQuadrant; while I can't talk about
the details of some recent incidents, I am not speaking theoretically
when I warn about this.
Michael, I would suggest you read
http://www.postgresql.org/docs/current/static/wal-reliability.html and
link to it at the end of your article. You are recommending that people
consider a configuration that will result in their data being lost.
That can be acceptable, if for example your data is possible to recreate
from backups or the like. But people should be extremely clear that
trade-off is happening, and your blog post is not doing that yet. Part
of the reason for the bang per buck you're seeing here is that cheap
SSDs are cheating.
--
Greg Smith 2ndQuadrant US Baltimore, MD
PostgreSQL Training, Services and Support
greg@2ndQuadrant.com www.2ndQuadrant.us