On Aug 10, 2010, at 11:38 AM, Karl Denninger wrote:
Depends on your tablespace setup and schema usage pattern. If: * 90% of your data tables are partitioned by date, and untouched a week after insert. Partitions are backed up incrementally. * The remaining 10% of it is backed up daily, and of that 9% can be re-generated from data elsewhere if data is lost. * System catalog and wal are on 'safest of safe' hardware. Then your 'bulk' data on a slave can be on less than flawless hardware. Simply restore the tables from the last week from the master or backup when the (rare) power failure occurs. The remaining data is safe, since it is not written to. Split up your 10% of non-date partitioned data into what needs to be on safe hardware and what does not (maybe some indexes, etc). Most of the time, the incremental cost of getting a BBU is too small to not do it, so the above hardly applies. But if you have data that is known to be read-only, you can do many unconventional things with it safely.
Anyone going with something unconventional better know what they are doing and not just blindly plug it in and think everything will be OK. I'd never recommend unconventional setups for a user that wasn't an expert and understood the tradeoff.
Been there with 10TB with hardware that should have been perfectly safe. 5 days of copying, and wishing that pg_dump supported lzo compression so that the dump portion had a chance at keeping up with the much faster restore portion with some level of compression on to save the copy bandwidth.
|