| From: | Pierre Frédéric Caillaud <lists(at)peufeu(dot)com> |
|---|---|
| To: | "Greg Stark" <gsstark(at)mit(dot)edu>, "Sam Mason" <sam(at)samason(dot)me(dot)uk> |
| Cc: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: Table and Index compression |
| Date: | 2009-08-07 11:06:10 |
| Message-ID: | op.uyag4kzicke6l8@soyouz |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
> Also, I'm puzzled why it would the space increase would proportional
> to the amount of data and be more than 300 bytes. There's no reason it
> wouldn't be a small fixed amount. The ideal is you set aside one bit
> -- if the bit is set the rest is compressed and has to save at least
> one bit. If the bit is not set then the rest is uncompressed. Maximum
> bloat is 1-bit. In real systems it's more likely to be a byte or a
> word.
I'm working on cleaning the patch...
I added a field in PageHeader which contains :
- 0 to indicate a non-compressed page
- length of compressed data if compressed
If compression gains nothing (ie gains less than 4K), the page is stored
raw.
It seems that only pages having a PageHeader are handled by md.c, so it
should work (am I mistaken ?)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Sam Mason | 2009-08-07 11:48:27 | Re: Table and Index compression |
| Previous Message | Boszormenyi Zoltan | 2009-08-07 11:05:33 | Re: Split-up ECPG patches |