title | description | author | ms.author | ms.date | ms.service | ms.subservice | ms.topic | monikerRange |
---|---|---|---|---|---|---|---|---|
Scalability |
Learn about enhancements to scalability to on-disk storage for memory-optimized tables in SQL Server, such as using multiple threads to persist tables. |
MikeRayMSFT |
mikeray |
08/27/2015 |
sql |
in-memory-oltp |
conceptual |
=azuresqldb-current||>=sql-server-2016||>=sql-server-linux-2017||=azuresqldb-mi-current |
[!INCLUDE SQL Server Azure SQL Database Azure SQL Managed Instance] [!INCLUDEsssql16-md] contains scalability enhancements to the on-disk storage for memory-optimized tables.
[!INCLUDEssSQL14] had a single offline checkpoint thread that scanned the transaction log for changes to memory-optimized tables and persisted them in checkpoint files (such as data and delta files). In machines with a larger number of cores, the single offline checkpoint thread could fall behind.
Starting with [!INCLUDEsssql16-md], there are multiple concurrent threads responsible to persist changes to memory-optimized tables.
In the previous release of [!INCLUDEssNoVersion], the log apply as part of recovery operation was single threaded. Starting with [!INCLUDEsssql16-md], the log apply is multi-threaded.
The MERGE operation is now multi-threaded.
Note
Manual Merge has been disabled as multi-threaded merge is expected to keep up with the load.
The DMVs sys.dm_db_xtp_checkpoint_stats (Transact-SQL) and sys.dm_db_xtp_checkpoint_files (Transact-SQL) have been changed significantly.
The In-memory OLTP engine continues to use memory-optimized filegroup based on FILESTREAM, but the individual files in the filegroup are decoupled from FILESTREAM. These files are fully managed (such as for create, drop, and garbage collection) by the In-Memory OLTP engine.
Note
DBCC SHRINKFILE (Transact-SQL) is not supported.
Creating and Managing Storage for Memory-Optimized Objects
Database Files and Filegroups
ALTER DATABASE File and Filegroup Options (Transact-SQL)