This article addresses the 4 Key Benefits of Buffer Pool Extension that Every SQL Server Administrator Must Know.
Buffer Pool Extension was introduced in 2014 SQL Server with the aim of providing seamless integration of random access memory to the extension of buffer pool database engine which helps in significantly improving the I/O throughput. Note that buffer pool extension is not made available in all SQL Server editions.
SQL Server Buffer Pool aka SQL Server Buffer Cache can be defined as a virtual place in the memory of your system which is used for caching index data pages and tables as they are read or modified in or from the disk. The primary motive of SQL buffer pool is limited to reducing the latency of I/O database file and improving its data retrieval response time.
4 Key Benefits of Buffer Pool Extension
The key feature of Buffer pool is to save and retrieve data from the database, which make intensive disk I/O a core characteristic of any Database Engine. Disk I/O operations are prone to consuming multiple resources, which can potentially take extra time to finish the tasks, SQL Server has focused its energy on making them more efficient and speedy. The buffer management comprises of two mechanisms components: the buffer manager which is used for accessing and updating database pages, and the buffer pool, which is used for reducing database file I/O.
• Improved Read Performance
Users read index and Data pages from disk in the buffer pool, where the user is also allowed to make modifications to these pages (aka dirty pages) by writing back to disk. The pressure of memory on these database and server checkpoints make these active dirty pages located in the buffer cache to get evicted from the cache, which is written to mechanical disks and are then read back in the cache. These I/O operations can be considered as small random reads and writes which comprise of only 4 to 16 KB of data. Small random I/O structures and patterns incur frequent seeks while competing for these mechanical disk arm, reducing aggregate I/O in the whole system and increase I/O latency.
• Increased transaction throughput
The best approach for resolving these bottlenecks is by adding more DRAM or adding high-performance SAS spindles in the system. While these options can be helpful, they also have some significant drawbacks: like DRAM is very expensive compared to the data storage drives and by adding spindles, it can increase the capital expenditure of the hardware acquisition, while also increasing the operational costs by increasing the power consumption and which can lead to component failure or a damaged mdf file.
• Reduced I/O latency
The buffer pool extension consists of an extended version of the buffer pool cache which has nonvolatile storage options (usually SSD). Because of this, the buffer pool extension can be accommodated with a larger working set of database, which also forces the paging of Input/Outputs between the RAM and the SSD. This obviously effectively offloads or transfers the small random I/Os from the mechanical disks to the SSDs. Because of this lower latency and a better random I/O operation and performance of the SSDs, Users can feel a throughput I/O improvement while working with the buffer pool extension.
Victor Simon is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including access recovery and sql recovery software products. For more information visit www.datanumen.com