Database Reference
In-Depth Information
Interop
refers to the ability to reference memory-optimized tables from interpreted
T-SQL code.
Natively-compiled stored procedures
refer to stored procedures compiled into machine
code. Those procedures will be covered in the next chapter.
Figure
32-1
shows the architecture of the SQL Server Engine including the in-memory OLTP part. As you can see,
memory-optimized tables do not share memory with on-disk tables. However, you can access both types of tables
from T-SQL and client applications through the interop engine. Natively-compiled stored procedures, on the other
hand, work only with memory-optimized tables and are unable to access on-disk table data.
Figure 32-1.
SQL Server Engine architecture
In-memory OLTP stores data in a separate filegroup using a streaming mechanism based on
FILESTREAM
.
While coverage of
FILESTREAM
is outside of the scope of this topic, I would like to mention that it is optimized for
sequential I/O performance.
■
Note
You need to specify a filegroup that contains memory-optimized tables' data by using the
CONTAINS
MEMORY_OPTIMIZED_DATA
keyword as shown in Listing 32-1. All in-memory OLTP files used by the database will reside
in the
S:\HKData\Hekaton_InMemory
folder after you run the script.