Re: Burst in WAL size when UUID is used as PK while full_page_writes are enabled

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: sanyam jain <sanyamjain22(at)live(dot)in>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Burst in WAL size when UUID is used as PK while full_page_writes are enabled
Date: 2017-10-27 12:06:53
Message-ID: 20171027120653.5tcqw3dnu7s3gfd5@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Amit Kapila wrote:

> You might want to give a try with the hash index if you are planning
> to use PG10 and your queries involve equality operations.

So, btree indexes on monotonically increasing sequences don't write tons
of full page writes because typically the same page is touched many
times by insertions on each checkpoint cycle; so only one or very few
full page writes are generated for a limited number of index pages.

With UUID you lose locality of access: each insert goes to a different
btree page, so you generate tons of full page writes because the number
of modified index pages is very large.

With hash on monotonically increasing keys, my guess is that you get
behavior similar to btrees on UUID: the inserts are all over the place
in the index, so tons of full page writes. Am I wrong?

With hash on UUID, the same thing should happen. Am I wrong?

--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Kellerer 2017-10-27 12:16:12 Re: Burst in WAL size when UUID is used as PK while full_page_writes are enabled
Previous Message Amit Kapila 2017-10-27 11:54:09 Re: Burst in WAL size when UUID is used as PK while full_page_writes are enabled