Configurar el almacenamiento para las tablas con optimización para memoria

Se aplica a:SQL Server

Debe configurar la capacidad de memoria y las operaciones de entrada/salida por segundo (IOPS).

Capacidad de almacenamiento

Use la información de Estimar los requisitos de memoria para las tablas optimizadas para memoria para calcular el tamaño en memoria de las tablas durables optimizadas para memoria de la base de datos. Puesto que los índices no se conservan en las tablas optimizadas para memoria, no incluya el tamaño de los índices.

Después de determinar el tamaño, debe proporcionar espacio en disco suficiente para contener los archivos de punto de comprobación, que se usan para almacenar los datos que se han modificado recientemente. Los datos que se almacenan no solo incluyen el contenido de las filas nuevas que se agregan a las tablas en memoria, sino también versiones nuevas de las filas existentes. Este almacenamiento aumenta al insertar o actualizar filas. Las versiones de fila se combinan y el almacenamiento se recupera cuando se produce el truncamiento del registro. Si el truncamiento del registro se retrasa por alguna razón, el almacén de OLTP en memoria aumentará.

Un buen punto de partida para dimensionar el almacenamiento de esta área es reservar una capacidad equivalente a cuatro veces el tamaño de las tablas en memoria duraderas. Supervise el uso del espacio y prepárese para expandir el almacenamiento que está disponible, en caso necesario.

IOPS de almacenamiento

OLTP en memoria puede aumentar considerablemente el rendimiento de las cargas de trabajo. Por tanto, es importante asegurarse de que la entrada/salida no es un cuello de botella.

  • Al migrar tablas basadas en disco a tablas optimizadas para memoria, asegúrese de que el registro de transacciones esté en un medio de almacenamiento que pueda admitir mayor actividad del registro de transacciones. Por ejemplo, si el medio de almacenamiento admite operaciones del registro de transacciones a 100 MB/s, y las tablas optimizadas para memoria producen un rendimiento cinco veces mayor, el medio de almacenamiento del registro de transacciones debe poder admitir una mejora del rendimiento cinco veces mayor para evitar que la actividad del registro de transacciones se convierta en un cuello de botella.

  • Las tablas optimizadas para memoria se almacenan en archivos de punto de control, que se distribuyen entre uno o varios contenedores. Normalmente cada contenedor debe estar asignado a su propio dispositivo de almacenamiento y se usa tanto para aumentar la capacidad de almacenamiento como para mejorar la E/S por segundo. Debe asegurarse de que los IOPS secuenciales del soporte de almacenamiento puedan soportar hasta tres veces el rendimiento sostenido del registro de transacciones. Las escrituras en los archivos de punto de control son de 256 KB para los archivos de datos y de 4 KB para los archivos delta.

    • Por ejemplo, si las tablas optimizadas para memoria generan 500 MB/s de actividad en el registro de transacciones, el almacenamiento de las tablas optimizadas para memoria debe admitir 1,5 GB/s de E/S por segundo. La necesidad de soportar tres veces el rendimiento sostenido del registro de transacciones surge de la observación de que los pares de archivos de datos y delta se escriben primero con los datos iniciales y después deben leerse y volver a escribirse como parte de una operación de combinación.
  • Otro factor a la hora de estimar las IOPS del almacenamiento es el tiempo de recuperación de las tablas optimizadas para memoria. Los datos de las tablas durables se deben leer en memoria antes de que una base de datos esté a disposición de las aplicaciones. Normalmente, la carga de datos en las tablas optimizadas para memoria se puede realizar a la velocidad de la IOPS. Por tanto, si el almacenamiento total de las tablas durables optimizadas para memoria es de 60 GB y desea poder cargar estos datos en 1 minuto, la IOPS para el almacenamiento se debe establecer en 1 GB/s.

  • Los archivos de punto de control normalmente se distribuyen uniformemente entre todos los contenedores, si el espacio lo permite. Con SQL Server 2014, debe aprovisionar un número impar de contenedores para lograr una distribución uniforme; a partir de 2016, la distribución uniforme se consigue con cantidades pares e impares de contenedores.

Cifrado

En SQL Server 2016 (13.x) y versiones posteriores, el almacenamiento de las tablas optimizadas para memoria se cifra en reposo como parte de la habilitación de Cifrado de datos transparente (TDE) en la base de datos. Para obtener más información, vea Cifrado de datos transparente. En SQL Server 2014 (12.x), los archivos de punto de comprobación no se cifran, aunque el TDE esté habilitado en la base de datos.

Los datos de las tablas optimizadas para memoria no duraderas (SCHEMA_ONLY) no se escriben en disco en ningún momento. Por lo tanto, TDE no se aplica a esas tablas.