Actualización:30 de noviembre de 2015
El equipo de SQL Server ha publicado una publicación de blog con algunas funciones nuevas para OLTP en memoria en CTP 3.1:
- SQL Server 2016 Community Technology Preview 3.1 está disponible
Actualización:17 de noviembre de 2015
Jos de Bruijn ha publicado una lista actualizada de cambios de OLTP en memoria a partir de CTP 3.0:
- OLTP en memoria:novedades en SQL2016 CTP3
Anteriormente publiqué sobre los cambios en los grupos de disponibilidad en SQL Server 2016, de los que me enteré en MS Ignite en gran parte de una sesión de Joey D'Antoni y Denny Cherry. Otra gran sesión fue la de Kevin Farlee y Sunil Agarwal sobre los cambios que se esperan para In-Memory OLTP (la característica anteriormente conocida como "Hekaton"). Una nota al margen interesante:el video de esta sesión muestra una demostración en la que Kevin está ejecutando CTP2.0 (compilación 13.0.200), aunque probablemente no sea la compilación que veremos públicamente este verano.
Característica/Límite | Servidor SQL 2014 | Servidor SQL 2016 |
---|---|---|
Tamaño máximo combinado de mesas duraderas | 256 GB | 2 TB |
LOB (varbinary(máximo), [n]varchar(máximo)) | No compatible | Compatible* |
Cifrado de datos transparente (TDE) | No compatible | Compatible |
Conversaciones de puntos de control sin conexión | 1 | 1 por contenedor |
ALTERAR PROCEDIMIENTO / sp_recompile | No compatible | Soportado (totalmente en línea) |
Llamadas a procedimientos nativos anidados | No compatible | Compatible |
UDF escalares compilados de forma nativa | No compatible | Compatible |
ALTERAR TABLA | No compatible (DROP / re-CREATE) | Soporte parcial (sin conexión - detalles a continuación) |
Disparadores DML | No compatible | Soportado parcialmente (DESPUÉS, compilado de forma nativa) |
Índices en columnas NULLable | No compatible | Compatible |
Intercalaciones que no son BIN2 en columnas de clave de índice | No compatible | Compatible |
Páginas de códigos no latinos para columnas [var]char | No compatible | Compatible |
Comparación/clasificación no BIN2 en módulos nativos | No compatible | Compatible |
Claves foráneas | No compatible | Compatible |
Comprobar/Restricciones únicas | No compatible | Compatible |
Paralelismo | No compatible | Compatible |
UNIÓN EXTERNA, O, NO, UNIÓN [TODO], DISTINTO, EXISTE, EN | No compatible | Compatible |
Conjuntos de resultados activos múltiples (MARS) (Significa una mejor compatibilidad con Entity Framework). | No compatible | Compatible |
Diseñador de tablas SSMS | No compatible | Compatible |
* La compatibilidad con LOB no estará disponible en el envío de CTP este verano.
ALTER TABLE
es una operación fuera de línea y admitirá agregar/eliminar columnas, índices y restricciones. Habrá nuevas extensiones de sintaxis para admitir algunas de estas acciones. Puede cambiar los valores de recuento de cubos con una reconstrucción simple (sin embargo, tenga en cuenta que cualquier reconstrucción requerirá el doble de memoria):
ALTER TABLE dbo.InMemoryTable ALTER INDEX IX_NC_Hash REBUILD WITH (BUCKET_COUNT = 1048576);
Además de estas mejoras de capacidad/características, también hay algunas mejoras de rendimiento adicionales. Por ejemplo, habrá la posibilidad de agregar un índice de almacén de columnas no agrupado, actualizable y en memoria sobre tablas basadas en disco o en memoria. Y han simplificado la forma en que se procesan las filas eliminadas (en 2014, esas operaciones usan FileStream; en 2016, omitirán este paso). También se han realizado mejoras en los asesores de migración y el analizador de mejores prácticas:ahora son más ligeros en la recopilación de datos y brindan más contexto sobre la complejidad de la migración.
Todavía hay algunas limitaciones con algunos de estos cambios. TDE, por ejemplo, requiere pasos adicionales al actualizar una base de datos. Pero está claro que a medida que In-Memory OLTP madura, están eliminando muchos de los mayores obstáculos para la adopción.
¡Pero espera hay mas! Si desea utilizar In-Memory OLTP en Azure SQL Database, habrá una versión preliminar pública con soporte completo este verano. Por lo tanto, no necesitará su propio servidor físico con 2 TB de memoria para llevar esta función al límite. Sin embargo, no espere que esta característica se filtre a la Edición estándar.