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.
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 |