On Thu, Sep 11, 2014 at 07:17:42PM +0200, Andres Freund wrote:
> On 2014-09-11 13:04:43 -0400, Robert Haas wrote:
> > On Thu, Sep 11, 2014 at 12:58 PM, Andres Freund <andres@2ndquadrant.com> wrote:
> > > On 2014-09-11 12:55:21 -0400, Robert Haas wrote:
> > >> I advise supporting pglz only for the initial patch, and adding
> > >> support for the others later if it seems worthwhile. The approach
> > >> seems to work well enough with pglz that it's worth doing even if we
> > >> never add the other algorithms.
> > >
> > > That approach is fine with me. Note though that I am pretty strongly
> > > against adding support for more than one algorithm at the same time.
> >
> > What if one algorithm compresses better and the other algorithm uses
> > less CPU time?
>
> Then we make a choice for our users. A configuration option about an
> aspect of postgres that darned view people will understand with for the
> marginal differences between snappy and lz4 doesn't make sense.
>
> > I don't see a compelling need for an option if we get a new algorithm
> > that strictly dominates what we've already got in all parameters, and
> > it may well be that, as respects pglz, that's achievable. But ISTM
> > that it need not be true in general.
>
> If you look at the results lz4 is pretty much there. Sure, there's
> algorithms which have a much better compression - but the time overhead
> is so large it just doesn't make sense for full page compression.
>
> Greetings,
>
> Andres Freund
>
In addition, you can leverage the the presence of a higher-compression
version of lz4 (lz4hc) that can utilize the same decompression engine
that could possibly be applied to static tables as a REINDEX option
or even slowly growing tables that would benefit from the better
compression as well as the increased decompression speed available.
Regards,
Ken