Re: Zedstore - compressed in-core columnar storage

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: Zedstore - compressed in-core columnar storage
Дата
Msg-id 7ab5be5f-6404-b52b-e6bf-c1c891ceabb1@iki.fi
обсуждение исходный текст
Ответ на Re: Zedstore - compressed in-core columnar storage  (Amit Kapila <amit.kapila16@gmail.com>)
Ответы Re: Zedstore - compressed in-core columnar storage  (Konstantin Knizhnik <k.knizhnik@postgrespro.ru>)
Re: Zedstore - compressed in-core columnar storage  (Amit Kapila <amit.kapila16@gmail.com>)
Список pgsql-hackers
On 10/04/2019 09:29, Amit Kapila wrote:
> On Tue, Apr 9, 2019 at 5:57 AM Ashwin Agrawal <aagrawal@pivotal.io> wrote:
>> Row store
>> ---------
>>
>> The tuples are stored one after another, sorted by TID. For each
>> tuple, we store its 48-bit TID, a undo record pointer, and the actual
>> tuple data uncompressed.
>>
> 
> Storing undo record pointer with each tuple can take quite a lot of
> space in cases where you can't compress them.

Yeah. This does depend on compression to eliminate the unused fields 
quite heavily at the moment. But you could have a flag in the header to 
indicate "no undo pointer needed", and just leave it out, when it's needed.

> Have you thought how will you implement the multi-locker scheme in
> this design?  In zheap, we have used undo for the same and it is easy
> to imagine when you have separate transaction slots for each
> transaction.  I am not sure how will you implement the same here.
I've been thinking that the undo record would store all the XIDs 
involved. So if there are multiple lockers, the UNDO record would store 
a list of XIDs. Alternatively, I suppose you could store multiple UNDO 
pointers for the same tuple.

- Heikki



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Julien Rouhaud
Дата:
Сообщение: Re: [survey] New "Stable" QueryId based on normalized query text
Следующее
От: Konstantin Knizhnik
Дата:
Сообщение: Re: Zedstore - compressed in-core columnar storage