Esta es una sesión en donde se detalla como esta tecnología nos puede ayudar a que el desempeño de bases de datos y de aplicaciones puede mejorar con la adopción y utilización de la misma. La sesión es “intensiva en demos” para reflejar lo dramático de los incrementos en desempeño al usar In-Memory.
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño
1. Cómo nos va a ayudar la tecnología de In-
Memory en SQL Server 2014 para desempeño
Miércoles, 19 de marzo de 2014
Guillermo Taylor F.
MVP SQL Server | MCTS SQL Server
Consultor Sénior Infra & Cloud – INDRA
PASS – Capítulo Virtual en Español
3. Motor relacional SQL Server
In-memory OLTP
3
Nuevo motor OLTP de alto desempeño y optimizado
para memoria que está integrado con SQL Server y
diseñado de acuerdo con tendencias modernas de
hardware
Grupo de archivos e
tablas óptimos para
memoria
Motor In-Memory
OLTP : Tablas &
índices óptimos para
memoria
SP compilados de
manera nativa &
esquema
Compilador In-
Memory OLTP
Bitácora de
Transacciones
Grupo de archivos
de datos
“Buffer pool” para
tablas & índices
Gestor de Bloqueos
Plan de Cache para
Proc para ad-hoc, T-
SQL; interpretador,
planes, etc.
Parser,
catálogo,
optimizador
4. Características de aplicaciones habilitadas
La aplicación está habilitada para procesamiento en
memoria
• Todos los datos críticos para desempeño ya están en memoria
• “Transaction locking” o “physical latching” que cause demoras o
bloqueos
La aplicación es esencialmente OLTP
• Transacciones con tiempo de vida relativamente corto
• Alto grado de transacciones concurrentes desde múltiples conexiones
• Ejemplos: Intercambio de acciones, reservaciones de viajes,
procesamiento de órdenes
Portar la aplicación se simplifica si
• Se usan procedimientos almacenados
• Los problemas de desempeño se han aislado a subconjuntos de
tablas y procedimientos almacenados
4
5. Integración con SQL
Server
• Misma experiencia de
gestión y de desarrollo
• Queries y transacciones
integradas
• Alta disponibilidad integrada
y respaldo/restauración
Óptimo para memoria
principal
• Óptimo para datos en
memoria
• Índices (hash and range) solo
existen en memoria
• No hay “buffer pool”
• Almacenamiento basado en
“Stream” para durabilidad
Alta concurrencia
• Control de concurrencia
optimista de múltiples
versiones con soporte total
ACID
• Motor principal usa
algoritmos “lock-free”
• No hay gestor de bloqueos,
n de latches
T-SQL compilado en
código de máquina
• T-SQL compilado en código
de máquina vía generador
de código C y compilador
Visual C
• Invocar un procedimiento es
solo un “DLL entry-point”
• Optimizaciones agresivas en
tiempo de compilación
Precio de memoria bajando
constantemente, NVRAM
Procesadores con múltiples
núcleos
Tasa de reloj de CPU con
demoras
TCO
Tendencias en Hardware Negocio
Motor híbrido y
experiencia integrada
Operaciones de datos
de alto desempeño
Crecimiento vertical sin
fricciones
Procesamiento eficiente
a nivel de lógica de
negocios
Beneficios
PilaresTécnicosIn-Memory
OLTP
Drivers
Arquitectura In-memory OLTP
8. Óptimo para memoria
principal
• Óptimo para datos en
memoria
• Índices (hash and range) solo
existen en memoria
• No hay “buffer pool”
• Almacenamiento basado en
“Stream” para durabilidad
Precio de memoria bajando
constantemente, NVRAM
Tendencias Hardware
Consideraciones de diseño para tablas óptimas en memoria
8
Construcciones de Tablas
Esquema fijo; no ALTER TABLE; debe borrar/recrear/recargar
Sin tipos de datos LOB; tamaño de registro limitado a 8,060
Sin soporte a constraints (unicamente llave primaria)
No permite identidad o columnas calculadas, ni tampoco CLR
Consideraciones de tamaños de datos
Tamaño de tablas = (tamaño de registro * cantidad de registros)
Size of hash index = (bucket_count * 8 bytes)
Max size SCHEMA_AND_DATA = 512 GB
IO for durability
SCHEMA_ONLY vs. SCHEMA_AND_DATA
Memory-optimized filegroup
Data and delta files
Transaction log
Operaciones de datos
de alto desempeño
BeneficiosPilaresTécnicosIn-MemoryOLTPDrivers
9. T-SQL compilado en
código de máquina
• T-SQL compilado en código
de máquina vía generador
de código C y compilador
Visual C
• Invocar un procedimiento es
solo un “DLL entry-point”
• Optimizaciones agresivas en
tiempo de compilación
Tasa de reloj de CPU con
demoras
Tendencias Hardware
Consideraciones de diseño para procedimientos almacenados
compilados de manera nativa
9
Procesamiento eficiente
a nivel de lógica de
negocios
Beneficios
PilaresTécnicosIn-Memory
OLTP
Drivers
Proc. Almacenados
compilados nativo
Compilación no nativa
Desempeño Alto. Menos cantidad de
instrucciones a ejecutar
Sin diferencia de como se
llaman a las sentencias T-
SQL calls hoy día en SQL
Server
Estrategia de Migración Cambios en la aplicación;
esfuerzo en desarrollo
Migración más sencilla y se
puede accede a tablas
óptimas en memoria
Acceso a objetos Solo puede interactuar con
tablas óptimas en memoria
Todos los objetos; acceso
para transacciones mediante
tablas óptimas en memoria
Soporte a sentencias T-SQL Limitado Área de superficie de T-SQL
(límite para interacción
óptima de memoria)
Optimización, estadísticas, y
plan de consulta
Estadísticas usadas en
CREATE -> Tiempo de
compilación
Se usan actualizaciones a
estadísticas para modificar el
plan en tiempo de ejecución
Flexibilidad Limitado (no ALTER
procedure, nivel de
aislamiento en tiempo de
Patrones para consultas Ad-
hoc
10. Manténgase conectado a nosotros!
10
Visítenos en http://globalspanish.sqlpass.org
/SpanishPASSVC
lnkd.in/dtYBzev
11. Programa de Reconocimiento
Programa de Voluntario Sobresaliente
• PASS le invita a nominar a su voluntario favorito para ser “Voluntario Sobresaliente del Mes”
• Enviar nominaciones en todo momento a: VolunteerRecognition@sqlpass.org
Favor proveer:
• Información de contacto del nominado,
• una lista breve de los programas de PASS que a participado el nominado
• los años que lleva activo en la comunidad
• una corta descripción por el cual considera que esta persona debe ser reconocida
• Los nominados seleccionados serán anunciados en la edición del boletín PASS Connector y recibirán un
certificado de apreciación.
12. JOIN US for our second annual event to get the best learning for
analyzing, managing, and sharing business information and
insights through the Microsoft Data Platform of technologies.
14. Manténganse Conectados!
• Solicite su suscripción gratuita en sqlpass.org
• Linked In: Professional Association for SQL Server
• Facebook: Professional Association for SQL Server Group
• Twitter: @SQLPASS
• The PASS Blog: sqlpass.org