SP-GiST confusing introductory paragraph

From: PG Doc comments form <noreply(at)postgresql(dot)org>
To: pgsql-docs(at)lists(dot)postgresql(dot)org
Cc: machty(at)gmail(dot)com
Subject: SP-GiST confusing introductory paragraph
Date: 2023-10-16 01:58:46
Message-ID: 169742152620.169914.10779838715602285062@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/16/spgist-intro.html
Description:

I'm confused by this paragraph:

> These popular data structures were originally developed for in-memory
usage. In main memory, they are usually designed as a set of dynamically
allocated nodes linked by pointers. This is not suitable for direct storing
on disk, since these chains of pointers can be rather long which would
require too many disk accesses. In contrast, disk-based data structures
should have a high fanout to minimize I/O. The challenge addressed by
SP-GiST is to map search tree nodes to disk pages in such a way that a
search need access only a few disk pages, even if it traverses many nodes.

In particular, "These popular datastructures" is ambiguous -- based on how
the previous paragraph ends, it sounds like the "popular datastructures" or
SP-GiSTs, but then it goes on to say they were designed for in-memory, and
then it mentions that SP-GiST's space partitioning (with high fanout) is
more appropriate to minimize disk access. I think maybe the solution here
would be to replace "These popular data structures" with something like
"Classic Postgres indexes such as B-tree indexes..." or something like
that.

Also, I think a short parenthetical definition of "fanout" would be useful
here, something like "high fanout (i.e. where each node has a potentially
large number of child nodes that reside in the same disk page)". Took me
some googling to realize what fanout meant in this context.

Best,
Alex

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message PG Doc comments form 2023-10-16 13:34:57 "20.16. Customized Options" – cannot be set by `ALTER SYSTEM`
Previous Message Tomas Pospisek 2023-10-14 14:58:46 Re: Make SSPI documentation clearer