Details
-
Task
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Hardware for NVDIMM plans to provide RAM speed access for byte addressable persistent memory. Linux kernel and userspace supporting libraries (http://pmem.io/nvml/) are providing vendor independent interfaces for using the hardware. As far as I can tell these devices are in the multiple GB size and may extend to what is currently disk size.
NVML library is a BSD-3 licensed product containing various useful APIs.
Options for integrating NVDIMM's features into the current MariaDB implementation include:
- Use a binary log space (probably the lowest benefit but easy to implement)
- Create a new storage engine for NVDIMM (probably most beneficial but hardest to implement)
- Innodb: Using NVDIMM as innodb log buffer could eliminate the need for a innodb log file implementation
- Innodb: Using buffer pool as NVDIMM (as mechanism to simplify innodb_buffer_pool_dump*/innodb_buffer_pool_restore*)
- Innodb: Using tablespaces on NVDIMM (MySQL-5.7 appears to have partition table spaces)
- Innodb: Table option that specifies a NVDIMM location as a tablespace
- Innodb: partitions can specify NVDIMM tablespace - keep frequent partition only in NVDIMM
- MyISAM: sorting MYD and/or MYI files in NVDIMM as per CREATE TABLE options or INDEX options
Attachments
Issue Links
- includes
-
MDEV-17084 Optimize append only files for NVDIMM
- Closed
- relates to
-
MDEV-14425 Change the InnoDB redo log format to reduce write amplification
- Closed
-
MDEV-25090 Install libpmem-dev in the CI environments
- Closed
-
MDEV-33447 libpmem in RHEL 8+
- Closed
- links to