For the second use case, we configured PMem in Memory (nonpersistent) Mode where it is available as additional system memory. This configuration enables us to access additional memory at the operating system level to provide an effective alternative to traditional DRAM in SQL Server. This memory is an extension of the memory available for the SQL Server buffer pool and data cache, or extended portions for in-memory environments.
The following figure shows the storage layout of the Optane server:
Figure 10. Memory mode server storage layout
The larger amount of memory available for the operating system offers two options for:
- More memory for a disk-based table for SQL Server to use as a larger buffer pool and data cache that is beneficial for OLAP workloads. For details about increasing memory assigned to SQL Server in Red Hat Enterprise Linux, see Configure SQL Server.
- More memory for memory-optimized tables in SQL Server databases. For best practices and considerations for creating memory-optimized tables and structures, see Configure SQL Server.
To assess the capabilities of PMem in these test cases, we used a 3 TB database generated by using HammerDB with columnstore indexes. For details about the configuration, see Benchmarking configuration.
With an increased amount of available memory, the system with PMem used a larger buffer pool and data cache performance increased, especially during the throughput run.