Re: [WIP]Vertical Clustered Index (columnar store extension) - take2

From: Jim Nasby <jnasby(at)upgrade(dot)com>
To: Tomas Vondra <tomas(at)vondra(dot)me>
Cc: "Aya Iwata (Fujitsu)" <iwata(dot)aya(at)fujitsu(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [WIP]Vertical Clustered Index (columnar store extension) - take2
Date: 2025-06-04 17:59:18
Message-ID: CAMFBP2puR3+6XAabFrHnGMoyRAngqvvRgdmFa+1Gj19_6TL=yA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, May 23, 2025 at 4:29 PM Tomas Vondra <tomas(at)vondra(dot)me> wrote:

> Also, Alvaro seemed to think TAM is the way to go, and in order to keep
> the OLTP performance he suggested to use both heap and VCI at the same
> time, in different "forks". I'm not sure how would that work, or if we
> can already do that - AFAIK we can't, because ForkNumber does not allow
> adding custom forks. We'd have to relax that, or invent some sort of
> federated TAM (that just multiplexes it to two TAMs). Maybe.
>
> But it's not like the IAM approach doesn't need to do this. The first
> patch had to add stuff to a lot of random places to make this work. And
> some of the places touch stuff that we don't expect indexes to worry
> about, like ALTER TABLE, etc.

I suspect another option would be to handle this with table inheritance:
have one child that is heap-based, a second that's VCI, and a background
job to move data from heap to VCI (and vice-versa for updates and maybe
deletes).

Note that you could actually implement all that in user-space. Personally
I'd much rather have a way to do pure VCI / column-store sooner and manage
it myself than have to wait another release (or more) to get a complete
solution...

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Florents Tselai 2025-06-04 18:03:03 Re: like pg_shmem_allocations, but fine-grained for DSM registry ?
Previous Message Masahiko Sawada 2025-06-04 17:46:02 Re: Fix slot synchronization with two_phase decoding enabled