Re: Add A Glossary - Mailing list pgsql-hackers

From Justin Pryzby
Subject Re: Add A Glossary
Date
Msg-id 20200515010304.GN18456@telsasoft.com
Whole thread Raw
In response to Re: Add A Glossary  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: Add A Glossary
List pgsql-hackers
On Thu, May 14, 2020 at 08:00:17PM -0400, Alvaro Herrera wrote:
> +   <glossterm>ACID</glossterm>
> +   <glossdef>
> +    <para>
> +     <glossterm linkend="glossary-atomicity">Atomicity</glossterm>,
> +     <glossterm linkend="glossary-consistency">consistency</glossterm>,
> +     <glossterm linkend="glossary-isolation">isolation</glossterm>, and
> +     <glossterm linkend="glossary-durability">durability</glossterm>.
> +     A set of properties of database transactions intended to guarantee validity
> +     in concurrent operation and even in event of errors, power failures, etc.

I would capitalize Consistency, Isolation, Durability, and say "These four
properties" or "This set of four properties" (althought that makes this sounds
more like a fun game of DBA jeopardy).

> +   <glossterm>Background writer (process)</glossterm>
>     <glossdef>
>      <para>
> -     A process that continuously writes dirty pages from
> +     A process that continuously writes dirty

I don't like "continuously"

> +     <glossterm linkend="glossary-data-page">data pages</glossterm> from
>  
> +  <glossentry id="glossary-bloat">
> +   <glossterm>Bloat</glossterm>
> +   <glossdef>
> +    <para>
> +     Space in data pages which does not contain relevant data,
> +     such as unused (free) space or outdated row versions.

"current row versions" instead of relevant ?

> +  <glossentry id="glossary-data-page">
> +   <glossterm>Data page</glossterm>
> +   <glossdef>
> +    <para>
> +     The basic structure used to store relation data.
> +     All pages are of the same size.
> +     Data pages are typically stored on disk, each in a specific file,
> +     and can be read to <glossterm linkend="glossary-shared-memory">shared buffers</glossterm>
> +     where they can be modified, becoming
> +     <firstterm>dirty</firstterm>.  They get clean by being written down

say "They become clean when written to disk"

> +     to disk.  New pages, which initially exist in memory only, are also
> +     dirty until written.

> +  <glossentry id="glossary-fork">
> +   <glossterm>Fork</glossterm>
> +   <glossdef>
> +    <para>
> +     Each of the separate segmented file sets that a relation stores its
> +     data in.  There exist a <firstterm>main fork</firstterm> and two secondary

"in which a relation's data is stored"

> +     forks: the <glossterm linkend="glossary-fsm">free space map</glossterm>
> +     <glossterm linkend="glossary-vm">visibility map</glossterm>.

missing "and" ?

> +  <glossentry id="glossary-fsm">
> +   <glossterm>Free space map (fork)</glossterm>
> +   <glossdef>
> +    <para>
> +     A storage structure that keeps metadata about each data page in a table's
> +     main storage space.

s/in/of/

just say "main fork"?

> The free space map entry for each space stores the

for each page ?

> +     amount of free space that's available for future tuples, and is structured
> +     so it is efficient to search for available space for a new tuple of a given
> +     size.

..to be efficiently searched to find free space..

>       The heap is realized within
> -     <glossterm linkend="glossary-file-segment">segment files</glossterm>.
> +     <glossterm linkend="glossary-file-segment">segmented files</glossterm>
> +     in the relation's <glossterm linkend="glossary-fork">main fork</glossterm>.

Hm, the files aren't segmented.  Say "one or more file segments per relation"

> +      There also exist local objects that do not belong to schemas; some examples are
> +      <glossterm linkend="glossary-extension">extensions</glossterm>,
> +      <glossterm linkend="glossary-cast">data type casts</glossterm>, and
> +      <glossterm linkend="glossary-foreign-data-wrapper">foreign data wrappers</glossterm>.

Don't extensions have schemas ?

> +  <glossentry id="glossary-xid">
> +   <glossterm>Transaction ID</glossterm>
> +   <glossdef>
> +    <para>
> +     The numerical, unique, sequentially-assigned identifier that each
> +     transaction receives when it first causes a database modification.
> +     Frequently abbreviated <firstterm>xid</firstterm>.

abbreviated *as* xid

> +     approximately four billion write transactions IDs can be generated;
> +     to permit the system to run for longer than that would allow,

remove "would allow"

>      <para>
>       The process of removing outdated <glossterm linkend="glossary-tuple">tuple
>       versions</glossterm> from tables, and other closely related

actually tables or materialized views..

> +  <glossentry id="glossary-vm">
> +   <glossterm>Visibility map (fork)</glossterm>
> +   <glossdef>
> +    <para>
> +     A storage structure that keeps metadata about each data page
> +     in a table's main storage space.  The visibility map entry for

s/in/of/

main fork?

-- 
Justin



pgsql-hackers by date:

Previous
From: Atsushi Torikoshi
Date:
Subject: Re: Add explanations which are influenced by track_io_timing
Next
From: Masahiko Sawada
Date:
Subject: Re: Transactions involving multiple postgres foreign servers, take 2