Création et gestion du stockage des objets mémoire optimisésCreating and Managing Storage for Memory-Optimized Objects

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database nonAzure Synapse Analytics (SQL DW) nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Le moteur OLTP en mémoireIn-Memory OLTP est intégré dans SQL ServerSQL Server, ce qui vous permet d’avoir des tables optimisées en mémoire et des tables sur disque (traditionnelles) dans la même base de données.The OLTP en mémoireIn-Memory OLTP engine is integrated into SQL ServerSQL Server, which lets you have both memory-optimized tables and (traditional) disk-based tables in the same database. Toutefois, la structure de stockage des tables optimisées en mémoire est différente de celle des tables sur disque.However, the storage structure for memory-optimized tables is different from disk-based tables.

Les principales caractéristiques du stockage des tables sur disque sont les suivantes :Storage for disk-based table has following key attributes:

  • Elles sont mappées à groupe de fichiers contenant un ou plusieurs fichiers.Mapped to a filegroup and the filegroup contains one or more files.

  • Chaque fichier est divisé en étendues de 8 pages de 8 Ko chacune.Each file is divided into extents of 8 pages and each page is of size 8K bytes.

  • Une étendue peut être partagée entre plusieurs tables, mais il existe une correspondance univoque entre une page allouée et la table ou l’index.An extent can be shared across multiple tables, but a there is 1-to-1 mapping between an allocated page and the table or index. En d’autres termes, une page ne peut pas contenir de lignes issues de plusieurs tables ou index.In other words, a page can't have rows from two or more tables or index.

  • Les données sont placées dans la mémoire (le pool de mémoires tampons) en fonction des besoins et les pages modifiées ou créées sont écrites de façon asynchrone sur le disque, générant essentiellement des E/S aléatoires.The data is moved into memory (the buffer pool) as needed and the modified or newly created pages are asynchronously written to the disk generating mostly random IO.

Les principales caractéristiques du stockage des tables optimisées en mémoire sont les suivantes :Storage for memory-optimized tables has following key attributes:

  • Toutes les tables optimisées en mémoire sont mappées à un groupe de fichiers/données optimisées en mémoire.All memory-optimized tables are mapped to a memory-optimized data-filegroup. Ce groupe de fichiers utilise une syntaxe et une sémantique similaires au flux de fichiers.This filegroup uses syntax and semantics similar to Filestream.

  • Il n’y a aucune page et les données sont conservées sur une ligne.There are no pages and the data is persisted as a row.

  • Toutes les modifications apportées aux tables optimisées en mémoire sont stockées à la fin des fichiers actifs.All changes to memory-optimized tables are stored by appending to active files. La lecture et l’écriture des fichiers sont séquentielles.Both reading and writing to files is sequential.

  • Une mise à jour correspond à une suppression suivie d’une insertion.An update is implemented as a delete followed by an insert. Les lignes supprimées ne sont pas immédiatement supprimées du stockage.The deleted rows are not immediately removed from the storage. Les lignes supprimées le sont par un processus d’arrière-plan, appelé MERGE, basé sur une stratégie et décrit dans Durabilité pour les tables optimisées en mémoire.The deleted rows are removed by a background process, called MERGE, based on a policy as described in Durability for Memory-Optimized Tables.

  • Contrairement aux tables sur disque, le stockage des tables optimisées en mémoire n’est pas compressé.Unlike disk-based tables, storage for memory-optimized tables is not compressed. Lors de la migration d’une table sur disque (ligne ou page) compressée vers une table optimisée en mémoire, vous devez prendre en compte la modification de taille.When migrating a compressed (ROW or PAGE) disk-based table to memory-optimized table, you will need to account for the change in size.

  • Une table optimisée en mémoire peut être durable ou non durable.A memory-optimized table can be durable or can be non-durable. Seul le stockage des tables durables optimisées en mémoire est à configurer.You only need to configure storage for durable memory-optimized tables.

Cette section décrit les paires de fichiers de point de contrôle d'autres aspects du stockage des données dans des tables mémoire optimisées.This section describes checkpoint file pairs and other aspects of how data in memory-optimized tables is stored.

Rubriques de cette section :Topics in this section:

Voir aussiSee Also

OLTP en mémoire (Optimisation en mémoire)In-Memory OLTP (In-Memory Optimization)