14
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

Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

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

Page 2: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

Tendencias claves & Impacto en clientes

2

Page 3: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

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

Page 4: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

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

Page 5: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

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, NVRAMProcesadores 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

negociosBen

efi

cio

sP

ilare

s Técn

ico

s In

-Mem

ory

OLTP

Dri

vers

Arquitectura In-memory OLTP

Page 6: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

Demo

In-Memory OLTP: Introducción

Mejorando el desempeño con In-Memory OLTP

6

Page 7: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

Resultados del demo para comparar…

7

Page 8: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

Ó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 TablasEsquema 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 datosTamañ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

Database recovery

Operaciones de datos

de alto desempeño

Ben

efi

cio

sP

ilare

sTécn

ico

sIn

-Mem

ory

OLTP

Dri

vers

Page 9: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

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

negociosBen

efi

cio

sP

ilare

s Técn

ico

s In

-Mem

ory

OLTP

Dri

vers

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

compilación)

Patrones para consultas Ad-

hoc

Page 10: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

Manténgase conectado a nosotros!

10

Visítenos en http://globalspanish.sqlpass.org

/SpanishPASSVC

lnkd.in/dtYBzev

Page 11: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

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: [email protected]

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.

Page 12: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

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.

Page 14: Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desempeño

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