Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1Vsgyw-0004yt-81 for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Dec 2013 22:49:46 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1Vsgyv-0004Vj-NE for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Dec 2013 22:49:45 +0000 Received: from makus.postgresql.org ([2001:4800:7903:4::125]) by malur.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1Vsgyt-0004SF-4g for pgsql-hackers@postgresql.org; Mon, 16 Dec 2013 22:49:43 +0000 Received: from smtp-outbound-1.vmware.com ([208.91.2.12]) by makus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1Vsgyo-0003Kw-RW for pgsql-hackers@postgresql.org; Mon, 16 Dec 2013 22:49:41 +0000 Received: from sc9-mailhost2.vmware.com (sc9-mailhost2.vmware.com [10.113.161.72]) by smtp-outbound-1.vmware.com (Postfix) with ESMTP id 86D0198053; Mon, 16 Dec 2013 14:49:37 -0800 (PST) Received: from zcs-prod-ext-mta-1.vmware.com (zcs-prod-ext-mta-1.vmware.com [10.113.62.223]) by sc9-mailhost2.vmware.com (Postfix) with ESMTP id 8341DB0107; Mon, 16 Dec 2013 14:49:37 -0800 (PST) Received: from zcs-prod-ext-mta-1.vmware.com (localhost.localdomain [127.0.0.1]) by zcs-prod-ext-mta-1.vmware.com (Postfix) with ESMTP id 2FB6E12002F; Mon, 16 Dec 2013 14:50:19 -0800 (PST) Received: from [192.168.1.90] (zimbra-prod-ext-proxy-vip.vmware.com [10.113.63.87]) by zcs-prod-ext-mta-1.vmware.com (Postfix) with ESMTPSA; Mon, 16 Dec 2013 14:50:16 -0800 (PST) Message-ID: <52AF837C.3040201@vmware.com> Date: Tue, 17 Dec 2013 00:49:32 +0200 From: Heikki Linnakangas Organization: VMware User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131005 Icedove/17.0.9 MIME-Version: 1.0 To: Alexander Korotkov CC: Alvaro Herrera , Tomas Vondra , pgsql-hackers Subject: Re: GIN improvements part 1: additional information References: <52548F79.6030407@fuzzy.cz> <52569635.5090808@vmware.com> <527A03AF.9010501@vmware.com> <20131106153604.GM5809@eldon.alvh.no-ip.org> <528CEB34.7080702@vmware.com> <52950F46.2080009@vmware.com> <5298615C.7060102@vmware.com> <5298E834.4090408@vmware.com> <52A58AD5.6030808@vmware.com> <52A62771.3070800@vmware.com> <52AEE445.1060206@vmware.com> In-Reply-To: Content-Type: multipart/mixed; boundary="------------080001080008040706080905" X-Pg-Spam-Score: -7.4 (-------) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org This is a multi-part message in MIME format. --------------080001080008040706080905 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 12/17/2013 12:22 AM, Alexander Korotkov wrote: > On Mon, Dec 16, 2013 at 3:30 PM, Heikki Linnakangas > wrote: > >> On 12/12/2013 06:44 PM, Alexander Korotkov wrote: >> >> When values are packed into small groups, we have to either insert >>> inefficiently encoded value or re-encode whole right part of values. >> >> It would probably be simplest to store newly inserted items uncompressed, >> in a separate area in the page. For example, grow the list of uncompressed >> items downwards from pg_upper, and the compressed items upwards from >> pg_lower. When the page fills up, re-encode the whole page. I hacked together an implementation of a variant of Simple9, to see how it performs. Insertions are handled per the above scheme. In a limited pg_trgm test case I've been using a lot for this, this reduces the index size about 20%, compared to varbyte encoding. It might be possible to squeeze it a bit more, I handcrafted the "selectors" in the encoding algorithm to suite our needs, but I don't actually have a good idea of how to choose them optimally. Also, the encoding can encode 0 values, but we never need to do that, so you could take advantage of that to pack items tighter. Compression and decompression speed seems to be about the same. Patch attached if you want to play with it. WAL replay is still broken, and there are probably bugs. > Good idea. But: > 1) We'll still need item indexes in the end of page for fast scan. Sure. > 2) Storage would be easily extendable to hold additional information as > well. > Better compression shouldn't block more serious improvements. I'm not sure I agree with that. For all the cases where you don't care about additional information - which covers all existing users for example - reducing disk size is pretty important. How are you planning to store the additional information, and how does using another encoding gets in the way of that? - Heikki --------------080001080008040706080905 Content-Type: application/x-gzip; name="gin-packed-postinglists-simple9-1.patch.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="gin-packed-postinglists-simple9-1.patch.gz" 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 CHnx/j/CIZ2u07EBAA== --------------080001080008040706080905 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers --------------080001080008040706080905--