Re: Why we lost Uber as a user

From: Alex Ignatov <a(dot)ignatov(at)postgrespro(dot)ru>
To: Vladimir Sitnikov <sitnikov(dot)vladimir(at)gmail(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Why we lost Uber as a user
Date: 2016-07-28 15:05:14
Message-ID: 2bc0218a-577c-6c12-b63c-9967b546c4fc@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 28.07.2016 17:53, Vladimir Sitnikov wrote:
>
>
> >> That's a recipe for runaway table bloat; VACUUM can't do much
> because
> >> there's always some minutes-old transaction hanging around (and
> SNAPSHOT
> >> TOO OLD doesn't really help, we're talking about minutes here), and
> >> because of all of the indexes HOT isn't effective.
>
>
> Just curious: what if PostgreSQL supported index that stores "primary
> key" (or unique key) instead of tids?
> Am I right that kind of index would not suffer from that bloat? I'm
> assuming the primary key is not updated, thus secondary indices build
> in that way should be much less prone to bloat when updates land to
> other columns (even if tid moves, its PK does not change, thus
> secondary index row could be reused).
>
> If that works, it could reduce index bloat, reduce the amount of WAL
> (less indices will need be updated). Of course it will make index scan
> a bit worse, however it looks like at least Uber is fine with that
> extra cost of index scan.
>
> Does it make sense to implement that kind of index as an access method?
>
> Vladimir

You mean IOT like Oracle have?

Alex Ignatov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Petr Jelinek 2016-07-28 15:20:06 Re: BRIN vs. HOT
Previous Message Aleksander Alekseev 2016-07-28 15:00:23 Re: [Patch] RBTree iteration interface improvement