You are on page 1of 65

Gua de referencia de Fast Track Data Warehouse para SQL Server 2012

Artculo tcnico de SQL Server


Autores: Eric Kraemer, Mike Bassett, Eric Lemoine, Dave Withers

Revisores tcnicos: Claude Lorenson, Susan Price, Ralph Kemperdick, Henk van der Valk,
Alexi Khalyako, Oliver Chiu

Fecha de publicacin: marzo de 2012


Se aplica a: SQL Server 2012

Resumen: en este documento se define un modelo de configuracin de referencia


(denominado Fast Track Data Warehouse) que usa un enfoque de recursos equilibrados
para implementar una arquitectura de sistema de base de datos de SQL Server basada en
multiproceso simtrico (SMP) con rendimiento y escalabilidad probados para cargas de trabajo
de almacenamiento de datos. El objetivo de una arquitectura de referencia Fast Track Data
Warehouse es lograr un equilibrio de recursos eficiente entre la capacidad de procesamiento
de datos de SQL Server y el rendimiento de hardware de los componentes.

Copyright
Este documento se proporciona "tal cual". La informacin y los puntos de vista que
se proporcionan en este documento, incluidas las direcciones URL y otras
referencias a sitios web de Internet, pueden sufrir modificaciones sin previo aviso.
Usted acepta el riesgo de utilizarlo.
En este documento no se proporciona ningn derecho legal sobre ninguna
propiedad intelectual de ningn producto de Microsoft. Puede copiar y utilizar este
documento para su propia referencia.
2012 Microsoft. Todos los derechos reservados.

Contenido
Historial de cambios de FTDW.................................................................................... 6
Introduccin................................................................................................................ 6
Audiencia................................................................................................................ 6
Fast Track Data Warehouse......................................................................................... 6
Fast Track................................................................................................................ 7
Propuesta de valor.................................................................................................. 7
Metodologa................................................................................................................ 7
Arquitectura de componentes holstica...................................................................7
Enfoque optimizado de carga de trabajo.................................................................8
Configuraciones de referencia de SQL Server Fast Track validadas.........................9
Resumen................................................................................................................. 9
Carga de trabajo de FTDW.......................................................................................... 9
Patrones de cargas de trabajo de almacenamiento de datos..................................9
Evaluacin de las cargas de trabajo......................................................................10
Atributos cualitativos de cargas de trabajo de almacenamiento de datos............12
Elegir una configuracin de referencia de FTDW......................................................14
Opcin 1: evaluacin bsica.................................................................................. 14
Paso 1: evaluar el caso de uso del cliente.............................................................14
Paso 2: elegir una arquitectura de referencia de FTDW publicada.....................15
Opcin 2: evaluacin completa.............................................................................16
Informacin general acerca del proceso.............................................................16
Paso 1: evaluar el caso de uso del cliente..........................................................16
Paso 2: establecer mtricas de evaluacin........................................................17
Paso 3: elegir una arquitectura de referencia de Fast Track Data Warehouse....18
Opcin 3: arquitecturas de referencia definidas por el usuario.............................18
Paso 1: definir la carga de trabajo......................................................................18
Paso 2: establecer simulaciones de la arquitectura de componentes................18
Resumen de la eleccin de una FTRA....................................................................19

Configuracin estndar de FTDW............................................................................. 20


Arquitectura de los componentes de hardware.....................................................20
Requisitos y configuracin de componentes......................................................20
Configuracin de la aplicacin...............................................................................22
Windows Server 2008 R2................................................................................... 22
SQL Server 2012 Enterprise...............................................................................23
Sistema de almacenamiento..............................................................................24
Prcticas recomendadas de SQL Server para FTDW.................................................28
Arquitectura de datos............................................................................................ 29
Estructura de tabla............................................................................................. 29
Particionamiento de tablas.................................................................................30
Indizacin........................................................................................................... 31
ndices de almacn de columnas optimizados en memoria xVelocity................31
Estadsticas de base de datos............................................................................33
Compresin........................................................................................................ 34
Administrar la fragmentacin de datos.................................................................34
Fragmentacin del sistema de archivos.............................................................34
Varios grupos de archivos..................................................................................37
Cargar datos.......................................................................................................... 37
Cargas incrementales......................................................................................... 37
Migracin de datos............................................................................................. 40
Simulaciones y validacin........................................................................................ 42
Realizar la validacin de lnea base de FTDW.......................................................43
Pruebas de lnea base con SQLIO.......................................................................43
Realizar simulaciones de base de datos de Fast Track..........................................46
Calcular MCR...................................................................................................... 47
Calcular BCR....................................................................................................... 48
Arquitecturas publicadas de referencia de FTDW.....................................................51
Conclusin................................................................................................................ 51

Apndice.................................................................................................................. 53
Herramienta de ajuste de tamao de FTDW..........................................................53
Validar una FTRA definida por el usuario...............................................................53
Prueba de E/S sinttica...................................................................................... 53
Generar archivos de prueba con SQLIO.............................................................53
Prueba de cargas de trabajo................................................................................. 56
Medir el valor MCR para el servidor (opcional)...................................................56
Medir el valor BCR para la carga de trabajo.......................................................56
Factores que afectan a la tasa de consumo de las consultas.............................61

Historial de cambios de FTDW


En la tabla siguiente se proporciona una lista de los cambios o las actualizaciones importantes
realizados en las distintas versiones de la Gua de referencia de Fast Track Data Warehouse.
Descripcin

Versin

Nuevo en SQL
Server 2012

4.0

Nuevo en SQL
Server 2012
Nuevo en SQL
Server 2012
Nuevo en SQL
Server 2012

Nota
Vnculos a otros documentos
de prcticas recomendadas de
SQL Server

Ubicacin

4.0

Simulaciones y validacin

Precaucin

4.0

Requisitos de memoria

RAM

4.0

Nuevo en SQL
4.0
Server 2012
Nuevo en SQL
4.0
Server 2012
Nuevo en SQL
4.0
Server 2012
Tabla 1: historial de cambios

ndices de almacn de
columnas optimizados en
memoria xVelocity
Almacenamiento de estado
slido
Validacin e ndices de
almacn de columnas
Validacin de E/S de lnea base

Importante

ndices de almacn de
columnas
Estado slido
Validacin
SQLIO

Introduccin
En este documento se definen la arquitectura de componentes y la metodologa empleadas
para el programa Fast Track Data Warehouse (FTDW) de SQL Server. El resultado de este
enfoque es la validacin de una arquitectura mnima del sistema de base de datos de Microsoft
SQL Server, incluido el software y el hardware, necesaria para lograr y mantener una lnea
base de rendimiento inmediato para muchas cargas de trabajo de almacenamiento de datos.

Audiencia
La audiencia objetivo de este documento abarca planeadores de TI, arquitectos, DBA y usuarios
de Business Intelligence (BI) interesados en elegir arquitecturas del sistema probadas estndar
para cargas de trabajo de SQL Server conformes a FTDW.

Fast Track Data Warehouse


La iniciativa Fast Track Data Warehous de SQL Server proporciona una metodologa bsica
y ejemplos concretos para la implementacin de una configuracin equilibrada de hardware
y base de datos para una carga de trabajo de almacenamiento de datos. Para obtener ms
informacin, vea la seccin Carga de trabajo de FTDW de este documento.

El equilibrio es una medida de los componentes clave del sistema de una instalacin de SQL
Server: almacenamiento, servidor, red de almacenamiento, base de datos y sistema operativo.
Cada uno de estos componentes tiene una configuracin optimizada. El objetivo es lograr un
equilibrio eficiente inmediato entre la capacidad de procesamiento de datos de SQL Server
y los recursos de los componentes de hardware. Idealmente, la configuracin debe incluir el
hardware del sistema mnimo para satisfacer los requisitos de almacenamiento y rendimiento
para una carga de trabajo de almacenamiento de datos.

Fast Track
La marca SQL Server Fast Track identifica una configuracin de hardware de componentes
conforme a los principios de la arquitectura de referencia FTDW (FTRA). Cada FTRA est
definida por una carga de trabajo y un conjunto bsico de prcticas recomendadas de
configuracin, validacin y base de datos. A continuacin se enumeran los principios clave del
programa Fast Track:

Simulaciones especficas de la carga de trabajo. El diseo y la configuracin del sistema


se basan en cargas de trabajo de consulta simultneas reales.
Especificaciones detalladas y validadas de los componentes de hardware.
Equilibrio de la arquitectura de componentes entre la capacidad de base de datos y los
recursos de hardware principales.

Propuesta de valor
Los principios siguientes constituyen la base de la propuesta de valor de FTDW:

Equilibrio predeterminado entre los componentes clave del sistema. Esto reduce el
riesgo de derrochar recursos de CPU o de almacenamiento que nunca se percibirn en
el nivel de aplicacin.
Rendimiento predecible inmediato. Las configuraciones de Fast Track ya coinciden
con las capacidades de la aplicacin de SQL Server para un servidor y una carga de
trabajo seleccionados.
Centrado en la carga de trabajo. En lugar de tratarse de un mtodo nico para la
configuracin de bases de datos, el enfoque de FTDW se alinea especficamente con
un caso de uso de almacenamiento de datos.

Metodologa
Arquitectura de componentes holstica
Las arquitecturas de referencia de FTDW de SQL Server proporcionan un marco prctico para
equilibrar las complejas relaciones existentes entre los componentes clave de la arquitectura
del sistema de base de datos. La arquitectura de componentes, que se denomina
genricamente pila, se muestra en la ilustracin 1.

Ilustracin 1: arquitectura de componentes de base de datos Fast Track de ejemplo


Cada componente de la pila es un eslabn de una cadena de operaciones necesarias para
procesar datos en SQL Server. La evaluacin de la pila como un sistema integrado hace
posible una simulacin que establece el ancho de banda real para cada componente. Esto
garantiza que los componentes individuales proporcionen suficiente rendimiento para las
capacidades de la aplicacin de SQL Server para la pila prescrita.

Enfoque optimizado de carga de trabajo


Las diferentes cargas de trabajo de una aplicacin de base de datos pueden necesitar
arquitecturas de componentes muy distintas para alcanzar un equilibrio ptimo de los recursos.
Un ejemplo clsico de esto puede ser el contraste entre las cargas de trabajo de procesamiento
de transacciones en lnea (OLTP) con solicitudes pequeas basadas en bsquedas y el
almacenamiento de datos analticos con solicitudes grandes y muchos recorridos. Los casos de
uso de OLTP estn muy indizados para admitir la recuperacin con baja latencia de un nmero
reducido de filas de conjuntos de datos que suelen tener poco volumen de datos histricos.
Estos tipos de operaciones de base de datos inducen un movimiento significativo de los
cabezales de disco y generan los clsicos patrones aleatorios de recorrido de E/S. Los casos
de uso analticos, como el almacenamiento de datos, pueden implicar solicitudes de datos
mucho mayores y beneficiarse en gran medida del mayor rendimiento total potencial de los
exmenes de disco secuenciales.

Para estos casos de uso opuestos, las implicaciones de una pila de componentes equilibrada
son significativas. Los intervalos de exploracin aleatoria de E/S por disco promedio de las
unidades de disco SAS modernas pueden ser 10 veces ms lentos en comparacin con los
intervalos de exploracin secuencial para el mismo hardware. Con las cargas de trabajo de
Fast Track Data Warehouse se pone nfasis en conseguir intervalos de exploracin de E/S
coherentemente elevados (medidos en MB/s) en lugar del enfoque ms tradicional de las
operaciones por segundo (medidas en IOPS).
Para afrontar el desafo que suponen las cargas de trabajo muy diferentes se deben definir
claramente los atributos de las cargas de trabajo cliente. Las cargas de trabajo de SQL Server
Fast Track constan de una lista cualitativa de atributos que definen de forma nica un caso de
uso comn de la aplicacin de base de datos. Adems, cada carga de trabajo se representa
mediante medidas cuantitativas entre las que se incluyen consultas de simulacin estndar.
Se usan simulaciones especficas de la carga de trabajo para validar la configuracin de la base
de datos, las prcticas recomendadas y las recomendaciones de hardware de componentes.

Configuraciones de referencia de SQL Server Fast Track


validadas
Todas las arquitecturas de referencia de Fast Track publicadas se validan como conformes al
conjunto de principios y las instrucciones que se proporcionan en esta gua de referencia.
En secciones posteriores de este documento se incluyen ejemplos de este proceso.

Resumen
La especificacin FTDW de SQL Server descrita en esta gua de referencia est centrada en
las cargas de trabajo y el equilibrio de los componentes. Este enfoque confirma que el
aprovisionamiento nico puede resultar ineficiente y costoso para muchos casos de uso de
base de datos. Los requisitos empresariales cada vez ms complejos unidos a volmenes de
datos que cambian rpidamente exigen un enfoque ms realista. Al presentar una combinacin
de arquitecturas preceptivas de referencia, simulacin de componentes de hardware y
software, y cargas de trabajo claramente dirigidas, este documento proporciona un enfoque
prctico para lograr arquitecturas de componentes equilibradas.

Carga de trabajo de FTDW


Patrones de cargas de trabajo de almacenamiento de datos
Las preguntas que se suelen realizar a los almacenamientos de datos necesitan acceso
a grandes volmenes de datos. Los almacenamientos de datos necesitan admitir una amplia
variedad de consultas de una audiencia extensa (por ejemplo: finanzas, marketing, operaciones
y equipos de investigacin).

Para superar las limitaciones de los sistemas de almacenamiento de datos tradicionales, las
organizaciones han recurrido a emplear tcnicas de optimizacin RDBMS tradicionales como
la generacin de ndices, el agregado previo de datos y la restriccin del acceso a los niveles
inferiores de datos. Las sobrecargas de mantenimiento asociadas a estos mtodos pueden
abrumar a menudo incluso a las ventanas de lotes generosas. A medida que un almacenamiento
de datos se vuelve ms maduro y crece la audiencia, cada vez resulta ms desafiante admitir
estas optimizaciones especficas del caso de uso, especialmente en el caso de datos o de
correcciones de datos a ltima hora.
Una solucin frecuente para este desafo consiste en agregar simplemente unidades; no es
raro ver centenares de discos para un almacenamiento de datos relativamente pequeo en un
intento por superar las limitaciones de rendimiento de E/S de asignar una infraestructura de E/S
basada en bsquedas a una carga de trabajo basada en recorridos. Esto se suele ver en grandes
entornos de red de rea de almacenamiento (SAN) compartidos que estn optimizados
tradicionalmente para las bsquedas. Muchos patrones y tcnicas de referencia de E/S de
almacenamiento que fomentan el acceso aleatorio de E/S introducen latencia de disco
y reducen el rendimiento total del subsistema de almacenamiento para una carga de trabajo
de almacenamiento de datos que realiza muchos recorridos.
Fast Track Data Warehouse es una forma diferente de optimizar cargas de trabajo de
almacenamiento de datos. Al alinear los archivos de base de datos y la configuracin con un
acceso eficiente de examen disco (en lugar de bsqueda), el rendimiento que se consigue en
los discos individuales puede ser muy superior. El aumento resultante del rendimiento por disco
reduce el nmero de discos necesarios para generar suficiente rendimiento de E/S como para
satisfacer la capacidad de SQL Server para procesar los datos de una carga de trabajo concreta.
Adems, puede evitar algunas tcnicas de optimizacin basadas en ndices empleadas para
mejorar las bsquedas en disco.

Evaluacin de las cargas de trabajo


A la hora de analizar las cargas de trabajo para sistemas basados en FTDW es importante
tener en cuenta su adecuacin a las prcticas y las configuraciones del sistema descritas en
este documento. Los requisitos de almacenamiento de datos pueden variar segn el cliente
y ciertos requisitos, como la replicacin de bases de datos, quizs no sean adecuados para
todos los sistemas diseados segn FTDW. A continuacin se enumeran los criterios iniciales
clave para este tipo de evaluacin de cargas de trabajo.
Muchos recorridos
Las consultas de una carga de trabajo de almacenamiento de datos suelen recorrer un gran
nmero de filas. Por esta razn, el rendimiento de examen de disco se convierte en una
prioridad cada vez mayor, a diferencia de lo que ocurre con las cargas de trabajo transaccionales
que ponen el acento en el tiempo de bsqueda en disco. La arquitectura de referencia de
FTDW optimiza el hardware y los componentes de software de la base de datos, siendo el
rendimiento de examen del disco su prioridad clave. Esto puede dar como resultado lecturas
secuenciales de disco ms eficientes y un aumento correlacionado en el rendimiento de E/S
de disco por unidad.
10

No voltil
Una vez escritos los datos, no suelen cambiar. Las operaciones DML, como la actualizacin de
SQL, que mueven pginas asociadas a la misma tabla de base de datos y hacen que no sean
contiguas deben administrarse con sumo cuidado. Las cargas de trabajo que presentan con
frecuencia esa volatilidad no suelen ser idneas para FTDW. Cuando se produce volatilidad,
se recomienda realizar un mantenimiento peridico para reducir al mnimo la fragmentacin.
Pocos ndices
Al agregar ndices no clster se suele agregar rendimiento en las bsquedas de uno o pocos
registros. Si se aplican ndices no clster a tablas en las que se van a recuperar un gran nmero
de filas, el aumento resultante de las operaciones aleatorias de bsqueda en disco puede reducir
el rendimiento global del sistema. El mantenimiento de ndices puede agregar tambin una
sobrecarga de administracin de datos significativa, lo que puede poner en riesgo el contrato
de nivel de servicio (SLA) y la posibilidad de cumplir las ventanas de carga de base de datos.
Por el contrario, los intervalos de exploracin secuencial pueden ser mucho mayores (10 veces
o ms) que las frecuencias de acceso aleatorio. Un sistema que reduce al mnimo el uso de
bsquedas aleatorias, induciendo ndices secundarios, suele tener unas velocidades de E/S
promedio sostenidas mucho mayores. Esto significa un uso ms eficiente de los recursos de
E/S de almacenamiento y un rendimiento ms predecible para las consultas grandes de tipo
recorrido.
La metodologa de FTDW prescribe tcnicas de optimizacin de base de datos que se alinean
con las caractersticas de la carga de trabajo de destino. El ndice clster y la creacin de
particiones por rangos son ejemplos de estructuras de datos que admiten E/S de disco eficiente
basada en examen, y se recomienda su uso como las herramientas principales para la optimizacin
basada en la arquitectura de datos para los entornos de FTDW.
Particiones alineadas
Una rasgo comn de las cargas de trabajo de FTDW es la capacidad de aprovechar la creacin
de particiones de SQL Server. Las particiones pueden simplificar la administracin del ciclo de
vida de los datos y ayudar a minimizar la fragmentacin con el tiempo. Adems, los patrones de
consulta para exmenes grandes pueden aprovechar la particin por rangos y reducir
considerablemente el tamao de los recorridos de tabla sin sacrificar la fragmentacin o el
rendimiento de E/S de disco.

11

Consideraciones adicionales
Se deben tener en cuenta las consideraciones adicionales siguientes durante la evaluacin de
una carga de trabajo de base de datos:

La implementacin y la administracin de una estrategia de optimizacin de base de


datos con pocos ndices es un requisito fundamental para las cargas de trabajo de FTDW.
Se da por supuesto que se mantendr una fragmentacin mnima de los datos dentro
del almacenamiento de datos. Esto implica lo siguiente:
o El tipo de fragmentacin ms preocupante se puede medir en trminos de
tamao del fragmento. Un fragmento representa asignaciones contiguas de
pginas de base de datos de 8K.
o La ampliacin del servidor agregando almacenamiento requiere volver a rellenar
todas las tablas sensibles para el rendimiento de manera coherente con las
instrucciones proporcionadas en este documento.
o La implementacin de estructuras de datos voltiles, como tablas con una actividad
normal de actualizacin de nivel de fila, puede necesitar mantenimiento frecuente
(como desfragmentacin o regeneracin de los ndices) para reducir la fragmentacin.
o La carga de tablas de ndices clster con lotes de identificadores de clave del
clster que se superponen a rangos existentes es un origen frecuente de
fragmentacin. Todo esto se debe supervisar y administrar cuidadosamente de
acuerdo con las prcticas recomendadas incluidas en esta gua de referencia.
El almacenamiento de datos puede significar muchas cosas para audiencias distintas.
Deber extremar la precaucin al evaluar los requisitos de los clientes con los atributos
de cargas de trabajo de FTDW.

Atributos cualitativos de cargas de trabajo de almacenamiento


de datos
Puede definir la carga de trabajo de FTDW mediante las propiedades de las siguientes reas
temticas relacionadas con las operaciones de base de datos:

Requisitos de usuario y patrn de acceso


Modelo de datos
Arquitectura de datos
Optimizacin de base de datos

En la tabla siguiente se resumen los atributos de carga de trabajo de almacenamiento de datos y


se ofrece una comparacin con una carga de trabajo OLTP o de almacn de datos operativo
(ODS).
Atributo
Descripcin del
caso de uso

12

Afinidad de carga de trabajo:


Almacenamiento de datos
Principalmente lectura (90 %-10 %)
Actualizaciones limitadas
normalmente a los requisitos de
calidad de datos

OLTP/ODS
Proporcin equilibrada de lectura
y actualizacin (60 %-40 %)
Rendimiento de consultas
simultneas caracterizado por

Atributo

Modelo de datos

Arquitectura de
datos

13

Afinidad de carga de trabajo:


Almacenamiento de datos
Grandes cantidades de
inserciones masivas
Simultaneidad de consulta global
de media a baja; solicitud
mxima de consultas
simultneas de 10-30
Rendimiento de consultas
simultneas caracterizado por las
necesidades de anlisis e
informes
Recorridos y/o agregaciones de
largo alcance
Consultas complejas (filtro,
combinacin, agrupacin,
agregacin)
Modelo de almacenamiento de
datos centralizado muy
normalizado
La desnormalizacin como apoyo
a los requisitos de informes suele
provenir de aplicaciones de BI
como SQL Server Analysis Services
Estructuras de datos
dimensionales hospedadas en la
base de datos con grandes
cantidades de solicitudes
analticas y simultaneidad
relativamente baja
Los recorridos de largo alcance
son frecuentes

Casos de uso analticos ad-hoc


Uso importante de estructuras de
tabla del montn
Tablas con particiones grandes
con ndices clster que admiten
recorridos de alcance limitado
Tablas de hechos muy grandes
(por ejemplo, de centenares de
gigabytes a varios terabytes)
Tamaos de datos muy grandes
(por ejemplo, de centenares de
terabytes a un petabyte)

OLTP/ODS
las necesidades operativas

Inserciones y actualizaciones
especficas
Alto rendimiento de
transacciones (por ejemplo,
varias decenas de K/s)
Simultaneidad de usuario
global de media a alta; solicitud
mxima de consultas simultneas
de 50-100 o ms
Transacciones normalmente
muy cortas (por ejemplo,
bsquedas mnimas de filas
discretas)
Modelo de datos operativo muy
normalizado
Desnormalizacin frecuente
como ayuda para la toma de
decisiones; bsquedas
discretas de latencia baja y alta
simultaneidad
Retencin de datos histricos
limitada
Modelos de datos
desnormalizados extrados de
otros sistemas de origen como
apoyo a la toma de decisiones
de eventos operativos

Uso mnimo de estructuras de


tabla del montn
Estructuras de tabla de ndices
clster que admiten bsquedas
de registros detallados
(de 1 a pocas filas por solicitud)
Tablas de hechos menores (por
ejemplo, menos de 100 GB)
Tamaos de datos
relativamente pequeos
(por ejemplo, algunos terabytes)

Atributo

Afinidad de carga de trabajo:


Almacenamiento de datos
OLTP/ODS
Optimizacin de
Uso mnimo de ndices
Uso intensivo de optimizacin
base de datos
secundarios (descrito
de ndices secundarios
anteriormente como pocos ndices)
La creacin de particiones es
frecuente
Tabla 2: atributos de cargas de trabajo de almacenamiento de datos

14

Elegir una configuracin de referencia de FTDW


Hay tres enfoques generales para usar la metodologa de FTDW descrita en este documento.
Los dos primeros son especficos del uso de arquitecturas de referencia publicadas conformes
a Fast Track para el almacenamiento de datos. Estos enfoques permiten la seleccin de sistemas
prediseados publicados como parte del programa FTDW. El tercer enfoque trata la metodologa
bsica de Fast Track como gua para la creacin de un sistema de almacenamiento de datos
definido por el usuario. Para este ltimo enfoque es necesario generar perfiles de cargas de
trabajo detallados y realizar simulaciones del sistema antes de la compra o la implementacin.
Requiere conocimientos tcnicos profundos en las reas de configuracin de almacenamiento
y servidores empresariales, y de la optimizacin de bases de datos de SQL Server.

Opcin 1: evaluacin bsica


En este escenario, el cliente ya ha elegido una configuracin de referencia de FTDW o dispone de
mtodos alternativos para determinar los requisitos de servidor y de CPU. Si emplea esta opcin, no
es necesario realizar una evaluacin completa de la plataforma (es decir, una prueba de concepto).

Paso 1: evaluar el caso de uso del cliente


Las configuraciones de referencia de Fast Track Data Warehouse no son configuraciones
nicas de software y hardware. En su lugar, se configuran especficamente para las caractersticas
de una carga de trabajo de almacenamiento de datos. El primer paso para elegir una configuracin
consiste en identificar estas caractersticas; empiece por examinar las reas clave de los requisitos
del cliente y sus patrones de uso.
Carga de trabajo
Las definiciones de carga de trabajo de FTDW proporcionan dos puntos clave para la evaluacin
de casos de uso. El primero es un conjunto de principios bsicos que definen los elementos clave
de la carga de trabajo respecto al rendimiento de SQL Server. Estos principios se deben medir
minuciosamente para un caso de uso determinado porque la existencia de conflictos puede indicar
que una carga de trabajo de destino no es adecuada para una arquitectura de referencia de FTDW.
El segundo componente de una carga de trabajo es una descripcin general del caso de uso
previsto. Esto proporciona una descripcin general til del caso de uso y constituye un punto de
partida razonable para evaluar la idoneidad de la carga de trabajo.
Evaluacin de las cargas de trabajo
En la lista siguiente se describe un proceso bsico para la evaluacin de cargas de trabajo de
cliente. Se trata de una evaluacin cualitativa y debe considerarse una indicacin:
1. Defina los requisitos de la carga de trabajo de destino. Compare y contraste con los
atributos de carga de trabajo de FTDW. Para obtener ms informacin, vea la seccin
Carga de trabajo de FTDW de este documento.
2. Evale las prcticas recomendadas de FTDW. Se deben evaluar las prcticas
relacionadas con la administracin de bases de datos y la optimizacin de la arquitectura
de datos y del sistema para el caso de uso y el entorno operativo de destino.
15

Tomar una decisin


El objetivo de esta evaluacin de cargas de trabajo es asegurarse de que se puede tomar una
decisin totalmente informada cuando se elige una arquitectura de referencia de FTDW
validada. En realidad, la mayora de los escenarios de almacenamiento de datos representan
una combinacin de atributos conformes y en conflicto con respecto a la carga de trabajo de
FTDW. Aqu se enumeran los atributos de carga de trabajo de alta prioridad con una fuerte
afinidad para las configuraciones de referencia de Fast Track; se deben evaluar cuidadosamente
los casos de uso de cliente principales que entran en conflicto directamente con cualquiera de
estos atributos porque pueden invalidar la metodologa para el caso de uso.
Carga de trabajo
Los siguientes atributos de carga de trabajo tienen alta prioridad:

Las cargas de trabajo crticas presentan patrones de acceso a datos con muchos
recorridos (es decir, los que pueden beneficiarse de la colocacin secuencial de datos).
En general, las solicitudes de consulta individuales implican la lectura de decenas de
miles a millones (o ms) de filas.
Alta capacidad de datos y baja simultaneidad con respecto a las cargas de trabajo
OLTP comunes.
Baja volatilidad de los datos. Las actividades DML frecuentes de actualizacin y eliminacin
se deben restringir a un pequeo porcentaje del almacenamiento de datos total.

Administracin de bases de datos


Esto incluye prcticas de administracin de bases de datos, arquitectura de datos (modelo de
datos y estructura de tablas) e integracin de datos:

Arquitectura de datos con particiones y pocos ndices.


Administracin cuidadosa de la fragmentacin de la base de datos mediante estrategias
adecuadas de carga y ETL, y mantenimiento peridico.
Requisitos predecibles de crecimiento de los datos. Los sistemas FTDW estn
preparados para una capacidad totalmente equilibrada. La ampliacin del
almacenamiento requiere la migracin de datos.

Paso 2: elegir una arquitectura de referencia de FTDW publicada


Un cliente puede tener en mente un servidor al realizar una evaluacin simple basada en el
presupuesto o la experiencia. O bien, el cliente puede tener previamente una idea de la
capacidad de carga de trabajo o de un sistema existente en el que basar el anlisis de los
requisitos de ancho de banda. En cualquier caso, no realice una evaluacin completa de la
plataforma en una evaluacin bsica de FTDW. En su lugar, debe seleccionar una
configuracin de FTDW conforme que satisfaga los requisitos estimados del cliente.

16

Opcin 2: evaluacin completa


Las arquitecturas de referencia conformes a Fast Track proporcionen configuraciones de
componentes de hardware acordes con las cargas de trabajo definidas por el cliente. La
metodologa siguiente permite un enfoque optimizado para elegir una arquitectura de componentes
de base de datos que garantice el mejor equilibrio entre los requisitos, el rendimiento y la
escalabilidad de los casos de uso. En este enfoque se da por supuesto que se tienen
conocimientos profundos de la arquitectura del sistema de base de datos y la implementacin
de almacenamiento de datos. En este proceso suelen participar asociados de Fast Track
y recursos tcnicos de ventas de Microsoft.
Informacin general acerca del proceso
El flujo de proceso siguiente resume el proceso de seleccin de la evaluacin completa de FTDW:
1. Evaluar los atributos de carga de trabajo de Fast Track segn el escenario de uso
de destino.
2. Identificar los requisitos de servidor y/o de ancho de banda para el caso de uso del
cliente. Se debe elegir una configuracin de referencia de FTDW publicada antes de
comenzar una evaluacin.
3. Identificar una consulta que sea representativa del requisito de carga de trabajo del
cliente.
4. Calcular la Tasa de consumo de simulacin (BCR) de SQL Server para la consulta.
5. Calcular la Capacidad de datos de usuario (UDC) necesaria.
6. Comparar las tasas de BCR y UDC con la Tasa mxima de consumo de CPU (MCR)
y las tasas de Capacidad publicadas de las arquitecturas de referencia de Fast Track
conformes.
A continuacin se describen en detalle los puntos individuales del flujo de proceso de
evaluacin completa.
Paso 1: evaluar el caso de uso del cliente
Evaluacin de las cargas de trabajo
Este proceso es el mismo que para la Opcin 1: evaluacin bsica.
Seleccionar el hardware de evaluacin de FTDW
Antes de iniciar una evaluacin completa del sistema, debe elegir e implementar una
configuracin de referencia de FTDW publicada para las pruebas. Puede elegir entre varios
mtodos para identificar una configuracin de referencia adecuada. A continuacin se indican
los enfoques comunes:

17

Presupuesto. El cliente elige adquirir el sistema con mayor capacidad y/o el sistema con
mayor rendimiento segn el presupuesto disponible.
Rendimiento. El cliente elige adquirir el sistema con mayor rendimiento disponible.
Anlisis interno. La decisin se basa en el anlisis de las cargas de trabajo que el
cliente ha ejecutado en el hardware existente.

Anlisis ad hoc. La Herramienta de ajuste de tamao de FTDW proporciona un mtodo


bsico para calcular los requisitos del sistema de FTDW basndose en supuestos
bsicos sobre la carga de trabajo de la base de datos de destino. Esta herramienta de
hoja de clculo se puede descargar desde
http://download.microsoft.com/download/D/F/A/DFAAD98F-0F1B-4F8B-988F22C3F94B08E0/Fast%20Track%20Core%20Calculator%20v1.2.xlsx.

Paso 2: establecer mtricas de evaluacin


Las tres mtricas siguientes son importantes para una evaluacin completa de FTDW
y componen los criterios de decisin clave para la evaluacin de hardware:

Tasa mxima de consumo de ncleos de CPU (MCR)


Tasa de consumo de simulacin (BCR)
Capacidad de datos de usuario (UDC) necesaria

Para obtener ms informacin acerca del clculo de estas mtricas, vea la seccin
Simulaciones y validacin de este documento.
MCR
Esta mtrica mide la tasa mxima de procesamiento de datos de SQL Server para una consulta
y un conjunto de datos estndar para una combinacin especfica de servidor y CPU. Se trata
de una tasa por ncleo y se mide como un examen basado en consulta desde la memoria
cach. MCR es el punto de partida inicial para el diseo de sistemas Fast Track. Representa un
mximo estimado del ancho de banda de E/S necesario para el servidor, la CPU y la carga de
trabajo. MCR es til como gua de diseo inicial porque solo necesita un almacenamiento local
y un esquema de la base de datos mnimos para calcular el rendimiento potencial de una CPU
determinada. Es importante resaltar que MCR se emplea como punto de partida para el diseo
de sistemas, no es una medida del rendimiento del sistema.
BCR
BCR se mide mediante una serie de consultas que se consideran definitivas de la carga de
trabajo de FTDW. BCR se calcula en trminos de ancho de banda total de lectura del disco
y de la memoria cach, en lugar de la memoria cach nicamente como ocurre con el clculo
de MCR. BCR puede permitir la optimizacin de la infraestructura para un caso concreto de uso
de cliente al realizar las medidas sobre una serie de consultas que coinciden con los patrones
de carga de trabajo del cliente. O bien, en el caso de una FTRA validada de un asociado, se emplea
una serie de consultas de simulacin que aseguran que los sistemas estn diseados para cargas
de trabajo elevadas. En resumen, BCR es una medida real del procesamiento de datos mediante
varias consultas en cargas de trabajo simultneas con volmenes significativos de datos.
Capacidad de datos de usuario
Se trata de la capacidad prevista para la base de datos de SQL Server. La capacidad de datos
de usuario de Fast Track tiene en cuenta la compresin de base de datos posterior a la carga
y representa una estimacin de la cantidad de archivos de datos de usuario o de flujos sin
comprimir que se pueden cargar en el sistema Fast Track. La proporcin de compresin
estndar empleada para FTDW es 3,5:1.
18

Tenga en cuenta que cualquier ampliacin del almacenamiento ms all de la implementacin


inicial puede hacer necesaria una migracin de datos que seccione de manera eficiente los
datos existentes en las nuevas ubicaciones de archivo de base de datos. Por esta razn, es
importante tener en cuenta el crecimiento esperado de la base de datos y la duracin prevista
del sistema a la hora de elegir una arquitectura de referencia adecuada.
Paso 3: elegir una arquitectura de referencia de Fast Track Data
Warehouse
Una vez realizados los clculos, se puede comparar BCR con las tasas publicadas de MCR
y de capacidad proporcionadas por los asociados de Fast Track para cada FTRA publicada.
Para obtener ms informacin acerca de nuestros asociados, vea Fast Track Data Warehousing
(http://www.microsoft.com/sqlserver/en/us/solutions-technologies/data-warehousing/fasttrack.aspx).
Puede emplear la mtrica BCR como punto de referencia comn para evaluar los resultados de
la prueba/evaluacin del sistema con las configuraciones publicadas. A partir de los datos de BCR,
el cliente puede elegir la opcin de Fast Track ms acorde con los resultados de las pruebas.

Opcin 3: arquitecturas de referencia definidas por el usuario


Este enfoque aprovecha la metodologa de FTDW para adaptar un sistema a una carga de
trabajo o un conjunto de hardware determinado. Para usar este enfoque es preciso entender
perfectamente tanto SQL Server como los componentes de hardware que se ejecutan en l.
Los siguientes pasos describen el mtodo general para desarrollar una arquitectura de
referencia definida por el usuario conforme a los principios de FTDW.
Paso 1: definir la carga de trabajo
Es fundamental entender el caso de uso de la base de datos de destino para las configuraciones
de FTDW y esto es igualmente aplicable a cualquier aplicacin personalizada de las
instrucciones proporcionadas en este documento. Las instrucciones para las FTRA, en concreto
en lo que respecta a las cargas de trabajo, se pueden usar como modelo de referencia para
incorporar
la evaluacin de la carga de trabajo al diseo de la arquitectura de componentes.
Paso 2: establecer simulaciones de la arquitectura de componentes
Lo siguiente proporciona un marco bsico para desarrollar una arquitectura de referencia para
una carga de trabajo predefinida:
1. Establecer la Tasa mxima de consumo de ncleos de CPU (MCR) para el servidor y la
CPU elegidos. Use el mtodo descrito en la seccin Simulaciones y validacin de este
documento para calcular MCR. Tambin puede emplear las tasas de MCR publicadas
para las configuraciones de FTDW. Normalmente, las CPU de la misma familia tienen
tasas similares de consumo de ncleos de CPU para la base de datos de SQL Server.
2. Usar el valor de MCR para calcular los requisitos de almacenamiento y de red de
almacenamiento, y para crear un diseo de sistema inicial.
3. Obtener un sistema de prueba basado en el diseo de sistema inicial. Ser idealmente
toda la configuracin especificada.
19

4. Establecer una Tasa de consumo de simulacin (BCR). Segn la evaluacin de la carga


de trabajo, identifique una consulta o bien, en el caso ideal, un conjunto de consultas
representativas. Siga las prcticas descritas en la seccin Medir BCR para la carga de
trabajo de este documento.
5. Ajustar el diseo del sistema segn los resultados.
6. Establecer la configuracin final de servidor y almacenamiento.
Paso 3: validacin del sistema
El objetivo de la simulacin del sistema debe ser la validacin de la configuracin y el
rendimiento de la configuracin de componentes de hardware identificada en el paso 2. Para
obtener ms informacin sobre este proceso, vea la seccin Validar una FTRA definida por el
usuario de este documento. Para validar el sistema, siga estos pasos:
1. Evale el rendimiento de los componentes con los requisitos de rendimiento establecidos.
As se garantiza que el rendimiento del sistema real cumple las expectativas.
2. Valide el rendimiento del sistema volviendo a crear la configuracin final y ejecutando
simulaciones finales. Como regla general, el valor final de BCR debe alcanzar el 80 por
ciento o ms del valor de MCR del sistema.

Resumen de la eleccin de una FTRA


En la tabla siguiente se resumen las tres opciones de seleccin de una FTRA.
Opcin
Evaluacin bsica

Evaluacin completa

Arquitectura de referencia
definida por el usuario

20

Ventajas
Configuracin y adquisicin
del sistema muy rpidas
(de das a semanas)
Costo mnimo de diseo
y evaluation
Menores requisitos de
conocimientos de la
infraestructura
Arquitectura de referencia
predefinida adaptada a la
carga de trabajo esperada
Posible ahorro de costos
en hardware
Mayor confianza en la
solucin
Posibilidad de reutilizar
hardware existente
Posibilidad de incorporar
el hardware ms reciente
Sistema muy optimizado
para su caso de uso

Inconvenientes
Posibilidad de
almacenamiento excesivo
o de menos capacidad de
CPU de la especificada

La evaluacin conlleva
esfuerzo y tiempo
(de semanas a meses)
Necesita informacin
detallada de la carga
de trabajo de destino
El proceso dura varios
meses
Necesita muchos
conocimientos de la
infraestructura
Necesita muchos
conocimientos de

SQL Server
Tabla 3: comparacin de las distintas opciones de evaluacin

Configuracin estndar de FTDW


Arquitectura de los componentes de hardware
Las arquitecturas de referencia de FTDW actuales se basan en configuraciones de
almacenamiento dedicado. Entre las opciones publicadas actualmente se incluyen SAN
conmutado, SAN de conexin directa, SAS de conexin directa, SAS-RBOD e iSCSI. El
rendimiento de E/S de disco se consigue gracias al uso de contenedores de almacenamiento y
procesadores dedicados independientes. Cada proveedor de Fast Track publica detalles y
configuraciones adicionales. En la ilustracin 2 se muestran las unidades de creacin de nivel
de componente que conforman una arquitectura de referencia de FTDW basada en
almacenamiento SAN.

Ilustracin 2: configuracin de almacenamiento de ejemplo para un servidor con 2 sockets


y 12 ncleos
Requisitos y configuracin de componentes
Memoria del servidor
RAM total: la asignacin de RAM para las FTRA se basa en resultados de simulacin con el
objetivo de equilibrar el rendimiento lgico mximo (total de pginas ledas del disco y el bfer
21

con el tiempo) con el uso de la CPU. En la tabla 4 se muestran las asignaciones de memoria
recomendadas para las arquitecturas de referencia de SQL Server 2012. Los valores de
memoria mxima proporcionados no son lmites estrictos, sino que representan valores
promedio para sistemas validados correctamente.
Tamao del servidor
Memoria mnima
Memoria mxima
1 socket
64 GB
128 GB
2 sockets
128 GB
256 GB
4 sockets
256 GB
512 GB
8 sockets
512 GB
768 GB
Tabla 4: asignaciones de memoria recomendadas para SQL Server 2012
Tambin es importante tener en cuenta lo siguiente a la hora de evaluar los requisitos de
memoria del sistema:

Consulta de cach: las cargas de trabajo que atienden un porcentaje elevado de


consultas de cach pueden beneficiarse si se aumentan las asignaciones de RAM
a medida que la carga de trabajo crece.
Combinaciones hash y ordenaciones: las consultas que emplean combinaciones
hash a gran escala o que realizan operaciones de ordenacin a gran escala se
beneficiarn de la presencia de grandes cantidades de memoria fsica. Con menos
memoria, estas operaciones se vuelcan en el disco y usan mucho tempdb, lo que
introduce un patrn aleatorio de E/S en las unidades de datos del servidor.
Cargas: las inserciones masivas tambin pueden introducir operaciones de ordenacin
que usan tempdb si no se pueden procesar en la memoria disponible.
ndice de almacn de columnas optimizados en memoria xVelocity: las cargas de
trabajo que favorecen en gran medida los planes de consulta de ndices de almacn de
columnas se ejecutan de manera ms eficiente con bloques de memoria situados en el
extremo superior de los intervalos que se muestran en la tabla 4.

SAN de canal de fibra


HBA SAN: todos los componentes de red de HBA y SAN varan en cierta medida segn la
marca y el modelo. Adems, el rendimiento del contenedor de almacenamiento puede ser
sensible a la configuracin de SAN y a las capacidades de bus PCIe. Esta recomendacin es
una regla general y es coherente con las pruebas realizadas durante el desarrollo de la
configuracin de referencia de FTDW.
Si se emplea la divisin en zonas, en las zonas solo deben existir puertos que se usen para
Fast Track. La topologa y la configuracin de red de FC detalladas se documentan en la Gua
de configuracin tcnica proporcionada por cada asociado de Fast Track y son especficas de
cada FTRA publicada.
E/S de mltiples rutas (MPIO): se debe configurar MPIO. Cada volumen hospedado en
matrices de almacenamiento dedicadas debe tener al menos una ruta de acceso activa.
Round-robin con subconjunto es la directiva predeterminada que se emplea para las
configuraciones de Fast Track, pero apenas se usa para las arquitecturas de referencia de los
22

asociados, ya que los equipos de ingeniera del asociado de FTDW identifican configuraciones
ms ptimas. Los DSM y/o los documentos especficos de los asociados suelen prescribir
valores diferentes y se deben revisar antes de la configuracin.
Almacenamiento
Disco local: una matriz RAID1 de 2 discos es la asignacin mnima para la instalacin de
Windows Server y SQL Server. Se debe asignar suficiente espacio en disco para los requisitos
de RAM virtual y paginacin. En general, el espacio de disco disponible debe ser 250 GB o 1,5
veces la RAM del sistema, lo que sea mayor. La configuracin de disco restante depende del
caso de uso y de la preferencia del cliente.
Sistema de archivos lgico: se prefiere el montaje de LUN en rutas de carpeta de punto de
montaje en Windows, en lugar de letras de unidad, debido al nmero de volmenes presentes
en muchos sistemas Fast Track.
Tambin puede ser til entender qu asignacin de unidad del sistema operativo Windows
representa cada LUN (volumen), grupo de discos RAID y punto de montaje de Windows Server
en los contenedores de almacenamiento. Puede adoptar un esquema de nomenclatura para los
puntos de montaje y los volmenes al montar LUN en carpetas de Windows. Para obtener ms
informacin acerca de los esquemas de nomenclatura de dispositivos, vea la Gua de
configuracin tcnica proporcionada por cada asociado de Fast Track.
Puede emplear herramientas especficas del proveedor para lograr el esquema de nomenclatura
de volumen recomendado. Si no existe ninguna herramienta adecuada, puede hacer que haya
un disco a disposicin de Windows cada vez de las matrices de almacenamiento mientras
asigna nombres de unidad para garantizar una correcta topologa fsico a lgico.
Sistema de archivos fsico: para obtener ms informacin, incluidas instrucciones detalladas,
vea la seccin Configuracin de la aplicacin de este documento.
Configuracin de los contenedores de almacenamiento: todas las configuraciones de los
contenedores conservan sus valores predeterminados a menos que se indique lo contrario en
la documentacin tcnica del asociado de Fast Track. Las especificaciones de FTDW para la
configuracin del sistema de archivos requieren contenedores de almacenamiento que
permitan la configuracin especfica de agrupaciones de RAID y asignaciones de LUN.
Es preciso tener esto en cuenta si se sustituye hardware de configuracin de referencia
de FTDW o se evala hardware personalizado.

Configuracin de la aplicacin
Windows Server 2008 R2
A menos que se indique lo contrario, se debe usar la configuracin predeterminada para el
sistema operativo Windows Server 2008 R2 Enterprise. Asegrese de que se han aplicado el
Service Pack ms reciente y todas las actualizaciones crticas. La caracterstica E/S de mltiples
rutas es necesaria para muchas arquitecturas de referencia. Para obtener ms informacin
sobre la configuracin detallada de MPIO, vea la Gua de configuracin tcnica del asociado de
Fast Track para la arquitectura de referencia dada. Confirme que Windows Server 2008 R2 est
23

instalado como un rol Servidor de aplicaciones para asegurar la correcta instalacin y los
valores predeterminados de .NET Framework.
SQL Server 2012 Enterprise
Opciones de inicio
Se debe agregar -E a las opciones de inicio. Esto aumenta el nmero de extensiones contiguas
de cada archivo que se asignan a una tabla de base de datos a medida que crece. De esta
forma se mejora el acceso secuencial al disco. Para obtener ms informacin sobre esta
opcin, vea el Artculo 329526 de Microsoft Knowledge Base
(http://support.microsoft.com/kb/329526). Es importante asegurarse de que la opcin -E ha
surtido efecto en el inicio de la base de datos. La opcin distingue maysculas de minsculas y
el formato. Un espacio en blanco antes
o despus de la opcin puede impedir la inicializacin.
Tambin se debe agregar -T1117 a las opciones de inicio. Esta marca de seguimiento asegura
un crecimiento uniforme de todos los archivos de un grupo de archivos en caso de que se
habilite el crecimiento automtico. La recomendacin estndar de FTDW para el crecimiento
del archivo de base de datos es la asignacin previa en lugar de usar el crecimiento automtico
(con la excepcin de tempdb). Para obtener ms informacin, vea la seccin Detalles de
configuracin del almacenamiento de este documento.
Habilite la opcin Bloquear pginas en memoria. Para obtener ms informacin,
vea Habilitar la opcin de bloqueo de pginas en memoria (Windows)
(http://go.microsoft.com/fwlink/?LinkId=141863).
-T834 se debe evaluar caso a caso. Esta marca de seguimiento puede mejorar las tasas de
rendimiento de muchas cargas de trabajo de almacenamiento de datos. Esta marca habilita
asignaciones de pginas grandes en memoria para el grupo de bferes de SQL Server. Para
obtener ms informacin sobre esta y otras marcas de seguimiento, vea el Artculo 920093 de
Microsoft Knowledge Base (http://support.microsoft.com/kb/920093).
Nota: actualmente, SQL Server 2012 no admite el uso deT834 si se usan ndices de almacn
de columnas en la base de datos. Si piensa usar ndices de almacn de columnas, no emplee
esta marca de seguimiento.
Memoria mxima de SQL
En SQL Server 2012 no se debe asignar ms del 92 por ciento de la RAM total del servidor
a SQL Server. Si otras aplicaciones van a compartir el servidor, se debe ajustar en consecuencia
la cantidad de RAM que queda disponible para el sistema operativo. Este valor se controla
mediante la opcin max server memory. Para obtener ms informacin acerca de la configuracin
de memoria para las arquitecturas de referencia validadas, vea la documentacin del asociado
de FTDW.
Regulador de recursos
Las cargas de trabajo de almacenamiento de datos suelen incluir consultas complejas que
funcionan sobre grandes volmenes de datos. Estas consultas pueden consumir mucha
24

memoria y pueden volcarse a un disco si se limita la memoria. Este comportamiento tiene


implicaciones concretas en lo que respecta a la administracin de recursos. Puede usar la
tecnologa Regulador de recursos de SQL Server 2012 para administrar el uso de los recursos.
En la configuracin predeterminada de SQL Server, el Regulador de recursos proporciona un
mximo del 25 por ciento de los recursos de memoria de SQL Server a cada sesin. Esto significa
que, en el peor de los casos, tres consultas suficientemente grandes como para consumir al menos
el 25 por ciento de la memoria disponible bloquearn cualquier otra consulta que haga un uso
intensivo de la memoria. En este estado, cualquier consulta adicional cuya ejecucin necesite
una concesin grande de memoria se pondr en cola hasta que haya recursos disponibles.
Puede usar el Regulador de recursos para reducir la memoria mxima usada por consulta.
Sin embargo, como consecuencia, las consultas simultneas que de otra forma consumiran
grandes cantidades de memoria usan en su lugar tempdb, lo que introduce ms E/S aleatoria
y puede reducir el rendimiento global. Si bien puede ser beneficioso para muchas cargas de
trabajo de almacenamiento de datos el restringir la cantidad de recursos del sistema disponibles
para una sesin individual, se mide mejor mediante el anlisis de las cargas de trabajo de
consultas simultneas. Para obtener ms informacin sobre cmo usar el Regulador de
recursos, vea Regulador de recursos (http://msdn.microsoft.com/es-es/library/bb933866.aspx).
Tambin se deben examinar las instrucciones y las prcticas especficas del proveedor para
soluciones Fast Track. En concreto, las soluciones mayores de Fast Track de 4 y 8 sockets
pueden emplear una configuracin especfica del Regulador de recursos para lograr un
rendimiento ptimo.
En resumen, existe un equilibrio entre la reduccin de restricciones que proporcionan mayor
rendimiento para las consultas individuales y unas restricciones ms estrictas que garanticen
el nmero de consultas que se pueden ejecutar simultneamente.
Para obtener ms informacin sobre las prcticas recomendadas y los escenarios comunes
del Regulador de recursos, vea las notas del producto Usar el Regulador de recursos
(http://msdn.microsoft.com/es-es/library/ee151608.aspx).
Sistema de almacenamiento
Administrar la fragmentacin es fundamental para el rendimiento del sistema con el tiempo para
las arquitecturas de referencia de FTDW que colocan el almacenamiento de base de datos
principal en unidades de disco duro (HDD). Por ello, se especifica una configuracin detallada
del almacenamiento y el sistema de archivos.
Componentes del sistema de almacenamiento
La ilustracin 3 proporciona una vista que combina tres niveles principales de configuracin de
almacenamiento para la pila integrada de base de datos. Debe considerarse un caso de
referencia, ya que la topologa especfica vara en gran medida segn el asociado de Fast
Track. La pila tpica de la base de datos contiene los elementos siguientes:

25

Matriz de discos fsicos: RAID 1+0 de 4 ejes es el enfoque estndar representado en la


ilustracin 3. Tambin se han usado RAID 5 y RAID 6 en algunas arquitecturas de
referencia de asociados para SQL Server 2008 R2 y SQL Server 2012.
Asignacin de volmenes del sistema operativo (LUN)
Bases de datos: usuario, temporal del sistema, registro del sistema

Ilustracin 3: arquitectura completa de almacenamiento de ejemplo para un sistema FTDW


basado en tres contenedores de almacenamiento con un LUN (volumen) por grupo de discos
Detalles de configuracin del almacenamiento
Para cada contenedor de almacenamiento, haga lo siguiente.
1. Cree grupos de cuatro discos cada uno, mediante RAID 1+0 (RAID 10). El nmero
exacto de grupos de discos por contenedor de almacenamiento puede variar en funcin
del proveedor. Para obtener ms informacin, vea la documentacin especfica del
proveedor. En general, el nmero es (2) grupos de discos RAID10 y (1) grupo de discos
26

RAID1 para contenedores con factor de forma grande (LFF) y (5) grupos de discos
RAID10 para contenedores con factor de forma pequeo (SFF).
Los volmenes totales usados como ubicaciones de grupos de archivos para los datos
principales no deben superar los 32. Si el nmero total de LUN del sistema de
almacenamiento supera este umbral, se pueden usar grupos de discos mayores para
reducir el nmero de LUN manteniendo un rendimiento similar de E/S. Por ejemplo,
use un grupo de 8 discos RAID 10 con 1 LUN en lugar un grupo de 4 discos RAID 10
con 1 LUN. En el caso de grupos de discos mayores se reducen el rendimiento y la
eficiencia. Esto vara segn la tecnologa de almacenamiento empleada.
2. Dedique todos los grupos de discos salvo uno a los datos de usuario principales (PRI).
Las ubicaciones de los datos de usuario principales son sinnimas de las ubicaciones
de grupos de archivos de la base de datos de SQL Server.
Todas las FTRA requieren uno o dos LUN por grupo de discos de PRI. Consulte las
instrucciones especficas del proveedor correspondientes a la arquitectura de referencia
elegida. Estos LUN se emplean para almacenar los archivos de base de datos de SQL
Server (archivos .mdf y .ndf).
3. Asegrese de que la asignacin del procesador de almacenamiento principal para cada
volumen de disco asignado a los datos principales dentro de un contenedor de
almacenamiento est equilibrada de manera uniforme. Por ejemplo, un contenedor de
almacenamiento con cuatro volmenes de disco asignados para los datos principales
tendr dos volmenes asignados al procesador de almacenamiento "A" y dos asignados
al procesador de almacenamiento "B".
4. Cree un LUN en el grupo de discos restante para hospedar los registros de
transacciones de la base de datos. En algunas configuraciones mayores de Fast Track,
las asignaciones de registros se limitan exclusivamente a los primeros contenedores de
almacenamiento del sistema. En este caso se usan los grupos de discos adicionales
para el almacenamiento provisional que no sean bases de datos o se dejan sin rellenar
para reducir el costo.
Para cada base de datos, haga lo siguiente:
1. Cree al menos un grupo de archivos que contenga un archivo de datos por LUN de PRI.
Asegrese de que todos los archivos tengan el mismo tamao. Si piensa usar varios
grupos de archivos dentro de una nica base de datos para segregar objetos (por
ejemplo, una base de datos de ensayo para admitir carga), asegrese de incluir todos
los LUN de PRI como ubicaciones para cada grupo de archivos.
2. Al crear los archivos de cada grupo de archivos, asgnelos previamente a su mayor tamao
previsto, con un tamao suficientemente grande como para contener los objetos
previstos.
3. Deshabilite la opcin de crecimiento automtico para los archivos de datos y aumente
manualmente el tamao de todos los archivos de datos cuando se est acercando al
lmite de tamao actual.
4. Para obtener ms informacin acerca de las recomendaciones para bases de datos de
usuario y grupos de archivos, vea la seccin Administrar la fragmentacin de datos de
este documento.

27

En el caso de tempdb, haga lo siguiente:


1. Preasigne el espacio y agregue despus un nico archivo de datos por LUN. Asegrese
de que todos los archivos tengan el mismo tamao.
2. Asigne los archivos de registro temporales en uno de los LUN dedicados a archivos de
registro.
3. Habilite el crecimiento automtico; en general, el uso de un incremento de crecimiento
grande es adecuado para las cargas de trabajo de almacenamiento de datos. Un valor
equivalente al 10 por ciento del tamao de archivo inicial es un punto de partida
razonable.
4. Siga las prcticas recomendadas estndar de SQL Server para las consideraciones de
tamao de la base de datos y tempdb. Quizs sea necesaria una mayor asignacin de
espacio durante la fase de migracin o durante la carga inicial de los datos del
almacenamiento. Para obtener ms informacin, vea Planeamiento de capacidad para
tempdb (http://msdn.microsoft.com/es-es/library/ms345368.aspx) en los Libros en
pantalla de SQL Server.
Para el registro de transacciones, haga lo siguiente:
1. Cree un nico archivo de registro de transacciones por cada base de datos en uno de
los LUN asignados al espacio de registro de transacciones. Reparta los archivos de
registro de diferentes bases de datos entre los LUN disponibles o use varios archivos de
registro para el crecimiento del registro segn sea necesario.
2. Habilite la opcin de crecimiento automtico para los archivos de registro.
3. Asegrese de que la capacidad de registro es adecuada para los requisitos proporcionados
en la tabla 5. Se acepta alguna variacin, segn las caractersticas de diseo de sistemas
concretos.

RAM del sistema (GB)

Capacidad valorada de FT
(terabytes)

<= 96

<=10

<= 128

>10
<=40

Asignacin mnima de
registro recomendada
Espacio disponible
reflejado en GB
300 GB X 1 volumen
300 GB X 2 volmenes
o bien
600 GB X 1 volumen

Tabla 5: recomendaciones de asignacin de registro


Consulte las prcticas recomendadas existentes para la asignacin y la administracin de
registros de transacciones de SQL Server.
Almacenamiento de estado slido
Las arquitecturas de referencia de FTDW que utilizan almacenamiento de estado slido para
los datos principales (PRI) presentan muchas ventajas, incluida una administracin
simplificada, menores costos operativos y un mantenimiento predecible.

28

Administracin simplificada: el almacenamiento de estado slido no requiere la


administracin de la fragmentacin. Se debe seguir usando la opcin de inicio E de SQL
Server, pero no se necesita ninguna otra optimizacin o administracin de la asignacin de
pginas. Esta simplificacin hace que la administracin a largo plazo de los entornos de FTDW
sea mucho ms sencilla. Adems, se pueden usar grupos de discos mayores y un menor
nmero de volmenes/LUN sin que ello afecte negativamente al rendimiento. Este cambio
simplifica la creacin y el mantenimiento de grupos de archivos.
Resistencia de E/S: el almacenamiento de estado slido tiene una degradacin del rendimiento
mnima en condiciones de alta simultaneidad o fragmentacin de pginas. Adems, una carga
de trabajo mixta de lectura aleatoria (bsqueda) no afecta negativamente a los patrones de E/S
de solicitudes grandes (recorrido).
Mantenimiento predecible: muchas opciones de almacenamiento de estado slido proporcionan
supervisin basada en software de la duracin de escritura con una frecuencia menor de errores
fsicos difciles de predecir.
Menores costos operativos: si bien el precio de venta es mayor, el almacenamiento de
estado slido proporciona un equilibrio ms eficiente entre el rendimiento de E/S y la capacidad
por unidad. Una tasa eficiente de E/S de cargas de trabajo de FTDW para HDD SAS de 300
GB y 10k da de promedio 50 MB. El SSD Enterprise MLC consigue entre 150 y 200 MB en una
capacidad de 600 GB. Adems, el almacenamiento de estado slido consume mucha menos
potencia, genera menos calor y suele admitir soluciones de mayor densidad.
Configuracin del almacenamiento de estado slido
Se pueden realizarse los ajustes siguientes en las instrucciones estndar de configuracin del
almacenamiento de FTDW si se emplea almacenamiento de estado slido para los volmenes
de PRI.

29

Si se necesita creacin de reflejo, se puede usar RAID1+0 o RAID5. RAID5 proporciona


la mejor capacidad sin ninguna penalizacin de rendimiento para cargas de trabajo de
FTDW en estado slido.
El nmero de LUN y de volmenes se pueden reducir hasta solo un volumen de PRI por
unidad de almacenamiento. En algunos casos es til que el nmero de volmenes de
PRI sea un mltiplo del nmero de ncleos de la CPU. El nmero mnimo de volmenes
de PRI es dos.
El registro de transacciones se puede colocar tambin en el almacenamiento de estado
slido, pero las cargas de trabajo de FTDW no suelen estar enlazadas a registros. Es
posible reducir costos si se coloca el registro en un HDD tradicional. Lo mismo sucede
con el almacenamiento local para la instalacin de Windows Server y SQL Server.
Se pueden pasar por alto las recomendaciones sobre la administracin de la fragmentacin
de pginas y la carga paralela de ndices clster, ya que la fragmentacin de la base de
datos lgica no afecta al rendimiento de E/S del almacenamiento de estado slido.

Prcticas recomendadas de SQL Server para FTDW


Las prcticas para las cargas de trabajo de Fast Track se validan y documentan en dos casos.
El primero de ellos se produce si una prctica de Fast Track difiere sustancialmente de las prcticas
recomendadas establecidas de SQL Server. El segundo caso ocurre en aquellos escenarios donde
no existen prcticas o no son fcilmente accesibles. Las prcticas proporcionadas aqu no pretenden
ser completas, ya que existe mucha documentacin para la implementacin de bases de datos
de SQL Server. Muchos temas relacionados con una implementacin de FTDW se deben
consultar en la documentacin tcnica y las prcticas recomendadas existentes de SQL Server.
Importante: esta gua contiene varios vnculos a documentacin creada para SQL Server 2008
R2. Creemos que la mayora de estas instrucciones siguen siendo vlidas para SQL Server 2012.
Debe buscar las versiones actualizadas de estos documentos en cuanto estn disponibles. Las
versiones futuras de esta gua de referencia actualizarn los vnculos a medida que estn
disponibles.

Arquitectura de datos
Estructura de tabla
El tipo de tabla que se emplea para almacenar datos en la base de datos tiene un efecto
significativo sobre el rendimiento del acceso secuencial. Es muy importante disear el esquema
fsico teniendo esto en cuenta para permitir que los planes de consulta induzcan E/S secuencial
en la medida de los posible.
La eleccin de un tipo de tabla desciende al modo en que se obtendr acceso a los datos de la
tabla la mayora de las veces. Se puede usar la siguiente informacin como ayuda para determinar
qu tipo de tabla es preciso considerar segn los detalles de los datos que se van a almacenar.
Tablas de montn
Las tablas de montn proporcionan E/S secuencial limpia para los recorridos de tabla y suelen
reducir la sobrecarga en relacin con la fragmentacin de las tablas. Intrnsecamente no
permiten recorridos basados en intervalos (acceso directo) optimizados como ocurre en las
tablas de ndices clster. En una situacin de recorrido de intervalos, una tabla de montn
recorre toda la tabla (o la particin por rangos adecuada, si se aplica la creacin de
particiones).
El recorrido de tablas de montn alcanza el rendimiento mximo a los 32 archivos, por lo que el
uso de montones para tablas de hechos grandes en sistemas con nmeros elevados de LUN
(ms de 32) o de ncleos (ms de 16) puede requerir el uso del Regulador de recursos, restricciones
de DOP o cambios en la asignacin de archivos de base de datos estndar de Fast Track.
Es mejor usar tablas de montn en los casos siguientes:

30

La mayora de las consultas con prioridad alta en la referencia de tabla contienen


predicados que hacen referencia a diversas columnas dispares o no tienen ningn
predicado de columna.

31

Las consultas realizan normalmente recorridos grandes en lugar de recorridos de rango


limitado, como las tablas empleadas exclusivamente para rellenar cubos de Analysis
Services. (En esos casos, se debe dividir en particiones la tabla de montn con la
misma granularidad que el cubo de Analysis Services que se va a rellenar).
Los requisitos de la carga de trabajo de consulta se cumplen sin la sobrecarga
incremental de la administracin de ndices o el rendimiento de carga; las tablas de
montn se cargan ms deprisa.

Tablas de ndices clster


En el entorno de almacenamiento de datos, un ndice clster es ms eficiente cuando la clave
es una columna calificada por rango (como una fecha) que se usa con frecuencia en las
restricciones de la carga de trabajo de consulta pertinente. En esta situacin, el ndice se puede
usar para restringir considerablemente y optimizar los datos que se van a buscar.
Es mejor usar tablas de ndices clster si:

La tabla contiene columnas calificadas por rango que se emplean en las restricciones
de consulta para la mayora de los escenarios de carga de trabajo de consultas de alta
prioridad en la tabla. En las configuraciones de FTDW, la columna de fecha con
particiones de un ndice clster debe ser tambin la clave de ndice clster.
Nota: en algunos casos puede ser conveniente elegir una clave de ndice clster que no
sea la columna de particin de fecha para una tabla de ndices clster. Sin embargo, es
probable que esto provoque fragmentacin a menos que se carguen particiones completas,
ya que los datos nuevos que se superponen a intervalos existentes de clave de ndice
clster crean divisiones de pgina.

Las consultas de la tabla realizan normalmente bsquedas especficas o restringidas


a un intervalo, no recorridos de tablas completas o grandes recorridos de varios intervalos.

Particionamiento de tablas
El particionamiento de tablas puede ser una herramienta importante para administrar la
fragmentacin en bases de datos de FTDW. Por ejemplo, se puede usar el particionamiento
para actualizar o eliminar bloques grandes de datos de usuario basados en intervalos de una
tabla sin dirigirse a otras partes de la tabla. En cambio, la eliminacin fila a fila de un ndice
clster puede provocar una fragmentacin de extensin importante. Un escenario habitual es
volver a crear particiones nuevas despus de que envejezcan y la frecuencia de las operaciones
DML para el intervalo de datos disminuya. La particin es ahora estable con respecto a las
operaciones DML y tiene una fragmentacin de extensin mnima.
Adems, las tablas grandes que se emplean principalmente para rellenar cubos de SQL Server
Analysis Services se pueden crear como tablas de montn con particiones, estando el particionamiento
de las tablas alineado con el particionamiento de los cubos. Cuando se obtiene acceso, solo se
recorren las particiones pertinentes de la tabla grande. (Las particiones que admiten el modo
ROLAP de Analysis Services se pueden estructurar mejor como ndices clster).
Para obtener ms informacin sobre el particionamiento de tablas, vea las notas del producto
Estrategias de tablas e ndices con particiones con SQL Server 2008
(http://msdn.microsoft.com/es-es/library/dd578580(v=SQL.100).aspx).

32

Indizacin
Tenga en cuenta lo siguiente para la creacin de ndices de FTDW:

Use un ndice clster para intervalos de fechas o restricciones comunes.


Use un ndice de almacn de columnas siempre que sea posible. En la prxima seccin
se describen las prcticas recomendadas para trabajar con ndices de almacn de
columnas en entornos de FTDW.
Reserve la indizacin no clster para situaciones en las que se necesite bsqueda
especfica y el particionamiento de tablas no proporcione suficiente rendimiento. Si es
posible, emplee un ndice de almacn de columnas como alternativa al ndice no clster.
Los ndices de cobertura no clster pueden ser tiles para algunas cargas de trabajo de
almacenamiento de datos. Se deben evaluar caso a caso y comparar con el ndice de
almacn de columnas.

ndices de almacn de columnas optimizados en memoria xVelocity


SQL Server 2012 incluye una nueva caracterstica de aceleracin de consultas de
almacenamiento de datos basada en tecnologa de columnas: los ndices de almacn de
columnas. Estos nuevos ndices, en combinacin con las caractersticas mejoradas de
procesamiento de consultas, mejoran el rendimiento de las consultas de almacenamiento de
datos en una amplia gama de consultas analticas.
Los ndices de almacn de columnas optimizados en memoria xVelocity son almacenes de columnas
"puros" (no hbridos) porque almacenan todos los datos de las columnas incluidas en pginas
diferentes. Los ndices de almacn de columnas mejoran el rendimiento del recorrido de E/S
y las frecuencias de acierto del bfer, y son idneos para la metodologa de diseo de FTDW.
Prcticas recomendadas
Los objetos de ndice de almacn de columnas residen junto a las tablas y se crean de manera
similar a los ndices no clster. Esto implica que se necesita capacidad de memoria
incremental. No es necesario crear ndices de almacn de columnas en grupos de archivos
diferentes
a menos que se espere que el ndice realice cambios frecuentes en la tabla de destino.
El mantenimiento de ndices de almacn de columnas en grupos de archivos diferentes puede
ayudarle a administrar la fragmentacin de pginas con el tiempo en entornos muy voltiles.
Crear ndices de almacn de columnas para modelos de datos
normalizados
Los modelos de datos normales (es decir, 3NF) desencadenan a menudo combinaciones entre
dos o ms tablas grandes (de hechos). Estos tipos de combinaciones no son ideales actualmente
para el procesamiento de ndices de almacn de columnas y pueden presentar disminuciones
de rendimiento con respecto a los planes de consulta con ndices que no son de almacn de
columnas. Los enfoques siguientes pueden ayudarle a evitar este problema con los modelos
de datos normales:

33

Use sugerencias de nivel de consulta para impedir que se use el procesamiento de


ndices de almacn de columnas.
Use OPTION(IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX).
Vuelva a escribir las consultas. Para obtener ms informacin, vea los recursos
enumerados en la seccin Prcticas recomendadas generales de los ndices de
almacn de columnas de este documento.
Procure omitir las claves de combinacin comunes de una tabla que participa en las
combinaciones de SQL que muestran disminuciones de rendimiento con respecto a los
planes de consulta con ndices que no son de almacn de columnas. La omisin de la
clave de combinacin del ndice de almacn de columnas de una tabla puede hacer que
no se use el ndice de almacn de columnas para las consultas que se combinan en la
columna omitida. Este enfoque puede ser til en entornos donde no pueden aplicarse
opciones de nivel de consulta. Tenga en cuenta que la omisin de una columna del
ndice de almacn de columnas no garantiza un plan de consulta mejor y puede afectar
a otras consultas en las que el ndice de almacn de columnas proporcionara mejor
rendimiento. Si decide usar esta opcin, la seleccin de una columna de la menor de las
tablas implicadas puede reducir el impacto de rendimiento en otras consultas. Tenga en
cuenta que las claves principales declaradas (DDL) se deben incluir en el ndice de
almacn de columnas, lo que puede restringir las columnas de combinacin disponibles.
Aunque omita una columna de clave principal de la definicin de un ndice de almacn
de columnas, todas las columnas de clave principal se agregan automticamente al
ndice de almacn de columnas cuando se crea.

Si bien los modelos de datos normales no estn optimizados perfectamente para los ndices de
almacn de columnas en la versin actual, es importante destacar que las simulaciones de FTDW
se basan en una versin modificada de TPC-H, que es un modelo normalizado. Se siguieron
midiendo mejoras importantes para las cargas de trabajo simultneas que combinaban planes de
consulta con ndices de almacn de columnas y de otro tipo, incluido el rendimiento valorado de
FTDW que casi duplic el rendimiento global de las cargas de trabajo en algunos casos.
Crear ndices de almacn de columnas para modelos de datos
dimensionales
Siga las prcticas recomendadas de ndices de almacn de columnas estndar para los modelos
dimensionales como los esquemas de estrella. Esto se puede considerar un escenario del mejor
caso para el procesamiento de ndices de almacn de columnas.
Administracin de memoria para los ndices de almacn de columnas
Las FTRA validadas para SQL Server 2012 tienen normalmente ms RAM total del sistema que
las configuraciones similares para SQL Server 2008 R2. La razn principal es que las cargas de
trabajo mejoradas con ndices de almacn de columnas se ejecutan de manera ms eficiente
con bloques de memoria mayores. Siempre se debe usar el Regulador de recursos para
establecer la cantidad mxima de memoria por sesin para los entornos de FTDW en los que
piensa aprovechar los ndices de almacn de columnas. En las FTRA validadas se documentan
las configuraciones del Regulador de recursos empleadas para lograr un rendimiento
clasificado por FT y estos valores se pueden considerar un punto de partida para las cargas de
34

trabajo de cliente. Idealmente, la configuracin se evaluar y optimizar especficamente para


una carga de trabajo de cliente despus de la instalacin del sistema.
El comando SQL siguiente configura el Regulador de recursos de SQL Server segn estas
recomendaciones. En este caso, la cantidad mxima de memoria por sesin se establece en el
19 por ciento.
ALTER RESOURCE GOVERNOR RECONFIGURE;
ALTER WORKLOAD GROUP [default] WITH(request_max_memory_grant_percent=19);

Prcticas recomendadas generales de los ndices de almacn de columnas optimizados


en memoria xVelocity
Las instrucciones de referencia de FTDW solo abarcan prcticas nicas de Fast Track.
Para obtener ms informacin acerca de los ndices de almacn de columnas, vea la
Gua de optimizacin de los ndices de almacn de columnas de SQL Server 2012
(http://social.technet.microsoft.com/wiki/contents/articles/sql-server-columnstore-performancetuning.aspx) y P+F sobre los ndices de almacn de columnas de SQL Server 2012
(http://social.technet.microsoft.com/wiki/contents/articles/sql-server-columnstore-indexfaq.aspx).
Estadsticas de base de datos
La decisin de cundo ejecutar estadsticas y su frecuencia de actualizacin no depende de
ningn factor nico. La ventana de mantenimiento disponible y la falta total de rendimiento del
sistema suelen ser las dos razones principales por las que se abordan los problemas de las
estadsticas de base de datos.
Para obtener ms informacin, vea Estadsticas usadas por el optimizador de consultas en
Microsoft SQL Server 2008 (http://msdn.microsoft.com/es-es/library/dd535534.aspx).
Prcticas recomendadas
Se recomienda seguir estas prcticas recomendadas para las estadsticas de base de datos:

35

Use las opciones AUTO CREATE y AUTO UPDATE (sincrnicas o asincrnicas) para
las estadsticas (el valor predeterminado del sistema en SQL Server). El uso de esta
tcnica reduce al mnimo la necesidad de ejecutar estadsticas manualmente.
Si debe recopilar estadsticas manualmente, se deben recopilar idealmente para todas
las columnas de una tabla. Si no es posible ejecutar estadsticas para todas las
columnas, debe recopilar al menos estadsticas de todas las columnas que se usan en
la clusula WHERE o HAVING y en las claves de combinacin. La creacin de ndices
genera estadsticas sobre la clave de ndice, por lo que no tiene que hacerlo explcitamente.
Las estadsticas compuestas (de varias columnas) son fundamentales en muchos
escenarios de combinacin. Las combinaciones de dimensin de hechos que implican
claves de combinacin compuestas pueden producir planes de optimizacin de bucle
anidado poco ptimos en ausencia de estadsticas compuestas. Las estadsticas
automticas no crearn, actualizarn ni reemplazarn estadsticas compuestas.

Las estadsticas que incluyen un valor de clave que aumenta (como una fecha en una
tabla de hechos) deben actualizarse manualmente despus de cada operacin de carga
incremental. En todos los dems casos, se pueden actualizar las estadsticas con
menor frecuencia. Si determina que la opcin AUTO_UPDATE_STATISTICS no es
suficiente en su caso, ejecute estadsticas segn una programacin.

Compresin
Las configuraciones de FTDW estn diseadas con la compresin de pgina habilitada.
Se recomienda usar la compresin de pgina en todas las tablas de hechos. La compresin
de tablas de dimensiones pequeas (es decir, las que tienen menos de un milln de filas)
es opcional. En el caso de tablas de dimensiones mayores suele ser beneficioso usar la
compresin de pgina. En cualquier caso, la compresin de tablas de dimensiones se debe
evaluar para cada caso de uso. La compresin de fila es una opcin adicional que proporciona
tasas de compresin razonables para ciertos tipos de datos.
La compresin de pgina de SQL Server reduce los datos de tablas, ndices y particiones. Esto
reduce la cantidad de espacio fsico necesario para almacenar las tablas de usuario, lo que permite
que quepan ms datos en el grupo de bferes (memoria) de SQL Server. Una ventaja de esto es
la reduccin del nmero de solicitudes de E/S que se atienden desde el almacenamiento fsico.
La cantidad de compresin real que se puede observar vara segn los datos que se estn
almacenando y la frecuencia de campos de datos duplicados dentro de los datos. Si los datos
son muy aleatorios, las ventajas de la compresin son muy limitadas. Incluso en las mejores
condiciones, el uso de la compresin aumenta la demanda de la CPU para comprimir
y descomprimir los datos, pero tambin reduce los requisitos de espacio en disco fsico y en la
mayora de los casos mejora el tiempo de respuesta de las consultas al atender las solicitudes
de E/S desde el bfer de memoria. Generalmente, la compresin de pgina tiene una razn de
compresin (tamao original frente al tamao comprimido) de entre 2 y 7:1, siendo 3:1 una estimacin
conservadora tpica. Los resultados variarn en funcin de las caractersticas de los datos.

Administrar la fragmentacin de datos


La fragmentacin puede producirse en varios niveles y es necesario controlarlos todos para
mantener la E/S secuencial. Un objetivo clave de un FTDW es mantener los datos lo ms
ordenados secuencialmente como sea posible al tiempo que se limita la fragmentacin
subyacente. Si se permite que se produzca la fragmentacin, el rendimiento general del
sistema se resiente.
Es necesario realizar una desfragmentacin peridica, pero las siguientes instrucciones pueden
ayudarle a minimizar el nmero de procesos de desfragmentacin, que llevan mucho tiempo.
Fragmentacin del sistema de archivos
Los bloques de disco por archivo de base de datos deben ser contiguos en el disco fsico
dentro del sistema de archivos NTFS. Se puede impedir la fragmentacin en este nivel si se
preasigna a los archivos su tamao mximo esperado en el momento de su creacin.

36

Se deben evitar herramientas de desfragmentacin del sistema de archivos NTFS. Estas


herramientas estn diseadas para funcionar en el nivel del sistema operativo y no son
conscientes de las estructuras de archivos de datos internas de SQL Server.

37

Fragmentacin de extensin
Dentro de SQL Server, todas las pginas de un archivo, independientemente de la asociacin
de tabla, pueden intercalarse hasta el tamao de extensin (2M) o hasta el nivel de pgina
(8K). Esto se debe normalmente a operaciones DML simultneas, actualizaciones excesivas de
nivel de fila o eliminaciones excesivas de nivel de fila.
La reescritura total de la tabla o las tablas en cuestin es la nica forma de garantizar la
asignacin de pginas ptima dentro de un archivo. No existe ningn mtodo alternativo para
resolver este tipo de fragmentacin de base de datos. Por esta razn, es importante seguir las
instrucciones para la configuracin de SQL Server y las prcticas recomendadas para cargar
datos y administrar DML.
La consulta siguiente proporciona informacin fundamental para evaluar la fragmentacin
lgica de una tabla de FTDW. La mtrica con mayor prioridad es Average Fragment Size
(tamao promedio de fragmento). Este valor proporciona un entero que representa el nmero
promedio de pginas de SQL Server que se agrupan en extensiones contiguas.
SELECT db_name(ps.database_id) as database_name
,object_name(ps.object_id) as table_name
,ps.index_id
,i.name
,cast (ps.avg_fragmentation_in_percent as int) as [Logical Fragmentation]
,cast (ps.avg_page_space_used_in_percent as int) as [Avg Page Space Used]
,cast (ps.avg_fragment_size_in_pages as int) as [Avg Fragment Size In Pages]
,ps.fragment_count as [Fragment Count]
,ps.page_count
,(ps.page_count * 8)/1024/1024 as [Size in GB]
FROM sys.dm_db_index_physical_stats (DB_ID() --NULL = All Databases
, OBJECT_ID('$(TABLENAME)')
,1
, NULL
, 'SAMPLED') AS ps

--DETAILED, SAMPLED, NULL = LIMITED

INNER JOIN sys.indexes AS i


on (ps.object_id = i.object_id AND ps.index_id = i.index_id)
WHERE ps.database_id = db_id()
and ps.index_level = 0;

38

En la tabla siguiente se proporciona una regla general para interpretar los valores de tamao
promedio de fragmento.
Tamao promedio de fragmento
>400

Estado
Ideal

Accin
Es un valor ideal y puede ser difcil de
mantener para algunas estructuras de datos.
300-399
Verde
La tabla proporcionar un buen rendimiento
de E/S y no requiere el mantenimiento de la
fragmentacin lgica.
150-299
Amarillo
Es ms probable que la fragmentacin
lgica afecte a la eficacia de E/S. Se
recomienda realizar mantenimiento para
mejorar el nmero de fragmentos.
10-149
Rojo
Fragmentacin lgica importante. Las
solicitudes grandes de E/S en esta estructura
producirn un movimiento significativo de los
cabezales de disco y reducirn la eficacia de
E/S global del sistema.
<10
Rojo
Estos valores tan pequeos del tamao
promedio de fragmento suelen indicar que la
opcin de inicio E de SQL Server no se ha
establecido o no se ha reconocido en el inicio.
Tabla 6: valores del tamao promedio de fragmento
Por ltimo, es importante destacar que los resultados del tamao promedio de fragmento no se
deben evaluar para tablas o particiones menores de 500 MB. Las estructuras de datos pequeas
no tienen suficientes pginas en total para lograr cantidades de fragmento muy eficientes. Adems,
estas estructuras de datos menores suelen representar solicitudes de datos relativamente
pequeas y tienen un impacto limitado sobre la eficiencia de E/S global del sistema. Se suelen
conseguir mejores resultados cuando solo se administran las tablas mayores a las que se
obtiene acceso con ms frecuencia en un entorno de almacenamiento de datos.
Fragmentacin de ndices
Un ndice puede tener un orden fsico (pgina) y lgico (ndice) diferente.
No use el comando ALTER INDEX REORGANIZE para resolver este tipo de fragmentacin
porque su uso puede invalidar las ventajas de las asignaciones grandes. La regeneracin de un
ndice o el uso de INSERT... SELECT para insertar datos en una nueva copia del ndice (lo que
evita una reordenacin) puede resolver este problema. Todos los procesos ALTER INDEX
REBUILD deben especificar SORT_IN_TEMPDB=TRUE para evitar la fragmentacin del grupo
de archivos de destino. Un valor MAXDOP de 1 es ideal pero puede producir velocidades de
carga muy lentas. En algunos casos, es posible establecer los valores de MAXDOP hasta en 8.
Para obtener ms informacin, vea la seccin Cargar datos de este documento.

39

Varios grupos de archivos


Se pueden crear grupos de archivos diferentes para minimizar la fragmentacin lgica en casos
de uso de datos voltiles como los siguientes:

Tablas o ndices que se quitan y se vuelven a crear con frecuencia (dejando huecos en
el diseo de almacenamiento que otros objetos rellenan).
ndices para los que no hay otra opcin que admitir una fragmentacin elevada debido
a las divisiones de pgina, como ocurre cuando se cargan con frecuencia datos
incrementales que se superponen principalmente al intervalo existente de clave de
ndice clster.
Tablas menores (como tablas de dimensiones) que se cargan en incrementos
relativamente pequeos, que se pueden colocar en un grupo de archivos voltil para
evitar que esas filas se intercalen con tablas grandes de transacciones o de hechos.
Bases de datos provisionales desde las que se insertan datos en la tabla de destino final.

Otras tablas se pueden colocar en un grupo de archivos no voltil. Adems, las tablas de
hechos muy grandes tambin se pueden colocar en grupos de archivos diferentes.

Cargar datos
La arquitectura de componentes de Fast Track est equilibrada para los intervalos de
exploracin promedio ms elevados que se obtienen con el acceso a disco secuencial.
Para mantener estos intervalos de exploracin, se debe extremar la precaucin para garantizar
un diseo contiguo de los datos dentro del sistema de archivos de SQL Server.
Esta seccin est dividida en los dos mtodos siguientes: carga incremental y migracin de datos.
Estas instrucciones son especficas, pero no exclusivas, del almacenamiento de datos Fast Track.
Para obtener ms informacin sobre la carga masiva de SQL Server, vea Gua de rendimiento
de la carga de datos (http://msdn.microsoft.com/es-es/library/dd425070.aspx).
Otro recurso til es la Gua de prcticas recomendadas de carga de datos de Fast Track 3.0.
Esta presentacin de Microsoft PowerPoint se encuentra en el Portal de Fast Track DW de SQL
Server (http://msdn.microsoft.com/es-es/library/dd425070.aspx). Aunque este documento se
basaba inicialmente en SQL Server 2008 R2, sigue siendo aplicable a SQL Server 2012.
Cargas incrementales
En esta seccin se abordan los escenarios comunes de carga diaria de un entorno de
almacenamiento de datos. Esta seccin incluye escenarios de carga con uno o varios de los
atributos siguientes:

Tamao reducido con respecto a la memoria del sistema disponible


Las operaciones de ordenacin de carga son adecuadas para la memoria disponible
Tamao reducido con respecto a las filas totales del objeto de carga de destino

Se deben tener en cuenta las directrices siguientes cuando cargue tablas de montn y tablas
de ndices clster.
40

Proceso de carga de tablas de montn


Las inserciones masivas de tablas de montn se pueden implementar como un proceso en
serie o en paralelo. Use estas sugerencias:

Para ejecutar el movimiento de datos en la tabla de montn de destino, use BULK


INSERT con la opcin TABLOCK. Si la tabla permanente final tiene particiones, use la
opcin BATCHSIZE, ya que la carga en una tabla con particiones produce una
ordenacin en tempdb.
Para mejorar el rendimiento del tiempo de carga cuando se importan conjuntos de datos
grandes, ejecute simultneamente varias operaciones de insercin masiva para usar
paralelismo en el proceso masivo.

Proceso de carga de ndices clster


Existen dos enfoques generales para cargar tablas de ndices clster con una fragmentacin de
tabla mnima.
Opcin 1
Use BULK INSERT para cargar los datos directamente en la tabla de destino. Para obtener el
mximo rendimiento, todo el conjunto de datos que se va a cargar debe caber en una
ordenacin en memoria. Todos los datos cargados deben controlarse mediante una nica
operacin de confirmacin con un valor de BATCHSIZE de 0. Este valor impide que los datos
de varios lotes se intercalen y generen divisiones de pgina. Si emplea esta opcin, la carga
debe realizarse como un solo subproceso.
Opcin 2
Cree una tabla de ensayo que coincida con la estructura (incluidas las particiones) de la tabla
de destino:

41

Realice una insercin masiva serie o multiproceso en la tabla de ensayo vaca de


ndices clster usando valores de tamao de lote moderados distintos de cero para
evitar que las ordenaciones se desborden en tempdb. El mximo rendimiento se
consigue con cierto nivel de paralelismo. El objetivo de este paso es el rendimiento; por
tanto, las divisiones de pgina y la fragmentacin lgica provocadas por las inserciones
paralelas y/o simultneas no suponen ningn problema.
Inserte desde la tabla de ensayo en la tabla de ndices clster de destino mediante una
nica instruccin INSERT...SELECT con un valor MAXDOP de 1. MAXDOP 1 asegura
una fragmentacin de extensin mnima pero a menudo a costa del rendimiento. Se
pueden usar valores de MAXDOP de hasta 8 para aumentar el rendimiento de la carga,
pero esto aumentar la fragmentacin de extensin a medida que el paralelismo
aumente. El equilibrio eficiente de esta contrapartida se evala mejor caso a caso.

Opcin 3
Esta opcin requiere el uso de dos grupos de archivos y dos o ms tablas. El enfoque necesita
una tabla de ndices clster con particiones y es ms adecuado para las tablas que experimentan
niveles elevados de fragmentacin lgica en las particiones ms actuales con poca o ninguna
actividad de cambios en las particiones ms antiguas. El objetivo global es poner las particiones
voltiles en un grupo de archivos dedicado y envejecer o "mover" esas particiones al grupo de
archivos esttico cuando dejen de recibir registros nuevos o cambios a los registros existentes:

42

Cree dos grupos de archivos, segn las instrucciones de FTDW. Uno se destinar a las
particiones voltiles y el otro a las particiones estticas. Una particin voltil es aquella
en la que ms del 10 por ciento de las filas cambiar con el tiempo. Una particin
esttica es aquella que no es voltil.
Cree la tabla principal con particiones de ndices clster en el grupo de archivos
esttico.
Cree una tabla coherente con uno de los dos enfoques generales siguientes:
o Una nica tabla de montn con una restriccin que refleje el esquema de
particin de la tabla principal. Esta restriccin debe representar el intervalo voltil
del conjunto de datos principal y puede abarcar uno o varios intervalos de
particin del esquema de la tabla principal. Esto es ms til si el rendimiento de
carga inicial es el principal criterio de decisin porque las cargas en un montn
suelen ser ms eficientes que las cargas en un ndice clster.
o Una nica tabla de ndices clster con un esquema de particin que sea
coherente con la particin de la tabla principal. Esto permite realizar inserciones
directas con un bajo grado de paralelismo (DOP) en la tabla principal a medida
que las particiones voltiles envejecen. Una vez envejecidas mediante insercin
en la tabla principal, se quitan las particiones y se agregan nuevos intervalos.
Genere una vista que una ambas tablas. Esto presenta la combinacin de las dos tablas
como un nico objeto desde la perspectiva del usuario.
Una vez que los intervalos de datos voltiles se conviertan en estticos desde una
perspectiva de cambios de datos, use un proceso adecuado de envejecimiento como el
cambio de particiones:
o Si se usa una tabla de montn con restriccin, mueva los datos por intervalo de
particin al grupo de archivos esttico mediante la insercin en la tabla de ensayo.
Use CREATE INDEX y el cambio de particin para mover los datos a la tabla
principal. Para obtener ms informacin sobre este tipo de operacin para las
configuraciones de FTDW, vea la seccin Migracin de datos de este
documento.
o Si se usa un ndice clster con particiones, use un DOP que sea menor o igual
que 8. Despus, realice una operacin INSERT restringida por intervalo de
particin directamente en la tabla principal. Quizs tenga que establecer el DOP
en un valor tan bajo como 1 para evitar la fragmentacin, segn la simultaneidad
global del sistema.

Migracin de datos
Abarca escenarios de carga grande nica o poco frecuente en un entorno de almacenamiento
de datos. Estas situaciones pueden producirse durante la migracin de la plataforma o mientras
se cargan datos de prueba para la simulacin del sistema. Este tema incluye escenarios de
carga con uno o varios de los atributos siguientes:

Operaciones de carga que superan la memoria del sistema disponible


Operaciones de carga de gran volumen y alta simultaneidad que crean presin sobre la
memoria disponible

Proceso de carga de tablas de montn


Siga las instrucciones proporcionadas anteriormente para el procesamiento de carga incremental.
Proceso de carga de ndices clster
Existen varios enfoques generales para cargar tablas de ndices clster con una fragmentacin
de tabla mnima.
Opcin 1
Use BULK INSERT para cargar los datos directamente en una tabla de destino de ndices
clster. Las operaciones de ordenacin y el tamao de confirmacin completo deben caber en
la memoria para obtener el mximo rendimiento. Debe tener cuidado para asegurarse de que
los distintos lotes de datos que se carguen no tengan intervalos de clave de ndice que se
superpongan.
Opcin 2
Realice una insercin masiva serie o multiproceso en una tabla vaca de ensayo de ndices
clster con una estructura idntica. Use un tamao de lote moderado distinto de cero para
mantener las ordenaciones en memoria. Despus, inserte datos en una tabla vaca de ndices
clster mediante una sola instruccin INSERT...SELECT con un valor MAXDOP de 1.
Opcin 3
Use inserciones masivas multiproceso en una particin de una tabla de ensayo de montn
usando valores de tamao de lote moderados distintos de cero para mantener las ordenaciones
en memoria. A continuacin, use instrucciones INSERTSELECT serie o paralelo que
abarquen cada intervalo de particiones para insertar datos en la tabla de ndices clster.
Opcin 4
Use operaciones de cambio de particin en un proceso de varios pasos que suele proporcionar
los mejores resultados para operaciones grandes de carga. Este mtodo agrega ms
complejidad al proceso general y est diseado para mostrar un enfoque ptimo para el
rendimiento de carga sin formato. El objetivo principal de este enfoque consiste en habilitar la
actividad de escritura en paralelo en todas las fases de la insercin en la operacin de ndice
clster sin introducir fragmentacin lgica. Esto se consigue almacenando provisionalmente la
tabla en varios grupos de archivos antes de insertar los datos en la tabla de destino final.
1. Identifique el esquema de particin para la tabla de ndice clster de destino final.
43

2. Cree un grupo de archivos de ensayo.


3. Cree una tabla de ensayo "base" de montn sin comprimir y sin particiones en el grupo
de archivos de ensayo.
4. Inserte datos de forma masiva mediante TABLOCK WITH en la tabla de ensayo base.
Varias operaciones de copia masiva en paralelo son el enfoque ms eficiente si es
posible usar varios archivos de origen. El nmero de operaciones de carga en paralelo
para obtener el mximo rendimiento depende de los recursos del servidor (CPU
y memoria) y de los datos que se vayan a cargar.
5. Identifique el nmero de grupos de archivos principales que se van a admitir. Este
nmero debe ser un mltiplo del nmero total de particiones de la tabla de destino. El
nmero tambin representa el nmero total de operaciones INSERT y CREATE INDEX
que se van a ejecutar simultneamente en pasos posteriores. Por ejemplo, para una
tabla con 24 particiones y un servidor con ocho ncleos, sera indicada una base de
datos con ocho grupos de archivos principales. Esta configuracin permite la ejecucin
de ocho inserciones en paralelo en los pasos siguientes, una para cada uno de los ocho
grupos de archivos principales y ncleo de CPU. En este caso, cada grupo de archivos
contendra el valor de tres intervalos de particin de datos.
6. Cree el nmero de grupos de archivos principales que se haya determinado
anteriormente.
7. Cree una tabla de montn de ensayo en cada grupo de archivos principal para cada
intervalo de particin, sin compresin. Cree una restriccin en la tabla de ensayo que
coincida con el intervalo de particin correspondiente de la tabla de destino. Usando el
ejemplo proporcionado anteriormente, habra tres tablas de ensayo por cada grupo de
archivos principal creado en este paso.
8. Cree la tabla de ndices clster con particiones de destino con compresin de pgina.
Esta tabla se debe repartir entre todos los grupos de archivos principales. Las particiones
deben alinearse con los intervalos de restriccin de la tabla de ensayo de montn.
9. Ejecute una instruccin INSERT o SELECT desde la tabla de ensayo base en las tablas
de grupo de archivos de ensayo para cada grupo de archivos principal. Esto debe
hacerse en paralelo. Asegrese de que el predicado de la instruccin INSERT
o SELECT coincide con los intervalos de particin correspondientes. Nunca ejecute ms
de una instruccin INSERT o SELECT por grupo de archivos simultneamente.
10. Ejecute un comando CREATE CLUSTERED INDEX con compresin de pgina por
grupo de archivos para las tablas de ensayo recin rellenadas. Se puede hacer en
paralelo pero nunca con un DOP mayor que 8. Nunca ejecute ms de una creacin de
ndice por grupo de archivos simultneamente. Asegrese de usar la opcin
SORT_IN_TEMPDB siempre que realice una operacin CREATE INDEX para evitar la
fragmentacin de los grupos de archivos principales. El nmero ptimo de operaciones
simultneas de creacin de ndice depender del tamao del servidor, la memoria y los
propios datos. En general, procure un uso elevado de la CPU en todos los ncleos sin
suscripcin excesiva (el 85-90 por ciento de utilizacin global).
11. Ejecute operaciones serie de cambio de particin de las tablas de ensayo a la tabla de
destino. Esto se puede hacer al finalizar cada operacin CREATE INDEX de ensayo.

44

Simulaciones y validacin
Esta seccin proporciona una descripcin bsica de los procesos empleados para disear y
calificar las arquitecturas de referencia de FTDW de SQL Server. El objetivo de proporcionar
esta informacin es sustentar las arquitecturas de referencia definidas por el usuario o
personalizadas basadas en la metodologa de FTDW. Para realizar simulaciones, solucionar
problemas o comprobar las arquitecturas de referencia de asociados publicadas y ya validadas,
pngase en contacto con el asociado de publicacin (H-P, Dell, EMC, IBM, Cisco, etc.).
El proceso para la validacin de FTDW se puede dividir en las dos categoras que se describen aqu.
Validacin de hardware de lnea base
El objetivo de la validacin de hardware es establecer mtricas de rendimiento reales, no
calificadas, de los componentes de hardware clave de la arquitectura de referencia de Fast
Track. Este proceso determina las caractersticas de rendimiento reales de lnea base de los
componentes de hardware clave en la pila de la base de datos.
Validacin de la base de datos de Fast Track
El establecimiento de caractersticas de rendimiento de SQL Server, en funcin de una carga
de trabajo de FTDW, permite la comparacin con los supuestos de rendimiento proporcionados
por el proceso de evaluacin de hardware de lnea base. En general, la mtrica de rendimiento
de carga de trabajo de la base de datos debe reflejar al menos el 80 por ciento de las tasas de
lnea base para las arquitecturas de referencia validadas de Fast Track. Las mtricas de
rendimiento calculadas en este proceso son la base de los valores de rendimiento de FTDW
publicados y se basan en cargas de trabajo de consulta SQL simultneas ejecutadas con la
herramienta de simulacin Reference Point de Fast Track.
Reference Point es una herramienta de software de Microsoft distribuida a los asociados de
hardware de Fast Track y es la nica infraestructura a travs de la cual Microsoft puede validar
y aprobar una arquitectura de referencia oficial de Fast Track. La herramienta crea una
instancia de un esquema de la base de datos de referencia y controla varias cargas de trabajo
de consulta simultneas diseadas para identificar cuellos y establecer medidas clave del
rendimiento del sistema.
Validacin de Fast Track con ndices de almacn de columnas optimizados en
memoria xVelocity
SQL Server 2012 implementa la tecnologa de ndice de almacn de columnas como opcin de
ndices no clster para las tablas ya existentes. Las consultas individuales pueden usar o no
planes de optimizacin de ndices de almacn de columnas en funcin de la estructura de la
consulta. Esto significa que no se puede predecir la combinacin de planes de consulta de fila
tradicionales y de columnas nuevos para un entorno FTDW en un momento dado.
Por estos motivos, el diseo y la validacin del sistema de FTDW para SQL Server 2012 se
basa en simulaciones de ndices que no son de almacn de columnas. Los sistemas FTDW
estn diseados para funcionar eficazmente en caso de que no se alcance ninguna optimizacin
de columnas en ningn perodo de tiempo dado. Se suelen conseguir mejoras significativas de

45

rendimiento cuando los planes de consulta de ndices de almacn de columnas estn activos
y este rendimiento se puede considerar incremental respecto al diseo del sistema bsico.
Las arquitecturas de referencia de Fast Track para SQL Server 2012 validadas por los asociados
publican una tasa de rendimiento lgico adicional para las simulaciones mejoradas de ndices
de almacn de columnas y estas cifras se pueden emplear para calcular aproximadamente el
impacto positivo en el rendimiento de las consultas que los clientes pueden esperar en una
carga de trabajo de consulta simultnea. Estas cifras se basan en las mismas simulaciones
y el mismo esquema de FTDW usados para todas las validaciones del sistema.

Realizar la validacin de lnea base de FTDW


La validacin de lnea base se realiza en el nivel de sistema operativo con una herramienta
como SQLIO. La prueba de aplicaciones de SQL Server no se realiza en esta fase y todas las
pruebas son escenarios sintticos de mejor caso. El objetivo es garantizar que la configuracin
del hardware y del sistema operativo sea precisa y consiga los resultados esperados segn las
simulaciones de diseo y de desarrollo.
Se puede usar Monitor de rendimiento y confiabilidad de Windows Server (tambin conocido
como perfmon) para hacer un seguimiento, registrar y notificar el rendimiento de E/S. Se puede
usar una herramienta como SQLIO para probar el ancho de banda de E/S. Para obtener ms
informacin acerca de SQLIO, incluidas instrucciones y ubicaciones de descarga, vea las notas
del producto de SQLCAT Prcticas recomendadas de E/S antes de la implementacin
(http://sqlcat.com/sqlcat/b/whitepapers/archive/2007/11/21/predeployment-i-o-best-practices.aspx).
Se usan los componentes y procesos de validacin siguientes para generar simulaciones de
hardware de lnea base.
Pruebas de lnea base con SQLIO
El uso de SQLIO se describe con ms detalle en el artculo de prcticas recomendadas.
Las pruebas de lectura tienen normalmente el formato siguiente:
sqlio kR fSequential -s30 -o120 -b512 d:\iobw.tst t1
En este caso, R indica una prueba de lectura, 30 es la duracin de la prueba en segundos,
120 es el nmero de solicitudes pendientes emitidas, 512 es el tamao de bloque en kilobytes
de las solicitudes realizadas, d:\iobw.tst es la ubicacin del archivo de prueba y 1 es el nmero
de subprocesos.
Para probar escenarios de ancho de banda agregado, se deben emitir varias pruebas SQLIO
en paralelo. Se debe usar una nica instancia de SQLIO para cada punto de montaje de datos
principal (volumen de disco). La paralelizacin de las instancias de SQLIO se puede lograr
mediante Windows PowerShell u otros mtodos de scripting. En el caso de arquitecturas de
referencia de FTDW validadas por los asociados, quizs el asociado disponga de scripts de
validacin de E/S de lnea base.
El artculo de prcticas recomendadas previas a la implementacin tambin explica cmo
realizar un seguimiento de las pruebas con el Monitor de rendimiento y confiabilidad de Windows
46

Server. El registro y el almacenamiento de los resultados de estas pruebas le aportar una lnea
base para el anlisis de rendimiento y la resolucin de problemas en el futuro.
Paso 1: validar el ancho de banda de E/S
El primer paso para validar una configuracin de FTDW consiste en determinar el rendimiento
agregado mximo que se puede observar entre la red de E/S de almacenamiento y el servidor.
Esto implica quitar el disco como cuello de botella y centrarse en los componentes que no son
de disco (es decir, los HBA, la infraestructura de conmutador y las controladoras de matriz).
Use los pasos siguientes para realizar esta tarea con SQLIO:
1. Genere un pequeo archivo de datos en cada LUN que se usar para los archivos de
base de datos. El tamao de estos archivos debe permitir que todos los archivos de
datos quepan en la memoria cach de lectura de las controladoras de matriz (por
ejemplo, 50 MB por archivo).
2. Use SQLIO para emitir lecturas secuenciales en el archivo de forma simultnea usando
tamaos de E/S de bloque grandes (512K) y al menos dos subprocesos de lectura por
archivo. Asegrese de calcular las lecturas pendientes agregadas. Por ejemplo,
2 subprocesos de lectura con 50 solicitudes pendientes daran un total de
100 solicitudes pendientes en el LUN de destino.
3. Empiece con un valor relativamente bajo para las operaciones de E/S pendientes (-o)
y repita las pruebas aumentando este valor hasta que no haya ninguna mejora en el
rendimiento agregado.
El objetivo de esta prueba es alcanzar un rendimiento agregado que sea razonable en comparacin
con los lmites tericos de los componentes de la ruta de acceso entre el servidor y el almacenamiento.
Esta prueba valida el ancho de banda entre el servidor y los procesadores de almacenamiento
SAN; es decir, las rutas de acceso de canal de fibra de mltiples rutas.
Paso 2: validar el ancho de banda de LUN/volumen
Esta prueba es similar a la anterior. Sin embargo, se emplea un archivo mayor para quitar
posibles beneficios de la memoria cach de matriz de la memoria cach de la controladora.
Estos archivos de prueba deben ser suficientemente grandes para simular el tamao del
archivo de base de datos de destino por volumen, por ejemplo 25 GB por volumen. Se deben
usar parmetros similares para SQLIO como se describe en el paso 1.
Se deben emitir lecturas secuenciales de bloques grandes (512 KB) en los archivos de prueba
de cada volumen. Se recomienda usar un nico subproceso por archivo con una profundidad
de solicitudes pendientes de entre 4 y 16 (empiece con un valor pequeo y vaya aumentndolo
hasta que se alcance el mximo rendimiento). En primer lugar, pruebe cada volumen individualmente
y pruebe despus los dos simultneamente. El rendimiento del grupo de discos vara segn el
proveedor y la configuracin de almacenamiento, pero siempre se puede hacer una comparacin
con las tasas de lectura de un solo HDD. Por ejemplo, un grupo de 4 discos RAID1+0 podra
alcanzar una tasa de lectura mxima de casi cuatro veces la tasa de lectura de un solo HDD
para este tipo de patrn bsico de lectura. El rendimiento de RAID 1 o 1+0 puede variar en
funcin del producto de almacenamiento, ya que la tecnologa de algunos proveedores permiten

47

la "lectura reflejada", que permite atender las operaciones de E/S desde ambos lados del par
reflejado cuando se reciben solicitudes contiguas.
Paso 3: validar el ancho de banda agregado
En esta prueba, se deben ejecutar lecturas secuenciales en todos los volmenes de datos
disponibles de forma simultnea en los mismos archivos usados en el paso 2. SQLIO se debe
ejecutar usando dos subprocesos por archivo de prueba, con un tamao de E/S de 512K y un
nmero ptimo de E/S pendientes segn determine la prueba anterior.
Los resultados de esta prueba muestran el rendimiento agregado mximo que se puede
conseguir al leer datos de los discos fsicos.
Los datos se leen del archivo de datos grande, como en la prueba anterior, en cada volumen
simultneamente.
El rendimiento agregado del disco debe estar entre el 80 y el 90 por ciento del ancho de banda
agregado de E/S de almacenamiento para los sistemas FTDW equilibrados.
Valoraciones de los componentes
En el diagrama siguiente se muestran los resultados de simulaciones sintticas que son coherentes
con los valores que se obtienen en arquitecturas de referencia de Fast Track similares.

48

Ilustracin 4: ejemplo de simulacin sinttica que obtuvo el ancho de banda para un servidor
de 2 sockets con 12 ncleos, con 3 tarjetas HBA de 8Gbps de puerto doble, con 12 volmenes
de datos principales de 4 discos RAID1+0
Resumen
Las simulaciones de hardware de lnea base validan la capacidad de ancho de banda real para
los principales componentes de hardware de la pila de la base de datos. Para ello se ejecuta
una serie de pruebas sintticas del caso mejor mediante una herramienta como SQLIO.

Realizar simulaciones de base de datos de Fast Track


Esta fase de la evaluacin de FTRA mide el rendimiento de SQL Server para la carga de
trabajo de FTDW segn dos mtricas principales. La primera, Tasa mxima de consumo de
CPU (MCR), es una medida del rendimiento mximo de procesamiento de E/S. La segunda,
Tasa de consumo de simulacin (BCR), es una medida del rendimiento real de procesamiento
de E/S para una consulta o una carga de trabajo basada en consultas.

49

Qu es MCR?
El clculo de MCR proporciona un valor de rendimiento de E/S por ncleo en MB o GB por
segundo. Este valor se mide ejecutando una consulta predefinida no optimizada de solo lectura
desde la memoria cach del bfer y midiendo el tiempo que se tarda en ejecutar con la cantidad
de datos en MB o GB. Puesto que MCR se ejecuta desde la memoria cach, representa el intervalo
de exploracin no optimizado mximo que se puede conseguir con SQL Server para el sistema
que se est evaluando. Por esta razn, MCR proporciona una tasa mxima de la lnea base para
el diseo inicial. No est pensada para indicar los resultados promedio o previstos para una carga
de trabajo real. Las arquitecturas de FTDW validadas tendrn resultados agregados de rendimiento
de E/S de lnea base que sean al menos el 100 por cien del valor de MCR calculado en el servidor.
Otra manera de explicar esto es que MCR representa la mejor velocidad de procesamiento
posible de SQL Server para una carga de trabajo razonable del caso peor.
MCR se puede usar tambin como marco de referencia a la hora de comparar otras
arquitecturas de referencia de FTDW publicadas y validadas para SQL Server 2012.
En resumen:

MCR no es una medida definitiva de los resultados reales para una carga de trabajo de
cliente.
MCR proporciona una lnea base de velocidad mxima de procesamiento de datos para
SQL Server y una nica consulta asociada a la carga de trabajo de Fast Track.
MCR es especfica de una CPU y un servidor. En general, las valoraciones para una
CPU dada no varan mucho segn el servidor y la arquitectura de la placa base, pero el
valor final de MCR se debe determinar mediante pruebas reales.
La tasa de rendimiento de MCR se puede usar como valor comparativo con
arquitecturas de referencia de FTDW existentes ya publicadas. Esto puede ayudar
a elegir el hardware antes de realizar las pruebas de componentes y de aplicaciones.

Calcular MCR
Para establecer una tasa de consumo de CPU de lnea base para la aplicacin de SQL Server
se ejecuta una consulta SQL estndar definida para el programa FTDW. Esta consulta est
diseada de forma que sea una representacin relativamente sencilla de una consulta tpica
para el tipo de carga de trabajo (en este caso, almacenamiento de datos) y se ejecuta desde la
memoria cach del bfer. El valor resultante es especfico de la CPU y el servidor en los que se
est ejecutando la consulta. Use el mtodo siguiente para calcular MCR:
1. Cree un conjunto de datos de referencia basado en la tabla lineitem de TPC-H o un
conjunto de datos similar. El tamao de la tabla debe permitir su almacenamiento entero
en memoria cach en el grupo de bferes de SQL Server y mantener un tiempo de
ejecucin mnimo de un segundo para la consulta proporcionada aqu.
2. Para FTDW se emplea la consulta siguiente: SELECT sum([campo entero]) FROM
[tabla] WHERE [restringir al volumen de datos adecuado] GROUP BY [col].
3. El entorno debe:
o Asegurarse de que la configuracin del Regulador de recursos tiene los valores
predeterminados.
50

Asegurarse de que la consulta se est ejecutando desde la memoria cach del


bfer. La primera ejecucin de la consulta debe colocar las pginas en el bfer
y las ejecuciones posteriores deben leer solo del bfer. Compruebe que no se
realizan lecturas fsicas en el resultado de estadsticas de la consulta.
o Establecer STATISTICS IO y STATISTICS TIME en ON para generar los
resultados.
Ejecute varias veces la consulta, con MAXDOP = 4.
Registre el nmero de lecturas lgicas y el tiempo de CPU del resultado de las
estadsticas para cada ejecucin de la consulta.
Calcule el valor MCR en MB/s mediante esta frmula:
( [Lecturas lgicas] / [Tiempo de CPU en segundos] ) * 8 kB / 1024
Se debe obtener un intervalo de valores coherente (+/- 5 %) en un mnimo de cinco
ejecuciones de la consulta. Unos valores atpicos significativos (+/- 20 % o ms) pueden
indicar problemas de configuracin. El promedio de al menos 5 resultados calculados es
el valor MCR de FTDW.
o

4.
5.
6.
7.

Segn el clculo de MCR, se puede elaborar un diagrama de rendimiento de la arquitectura de


componentes. De cara a la evaluacin del valor MCR del sistema, el rendimiento de componentes
se basa en el ancho de banda calificado por el proveedor. Este diagrama puede resultar til
para el diseo, la seleccin y el anlisis de cuellos de botella del sistema. En la ilustracin 5 se
muestra un ejemplo de esto.

51

Ilustracin 5: ejemplo de Tasa mxima de consumo de CPU (MCR) y ancho de banda de


componentes calificado para un servidor de 2 sockets y 12 ncleos basado en las CPU Intel
Westmere
Para obtener ms informacin sobre cmo medir MCR, vea Prueba de cargas de trabajo en el
apndice.
Calcular BCR
Para establecer una tasa de consumo de CPU de simulacin para la aplicacin de SQL Server
se ejecutan un conjunto de consultas SQL de lnea base, bajo un nivel adecuado de simultaneidad,
que son especficas de la carga de trabajo de almacenamiento de datos. El nmero de consultas
y el nivel de simultaneidad empleados dependen completamente del caso de uso esperado. La
carga de trabajo de consultas se debe atender desde el disco, no desde el grupo de bferes de
SQL Server como ocurre con MCR. El valor resultante es especfico de la CPU, el servidor y la
carga de trabajo con los que se est ejecutando. La seccin Prueba de cargas de trabajo del
apndice proporciona un ejemplo ms detallado de la creacin de una simulacin de cargas de
trabajo de BCR.

52

Use el mtodo siguiente para calcular BCR:


1. Cree un conjunto de datos de referencia que contenga al menos una tabla. La tabla
debe tener un tamao suficientemente grande para que no se almacene completamente
en la memoria cach del grupo de bferes de SQL Server o en la memoria cach de
matriz de SAN. En ausencia de datos de cliente, se puede usar un conjunto de datos
sinttico. Es importante intentar calcular aproximadamente las caractersticas esperadas
de los datos para el caso de uso de destino.
2. El formato bsico de la consulta para FTDW es el siguiente: SELECT sum([campo entero])
FROM [tabla] WHERE [restringir al volumen de datos adecuado] GROUP BY [col].
Se puede usar como punto de partida para el diseo de cargas de trabajo de consulta si
no hay disponibles consultas del cliente. TPC-H es otra simulacin de consulta que se
emplea con frecuencia y que se puede usar como conjunto de consultas de referencia.
3. En el caso de una simulacin de cliente de FTDW, lo ideal es elegir siempre consultas
que sean representativas de la carga de trabajo de destino. Las consultas se deben
programar en varias sesiones simultneas que sean representativas de la actividad
histrica o prevista mxima para el entorno del cliente. Se pueden tener en cuenta los
criterios siguientes a la hora de seleccionar la consulta:
Los requisitos promedio de cargas de trabajo de destino estn representados.
Esto puede implicar aumentar o reducir la complejidad del formato bsico de la
consulta, agregar combinaciones y/o descartar ms o menos datos mediante
proyeccin y restriccin.
La consulta no debe provocar escrituras de datos en tempdb a menos que esta
caracterstica sea una parte esencial de la carga de trabajo de destino.
La consulta debe devolver el nmero mnimo de filas. Se puede emplear la opcin
SET ROWCOUNT para administrar esto. Se debe usar un valor de ROWCOUNT
mayor que 100 (105 es el estndar para las simulaciones de Fast Track). Tambin
es posible emplear agregacin para reducir los registros devueltos de recorridos
sin restriccin grandes.
4. El entorno debe:
Asegurarse de que la configuracin del Regulador de recursos est establecida
en los valores predeterminados.
Asegurarse de que se borran las memorias cach antes de ejecutar la consulta,
mediante DBCC dropcleanbuffers.
Establecer STATISTICS IO y STATISTICS TIME en ON para generar los resultados.
5. Ejecute varias veces la consulta o la carga de trabajo, comenzando con MAXDOP 8.
Cada vez que ejecute la consulta, aumente el valor de MAXDOP de la consulta,
borrando las memorias cach entre cada ejecucin.
Registre el nmero de lecturas lgicas y el tiempo de CPU del resultado de las
estadsticas.
Calcule el valor BCR en MB/s mediante esta frmula:
( [Lecturas lgicas] / [Tiempo de CPU en segundos] ) * 8 kB / 1024
Esto le da un intervalo para BCR. Si se emplean varias consultas, use un
promedio ponderado para determinar el valor de BCR.

53

Resultados de BCR
En la ilustracin 6 se muestran los resultados de simulaciones basadas en cargas de trabajo de
SQL Server que son coherentes con los valores que se obtienen en arquitecturas de referencia
de Fast Track Data Warehouse similares.

Ilustracin 6: ejemplo de simulacin sinttica que obtuvo el ancho de banda para un servidor
de 2 sockets con 12 ncleos, con 3 tarjetas HBA de 8 Gbps de puerto doble, con 12 LUN de
datos principales de 4 discos RAID1+0

54

Interpretar el valor de BCR


Si su valor de BCR para la consulta promedio es mucho menor que el valor de MCR estndar
establecido para la FTRA, es probable que est limitado por la CPU. Como respuesta, puede
que piense en reducir el rendimiento de almacenamiento, por ejemplo reduciendo el nmero de
matrices, introduciendo ms discos por matriz o aumentando el tamao de los discos; estos
pasos pueden ayudar a reducir el costo de la infraestructura de almacenamiento hasta un nivel
equilibrado. Puede que piense tambin en usar un servidor con ms sockets o CPU de mayor
rendimiento que puedan aprovechar el excedente de rendimiento de E/S de almacenamiento.
En cualquier caso, el objetivo es equilibrar la capacidad de procesamiento de la base de datos
con el rendimiento de E/S de almacenamiento.
Por tanto, si el valor de BCR es mayor que el de MCR, quizs necesite ms rendimiento de E/S
para procesar una carga de trabajo de consultas de forma equilibrada.

Arquitecturas publicadas de referencia de FTDW


Todos los asociados que participan en Fast Track Data Warehouse disponen de especificaciones
detalladas de la arquitectura de referencia de hardware. Para obtener ms informacin,
incluidos vnculos a todos los asociados, vea Fast Track Data Warehousing
(http://www.microsoft.com/sqlserver/en/us/solutions-technologies/data-warehousing/fast-track.aspx).
La capacidad de FTDW se evalu segn la cantidad estimada de archivos de datos de usuario
no comprimidos que se pueden cargar en la base de datos. Esto se denomina Capacidad de
datos de usuario (UDC). Este clculo presupone que la compresin de pgina est habilitada
para todas las tablas y que se reflejarn todos los volmenes de datos. Se emplea un factor
promedio de compresin de 3,5:1. Adems, se realiza una asignacin de hasta el 30 por ciento
de la capacidad no comprimida a tempdb antes de calcular la UDC. Tenga en cuenta que para
configuraciones mayores con ms capacidad total esta proporcin se reduce hasta el 20 por ciento.
Para obtener ms informacin sobre el ajuste de tamao de tempdb, vea Planeamiento de
capacidad para tempdb (http://msdn.microsoft.com/es-es/library/ms345368.aspx).

Conclusin
SQL Server Fast Track Data Warehouse ofrece una plantilla y herramientas para hacer realidad
un almacenamiento de datos, desde el diseo hasta la implementacin. En este documento se
describe la metodologa, las opciones de configuracin, las prcticas recomendadas, las
configuraciones de referencia, y las tcnicas de simulacin y validacin para Fast Track Data
Warehouse.

55

Para obtener ms informacin:


Sitio web de SQL Server
Sitio web de SQL Server Fast Track
SQL Server TechCenter
Recursos en lnea de SQL Server
Las 10 mejores prcticas recomendadas para generar un almacenamiento de datos relacional
a gran escala (equipo SQLCAT)
Habilitar la opcin de bloqueo de pginas en memoria (Windows)
Optimizar opciones de SQL Server 2005 y SQL Server 2008 para cargas de trabajo de alto
rendimiento
Configurar SQL Server para que use NUMA de software
Inicializacin de archivos de base de datos
Ver o cambiar el modelo de recuperacin de una base de datos (SQL Server Management
Studio)
Supervisar el uso de la memoria
Solucionar problemas de red de rea de almacenamiento (SAN)
Instalar y configurar MPIO
Notas del producto Conceptos bsicos de E/S de SQL Server 2000
Compresin de datos: estrategia, planeamiento de capacidad y prcticas recomendadas

Le sirvi de ayuda este documento? Envenos sus comentarios. Dganos, en una escala del
1 (poco til) al 5 (excelente), cmo calificara este documento y por qu lo valora con esta
puntuacin. Por ejemplo:

Lo valora alto debido a que tiene buenos ejemplos, capturas de pantalla excelentes,
una redaccin comprensible u otra razn?
Lo valora bajo debido a que sus ejemplos son escasos, las capturas de pantalla son
borrosas o su redaccin es poco clara?

Esta informacin nos ayudar a mejorar la calidad de las notas del producto que publicamos.
Enviar comentarios.

56

Apndice
Herramienta de ajuste de tamao de FTDW
La Herramienta de ajuste de tamao de FTDW es una calculadora en forma de hoja de clculo
que le ayuda en el proceso para calcular un requisito de carga de trabajo de cliente en trminos
de rendimiento de FTDW. Puede usar esta herramienta si no dispone de una plataforma de pruebas
o como punto de partida para evaluar los requisitos del cliente. La herramienta se encuentra en
Fast Track Data Warehousing (http://www.microsoft.com/sqlserver/en/us/solutionstechnologies/data-warehousing/fast-track.aspx). Adems, algunos proveedores asociados han
generado sus propias herramientas de ajuste de tamao de Fast Track. Se pueden encontrar
en los sitios web de los asociados.

Validar una FTRA definida por el usuario


Prueba de E/S sinttica
SQLIO es una herramienta que se puede descargar desde el sitio web de Microsoft que le
permite probar el subsistema de E/S independientemente de SQL Server.
Generar archivos de prueba con SQLIO
Cuando se ejecuta SQLIO, crea un archivo de prueba adecuado, si ese archivo no est ya
presente. Para generar un archivo de un tamao concreto, use el parmetro F. Por ejemplo,
use un archivo de parmetros (param.txt) que contenga lo siguiente:
C:\stor\pri\1\iobw.tst 1 0x0 50
La primera ejecucin de SQLIO con el parmetro F genera un archivo de 50 MB:
Eq sqlio -kW -s60 -fsequential -o1 -b64 -LS -Fparam.txt
Este proceso puede tardar bastante tiempo en el caso de archivos grandes. Cree un archivo
en cada disco de datos en el que vaya a hospedar datos de SQL Server y archivos tempdb.
Para ello, agregue ms lneas al archivo de parmetros, que crear los archivos necesarios
uno a uno. Para crear archivos en paralelo, cree varios archivos de parmetros y ejecute varias
sesiones de SQLIO simultneamente.
Validar el ancho de banda de almacenamiento (desde la memoria cach)
El uso de un archivo de prueba pequeo con una duracin de lectura de varios minutos
garantiza que el archivo resida completamente en la memoria cach de matriz. La ilustracin
7 muestra el contador Disco lgico > Bytes ledos/s para los discos de un sistema Fast Track
de ejemplo con diversas cifras de solicitudes pendientes y tamaos de bloque. Se deben ejecutar
pruebas al menos durante unos minutos para garantizar un rendimiento coherente. La ilustracin
muestra que el rendimiento ptimo requiere una cola de solicitudes pendientes de al menos
cuatro solicitudes por archivo. Cada disco individual debe contribuir al ancho de banda total.

57

Ilustracin 7: contador Disco lgico > Bytes ledos/s


Validar el ancho de banda de LUN/volumen (desde disco)
Estas pruebas garantizan que todos los volmenes de disco presentados por las matrices de
disco en Windows son capaces de contribuir al ancho de banda agregado total, leyendo cada
volumen de uno en uno. Puede ver que algunos de los LUN parecen ser ligeramente ms
rpidos que otros. Esto no es algo raro, pero se deben examinar las diferencias superiores al
15 por ciento.

Ilustracin 8: validar el ancho de banda del par LUN\volumen y RAID

58

Ejecute pruebas simultneas en uno o ms volmenes que compartan el mismo grupo de


discos. En la ilustracin siguiente se muestra el resultado de las pruebas en 8 grupos de
discos.

Ilustracin 9: probar LUN que comparten grupos de discos


Validar el ancho de banda agregado (desde disco)
La prueba siguiente muestra el efecto de intensificar el rendimiento de E/S, agregando un
volumen adicional a la prueba a intervalos peridicos. A medida que se ejecuta cada prueba
para un intervalo establecido, se observa un escaln hacia abajo. Debe observar un patrn
similar. El ancho de banda agregado mximo desde disco debe acercarse al 80 o al 90 por
ciento del ancho de banda conseguido desde la memoria cach en el primer paso. El grfico
muestra la prueba en varios tamaos de bloque de 512K y de 64K.

Ilustracin 10: ancho de banda agregado en varios tamaos de bloque


59

Prueba de cargas de trabajo


Medir el valor MCR para el servidor (opcional)
El objetivo de MCR es calcular el rendimiento mximo de un solo ncleo de CPU, que ejecuta
SQL Server, cuando no hay problemas de cuello de botella de E/S. MCR se evala por ncleo.
Si eligi calcular esto para su propio servidor, aqu se ofrecen detalles adicionales en los que se
describe la metodologa para calcular el valor MCR:
1. Cree un conjunto de datos de referencia basado en la tabla lineitem de TPC-H o un
conjunto de datos similar. El tamao de la tabla debe permitir su almacenamiento
completo en memoria cach en el grupo de bferes de SQL Server y mantener un
tiempo de ejecucin mnimo de 2 segundos para la consulta proporcionada aqu.
2. Para FTDW se emplea la consulta siguiente: SELECT sum([campo entero]) FROM
[tabla] WHERE [restringir al volumen de datos adecuado] GROUP BY [col].
3. El entorno debe:
Asegurarse de que el Regulador de recursos est establecido en los valores
predeterminados.
Asegurarse de que la consulta se est ejecutando desde la memoria cach del
bfer. La primera ejecucin de la consulta debe colocar las pginas en el bfer
y las ejecuciones posteriores deben leer solo del bfer. Compruebe que no se
realizan lecturas fsicas en el resultado de estadsticas de la consulta.
Establecer STATISTICS IO y STATISTICS TIME en ON para generar los
resultados.
4. Ejecute varias veces la consulta, con MAXDOP = 4.
Registre el nmero de lecturas lgicas y el tiempo de CPU del resultado de las
estadsticas para cada ejecucin de la consulta.
Calcule el valor MCR en MB/s mediante esta frmula:
( [Lecturas lgicas] / [Tiempo de CPU en segundos] ) * 8 kB / 1024
Se debe obtener un intervalo de valores coherente (+/- 5 %) en un mnimo de
cinco ejecuciones de la consulta. Unos valores atpicos significativos (+/- 20 %
o ms) pueden indicar problemas de configuracin. El promedio de al menos
5 resultados calculados es el valor MCR de FTDW.
Medir el valor BCR para la carga de trabajo
La medida de BCR es similar a la medida de MCR, excepto en que los datos se atienden desde
el disco, no desde la memoria cach. La consulta y el conjunto de datos para BCR son
representativos de la carga de trabajo de almacenamiento de datos de destino.
Un enfoque para averiguar el valor de BCR consiste tomar una consulta simple, una consulta
promedio y una consulta compleja de la carga de trabajo. Las consultas complejas deben ser
las que impongan ms demandas a la CPU. La consulta simple debe ser equivalente a la de
MCR y debe realizar una carga de trabajo similar, de modo que sea comparable con MCR.
Crear la base de datos
A continuacin se muestra un ejemplo de una instruccin CREATE DATABASE para un sistema
FTDW de 8 ncleos con 16 LUN de datos.
60

CREATE DATABASE FT_Demo ON


( NAME = N 'FT_Demo_.mdf' ,
FILEGROWTH = 0 ),
( NAME = N 'FT_Demo_v1.ndf'
FILEGROWTH = 0 ),
( NAME = N 'FT_Demo_v2.ndf'
FILEGROWTH = 0 ),
( NAME = N 'FT_Demo_v3.ndf'
FILEGROWTH = 0 ),
( NAME = N 'FT_Demo_v4.ndf'
FILEGROWTH = 0 ),

PRIMARY Filegroup FT_Demo


FILENAME = N'C:\FT\PRI\SE1-SP1-DG1-v1' , SIZE = 100MB ,

( NAME = N
FILEGROWTH
( NAME = N
FILEGROWTH
( NAME = N
FILEGROWTH
( NAME = N
FILEGROWTH

, FILENAME = N'C:\FT\PRI\SE2-SP1-DG6-v6' , SIZE = 417GB ,

( NAME =
417GB ,
( NAME =
417GB ,
( NAME =
417GB ,
( NAME =
417GB ,

, FILENAME = N'C:\FT\PRI\SE1-SP1-DG1-v1' , SIZE = 417GB ,


, FILENAME = N'C:\FT\PRI\SE1-SP1-DG2-v2' , SIZE = 417GB ,
, FILENAME = N'C:\FT\PRI\SE1-SP2-DG3-v3' , SIZE = 417GB ,

'FT_Demo_v6.ndf'
= 0 ),
'FT_Demo_v7.ndf'
= 0 ),
'FT_Demo_v8.ndf'
= 0 ),
'FT_Demo_v9.ndf'
= 0 ),

, FILENAME = N'C:\FT\PRI\SE1-SP2-DG4-v4' , SIZE = 417GB ,

, FILENAME = N'C:\FT\PRI\SE2-SP1-DG7-v7' , SIZE = 417GB ,


, FILENAME = N'C:\FT\PRI\SE2-SP2-DG8-v8' , SIZE = 417GB ,

N 'FT_Demo_v11.ndf'
FILEGROWTH = 0 ),
N 'FT_Demo_v12.ndf'
FILEGROWTH = 0 ),
N 'FT_Demo_v13.ndf'
FILEGROWTH = 0 ),
N 'FT_Demo_v14.ndf'
FILEGROWTH = 0 ),

, FILENAME = N'C:\FT\PRI\SE2-SP2-DG9-v9' , SIZE = 417GB ,

, FILENAME = N'C:\FT\PRI\SE3-SP1-DG11-v11' , SIZE =


, FILENAME = N'C:\FT\PRI\SE3-SP1-DG12-v12' , SIZE =
, FILENAME = N'C:\FT\PRI\SE3-SP2-DG13-v13' , SIZE =
, FILENAME = N'C:\FT\PRI\SE3-SP2-DG14-v14' , SIZE =

LOG ON
( NAME = N 'FT_LOG_v5.ldf' , FILENAME = N 'C:\FT\LOG\SE1-SP2-DG5-v5' , SIZE = 100GB ,
MAXSIZE = 500GB , FILEGROWTH = 50 )
GO
/*****************Configurar los valores recomendados***********************/
ALTER DATABASE FT_Demo SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE
GO

FT_Demo

SET AUTO_UPDATE_STATISTICS ON

ALTER DATABASE
GO

FT_Demo

SET AUTO_UPDATE_STATISTICS_ASYNC ON

ALTER DATABASE
GO

FT_Demo

SET RECOVERY SIMPLE

sp_configure 'show advanced options', 1


go
reconfigure with override
go
********Asegurarse de que todas las tablas estn en nuestro grupo de archivos, no en
el grupo de archivos principal****/
ALTER DATABASE FT_Demo
MODIFY FILEGROUP FT_Demo
DEFAULT
GO

61

Crear las tablas de prueba


A continuacin se muestra una instruccin CREATE TABLE de ejemplo.
CREATE TABLE lineitem
( l_orderkey
bigint not null,
l_partkey
integer not null,
l_suppkey
integer not null,
l_linenumber
integer not null,
l_quantity
float not null,
l_extendedprice float not null,
l_discount
float not null,
l_tax
float not null,
l_returnflag
char(1) not null,
l_linestatus
char(1) not null,
l_shipdate
datetime not null,
l_commitdate
datetime not null,
l_receiptdate
datetime not null,
l_shipinstruct char(25) not null,
l_shipmode
char(10) not null,
l_comment
varchar(132) not null
)
ON FT_Demo
GO
CREATE CLUSTERED INDEX cidx_lineitem
ON lineitem(l_shipdate ASC)
WITH( SORT_IN_TEMPDB = ON
, DATA_COMPRESSION = PAGE
)
ON FT_Demo
GO

Cargar datos para la medida de BCR


Como se ha descrito anteriormente en este documento, los sistemas Fast Track Data Warehouse
son sensibles a la fragmentacin de los archivos de base de datos. Emplee una de las tcnicas
descritas en este documento para cargar datos. Durante las pruebas de FTDW, se us el mtodo
de carga de ndices clster descrito como la opcin 2. Con la herramienta datagen de TPC-H,
se generaron los datos de la tabla lineitem hasta un tamao de 70 GB, usando opciones -s100,
generando el archivo en 8 partes, y usando las opciones S y C.
Se estableci la marca de seguimiento 610 durante todas las operaciones de carga para usar el
registro mnimo en la medida de lo posible.

62

Mediante BULK INSERT, estos datos se insertaron en paralelo en una nica tabla de ensayo de
ndices clster, usando el registro mnimo; elegimos un tamao de bloque que no inundara la
memoria disponible y que reducira el volcado en el disco. La deshabilitacin de los bloqueos
de pgina y la extensin de bloqueo en la tabla de ensayo mejor el rendimiento durante esta fase.
Se realiz una insercin final en una tabla de destino idntica, con MAXDOP 1 (mediante la
sugerencia TABLOCK) y evitando una ordenacin.
Ejecutar consultas para la medida de BCR
Use la herramienta SQL Server Profiler para registrar informacin pertinente para las simulaciones
de consulta. Se debe configurar SQL Server Profiler para que registre las lecturas lgicas, la CPU,
la duracin, el nombre de la base de datos, el nombre de esquema, la instruccin SQL y los
planes de consulta reales. Tambin se pueden usar los parmetros de sesin de estadsticas
set statistics io on y set statistics io on.
A continuacin se muestran algunas consultas de ejemplo (basadas en consultas de la
simulacin de TPC-H) y el valor de BCR conseguido en los sistemas de referencia. Tenga en
cuenta que este ejemplo no es indicativo del rendimiento que se obtendr en cualquier sistema
dado. Los valores de BCR son nicos segn el sistema, el tamao del esquema, los tipos de
datos, la estructura de la consulta y las estadsticas, por citar tan solo algunas de las muchas
variables posibles.
Complejidad de la consulta
Simple
Promedio
Compleja
Tabla 7: ejemplos de simulaciones

BCR por ncleo


(Pgina comprimida) con MAXDOP 4
201 MB/s
83 MB/s
56 MB/s

Simple
SELECT
sum(l_extendedprice * l_discount) as revenue
FROM
lineitem
WHERE
l_discount between 0.04 - 0.01 and 0.04 + 0.01 and
l_quantity < 25
OPTION (maxdop 4)

63

Promedio
SELECT
l_returnflag,
l_linestatus,
sum(l_quantity) as sum_qty,
sum(l_extendedprice) as sum_base_price,
sum(l_extendedprice*(1-l_discount)) as sum_disc_price,
sum(l_extendedprice*(1-l_discount)*(1+l_tax)) as sum_charge,
avg(l_quantity) as avg_qty,
avg(l_extendedprice) as avg_price,
avg(l_discount) as avg_disc,
count_big(*) as count_order
FROM
lineitem
WHERE
l_shipdate <= dateadd(dd, -90, '1998-12-01')
GROUP BY
l_returnflag,
l_linestatus
ORDER BY
l_returnflag,
l_linestatus
OPTION (maxdop 4)

Compleja
SELECT
100.00 * sum(case
when p_type like 'PROMO%'
then l_extendedprice*(1-l_discount)
else 0
end) / sum(l_extendedprice * (1 - l_discount)) as
promo_revenue
FROM
lineitem,
part
WHERE
l_partkey = p_partkey
and l_shipdate >= '1995-09-01'
and l_shipdate < dateadd(mm, 1, '1995-09-01')
OPTION (maxdop 4)

64

Factores que afectan a la tasa de consumo de las consultas


No todas las consultas alcanzarn la Tasa mxima de consumo de CPU (MCR) o la Tasa de
consumo de simulacin (BCR). Hay muchos factores que pueden afectar a la tasa de consumo
de una consulta. Las consultas ms simples que la carga de trabajo usadas para generar la
tasa de consumo tendrn tasas de consumo mayores y las cargas de trabajo ms complejas
tendrn tasas de consumo menores. Hay muchos factores que pueden afectar a esta
complejidad y a la tasa de consumo, por ejemplo:

65

Complejidad de la consulta: cuanta ms CPU emplee la consulta, por ejemplo en


trminos de clculos y nmero de agregaciones, menor ser la tasa de consumo.
Complejidad de ordenacin: las ordenaciones derivadas de operaciones explcitas
order by o group by generarn ms carga de trabajo de CPU y reducirn la tasa de
consumo. Las escrituras adicionales en tempdb que se producen porque esas
consultas se desbordan en el disco afectan negativamente a la tasa de consumo.
Complejidad del plan de consulta: cuanto ms complejo sea un plan de consulta,
y cuantos ms pasos y ms operadores haya, menor ser la tasa de consumo de CPU,
ya que cada unidad de datos se procesa a travs de una canalizacin de operaciones
ms larga.
Compresin: la compresin reducir la tasa de consumo de datos en trminos reales,
ya que la tasa de consumo se mide por definicin para las consultas que estn limitadas
por CPU y la descompresin consume ciclos de CPU. Sin embargo, las mayores
ventajas de rendimiento suelen compensar la sobrecarga adicional de CPU que supone
la compresin, a menos que la carga de trabajo haga un uso intensivo de la CPU. A la
hora de comparar las tasas de consumo para los datos comprimidos y sin comprimir,
hay que tener en cuenta el factor de compresin. Otra forma de verlo es pensar en la
tasa de consumo en trminos de filas por segundo.
Uso de datos: descartar datos durante los recorridos (por ejemplo, mediante proyeccin
y seleccin de consultas) es un proceso muy eficiente. Las consultas que usan todos los
datos de una tabla tienen menores tasas de consumo, ya que se procesan ms datos por
rendimiento de datos unitarios.

You might also like