Lessons from using mmap()

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Lessons from using mmap()
Date: 2024-02-20 23:21:32
Message-ID: ZdUz_JYmtE2X8506@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

This blog, and the blogs it links to, explains the complexities of using
mmap() for database data/index file I/O.

https://www.symas.com/post/are-you-sure-you-want-to-use-mmap-in-your-dbms

The blog starts by stating:

There are, however, severe correctness and performance issues
with mmap that are not immediately apparent. Such problems make it
difficult, if not impossible, to use mmap correctly and efficiently
in a modern DBMS.

The remainder of the article makes various arguments that such mmap use
is _possible_, but ends with a reasonable conclusion:

Ultimately, the answer to the question "are you sure you want
to use mmap in your DBMS?" should be rephrased - do you really
want to reimplement everything the OS already does for you? Do
you really believe you can do it correctly, better than the OS
already does? The DBMS world is littered with projects whose
authors believed, incorrectly, that they could.

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.

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com

Only you can decide what is important to you.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2024-02-20 23:22:22 Re: Injection points: some tools to wait and wake
Previous Message Michael Paquier 2024-02-20 22:08:03 Re: Injection points: some tools to wait and wake