Serie Elecciones de Hardware-Tipos de carga de trabajo

Continuando con la serie Facilitando las Elecciones de Hardware para SQL Server, basada en el libro de SQL Server llamado “SQL Server Hardware Choices Made Easy” (Facilitando las Elecciones de Hardware para SQL Server) de Glen Berry, en este artículo vamos a comenzar a desarrollar la serie de artículos periódicos con las recomendaciones a tener en cuenta con respecto al hardware para SQL.

Como parte del título PROCESADORES Y HARDWARE RELACIONADO, en este artículo vamos a tratar el primer tema:

Conocer el tipo de carga de trabajo de su servidor (Parte 1):

Es importante conocer el tipo de carga de trabajo para poder tomar las decisiones adecuadas en cuanto a hardware, incluyendo procesadores, memoria y subsistemas de discos, así como en el tamaño y configuración de hardware. El tipo de carga también influirá en el diseño de la base de datos y de los índices, así como también en tu estrategia de diseño.

Hay dos tipos principales de carga de trabajo que se implementan comúnmente en SQL Server: Procesamiento de Transacciones en Línea (Online Transaction Processing – OLTP) y Sistemas de Soporte de Decisiones (Decision Support System – DSS) también conocido como Data Warehouse (DW).

Las cargas de trabajo OLTP son caracterizadas por la ejecución de muchas transacciones pequeñas y un relativamente alto nivel de volatilidad de datos. Usualmente hay más actividad de escritura en una carga de trabajo OLTP que en una de tipo DSS. Además la mayoría de sistemas OLTP generan mas operaciones de Entrada/Salida por segundo (IOPS Input/Output Operations per Second) que su equivalente de tipo DSS.

Al elegir un procesador para una carga de trabajo tipo OLTP, es importante considerar que las transacciones cortas y rápidas que conforman (o deberían conformar) este tipo de carga no se van a beneficiar del paralelismo (en el que el procesamiento de una transacción se subdivide a través de varios hilos y núcleos), por lo que los procesadores adecuados para este tipo de carga son los de hilo único (single-threaded performance).

En los sistemas de tipo DSS o DW usualmente se procesan consultas de ejecución más larga que una sistema OLTP de tamaño similar. Además, los datos son usualmente estáticos, sobre los que se realizan más lecturas que escrituras.
En este tipo de sistemas, importa más la habilidad de procesar largos volúmenes de datos de manera rápida que el soporte a un alto número de IOPS.

Para escoger un procesador para cargas de tipo DSS, es importante considerar que las transacciones más complejas y más largas que caracterizan ese tipo de cargas se van a beneficiar con el uso de paralelismo, por lo que los procesadores adecuados para este tipo de carga son los de hilo múltiple (miltithreaded performance) y la disponibilidad de un alto número de núcleos físicos.

Lo mejor es determinar que tipo de carga de trabajo va a soportar el servidor en la etapa de diseño. También es recomendable separar cargas OLTP y DSS en servidores (o instancias) y subsistemas de entrada/salida (storage) diferentes. Esto no siempre es posible y algunas cargas de trabajo son mixtas.

Una forma de determinar el tamaño y naturaleza de la carga de trabajo es obteniendo el ratio de lectura/escritura de los archivos físicos de la base de datos. Mientras más altas sean las escrituras la carga será más de tipo OLTP. La consulta mostrada líneas más abajo utiliza una vista de administración dinámica del sistema (DMV ó Dinamic management View) llamada sys.dm_io_virtual_file_stats y puede ser ejecutada en un sistema existente para ayudar a definir la carga de entrada y salida para una base de datos. La consulta muestra el porcentaje de lectura y escritura, por archivo, para la base de datos contra la que se ha ejecutado, así como el número de lecturas y escrituras y el número de bytes leídos y escritos, para tener una idea, no solo de la cantidad de operaciones si no el tamaño de los datos operados:

 

Para entender mejor la consulta sugiero leer la siguiente documentación en línea de SQL Server 2008 R2:

Continué con el siguiente artículo de la serie: No escatimar a la hora de gastar en CPU

Deja un comentario

Tu dirección de correo electrónico no será publicada.