Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hFhtp-00022W-MY for pgsql-hackers@arkaria.postgresql.org; Sun, 14 Apr 2019 16:22:34 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hFhtn-00047p-AR for pgsql-hackers@arkaria.postgresql.org; Sun, 14 Apr 2019 16:22:31 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hFhtm-00047i-V3 for pgsql-hackers@lists.postgresql.org; Sun, 14 Apr 2019 16:22:31 +0000 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hFhtj-0000Pd-UC for pgsql-hackers@postgresql.org; Sun, 14 Apr 2019 16:22:30 +0000 Received: by mail-wr1-x42b.google.com with SMTP id y13so18601205wrd.3 for ; Sun, 14 Apr 2019 09:22:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=ncMiK4+j2O5FiJeXIeHWbjKRKGmI1dg/+SeWlEFAEPs=; b=bVHXUmVDmc0IgKsntf//9Z4CIff68Gt2nfZ3bVwGBH7g0trg3MfonZQJOxr3daYtyp n68esArPGo4Uep0HjzFmCQR12BTwPXFPtLFydM9m34J0Vmzsp6r+rxUQSPvqZb9MQ/5t aMkmtArmFg3U2jbcG8MJgIe1Q8G1321gRBd2UvqHrZMl3PpWmkIYUgvJWcma6Dkvj8N2 4c0XD/rKp/B5mltUtqzs1MMUU923ZiJaoTuTPZIsVkr1sV1PWsMl80O/+3J2IIy993u8 UPCOphw9yHlThyFS4VvvfrEQZYmr+0ftwAFQTX3IKcCFz/uczMre2ABUl02dYwVxEyz6 ybNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=ncMiK4+j2O5FiJeXIeHWbjKRKGmI1dg/+SeWlEFAEPs=; b=KOqkORqi1hRx8yYViTkyqeFA3TrUaPgc+b3uz3OquqpwLkAJ4CLNDci6v5ifiMi26f LOptEniDjbcl/iyurbBXqtr9Txd+RRLZEdlKSN0UI89RxxGOWwSiUPb3JJdtTMQ4JTjN liuDNrYDqrbySPXGD5fFbG2ZWbCuDkJ2yXuD2U7JWzqb4YVpK9B68UudJLhlfYt2txw2 XEGADSZPURoMfoJe4rSHIkfmWsxjDcAZV8wdRbc005QUTNctMgihNQX+sven6ycQ+WkG iu52JBS7XHvnGDGw+N/64xLrf5D1KqBOJhND1EAs3W2aMCtrwVRC/RUAe9adalxzWPgS LjTQ== X-Gm-Message-State: APjAAAXwarca571Y3STAW/b7jBbjJIaG6O8CCjU6S3cru6QYl2A7h8JZ XijskSQ7W2GwIwkfQfY/m8VTvg== X-Google-Smtp-Source: APXvYqwgIxJGU6Gd+/paMmMLCDuOSQyzWnMFVY5b6O4F1rY3dNCXkTZrT82UDY1AUmW1QZbG/eeo4Q== X-Received: by 2002:adf:eac9:: with SMTP id o9mr42129806wrn.85.1555258945454; Sun, 14 Apr 2019 09:22:25 -0700 (PDT) Received: from localhost (ip-86-49-243-43.net.upcbroadband.cz. [86.49.243.43]) by smtp.gmail.com with ESMTPSA id v16sm95479994wro.48.2019.04.14.09.22.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 14 Apr 2019 09:22:12 -0700 (PDT) Date: Sun, 14 Apr 2019 18:22:10 +0200 From: Tomas Vondra To: Robert Haas Cc: Alvaro Herrera , Konstantin Knizhnik , Ashwin Agrawal , PostgreSQL mailing lists Subject: Re: Zedstore - compressed in-core columnar storage Message-ID: <20190414162210.6djspkmbspbd4els@development> References: <20190409155121.GA4320@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20180716-1444-295967 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On Tue, Apr 09, 2019 at 02:29:09PM -0400, Robert Haas wrote: >On Tue, Apr 9, 2019 at 11:51 AM Alvaro Herrera wrote: >> This is not surprising, considering that columnar store is precisely the >> reason for starting the work on table AMs. >> >> We should certainly look into integrating some sort of columnar storage >> in mainline. Not sure which of zedstore or VOPS is the best candidate, >> or maybe we'll have some other proposal. My feeling is that having more >> than one is not useful; if there are optimizations to one that can be >> borrowed from the other, let's do that instead of duplicating effort. > >I think that conclusion may be premature. There seem to be a bunch of >different ways of doing columnar storage, so I don't know how we can >be sure that one size will fit all, or that the first thing we accept >will be the best thing. > >Of course, we probably do not want to accept a ton of storage manager >implementations is core. I think if people propose implementations >that are poor quality, or missing important features, or don't have >significantly different use cases from the ones we've already got, >it's reasonable to reject those. But I wouldn't be prepared to say >that if we have two significantly different column store that are both >awesome code with a complete feature set and significantly disjoint >use cases, we should reject the second one just because it is also a >column store. I think that won't get out of control because few >people will be able to produce really high-quality implementations. > >This stuff is hard, which I think is also why we only have 6.5 index >AMs in core after many, many years. And our standards have gone up >over the years - not all of those would pass muster if they were >proposed today. > It's not clear to me whether you're arguing for not having any such implementation in core, or having multiple ones? I think we should aim to have at least one in-core implementation, even if it's not the best possible one for all sizes. It's not like our rowstore is the best possible implementation for all cases either. I think having a colstore in core is important not just for adoption, but also for testing and development of the executor / planner bits. If we have multiple candidates with sufficient code quality, then we may consider including both. I don't think it's very likely to happen in the same release, considering how much work it will require. And I have no idea if zedstore or VOPS are / will be the only candidates - it's way too early at this point. FWIW I personally plan to focus primarily on the features that aim to be included in core, and that applies to colstores too. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services