Re: Lessons from using mmap() - Mailing list pgsql-hackers

From Alexander Korotkov
Subject Re: Lessons from using mmap()
Date
Msg-id CAPpHfdtFuwHgL8MEq1CH6xdjiBoG-Wd5e9q-wBQYP3JYxJE7kA@mail.gmail.com
Whole thread Raw
In response to Lessons from using mmap()  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
Hi!

On Wed, Feb 21, 2024 at 1:21 AM Bruce Momjian <bruce@momjian.us> wrote:
> I think we have come to the same conclusion in the past, but I thought
> it would be good to share someone else's research, and it might be
> helpful if we ever revisit this idea.

I read this blog post before. In my personal opinion it is an example
of awful speculation.  If your DBMS needs WAL, then your first
question about using mmap() for your data is how to enforce WAL to be
really ahead of writing the data pages.  As I know there is no
solution for that with mmap() (or at least a solution with acceptable
portability).  The blog post advertises LMDB, and LMDB is really good.
But LMDB uses copy-on-write instead of WAL to ensure durability.  And
it supports a single writer at a time.  This is just another niche of
solutions!
The blog post makes an impression that developers of non-mmap()
DBMS'es are idiots who didn't manage to use mmap() properly.  We're
not idiots, we develop DBMS of high concurrency! :-)

------
Regards,
Alexander Korotkov



pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: Add bump memory context type and use it for tuplesorts
Next
From: Alexander Korotkov
Date:
Subject: Re: partitioning and identity column