SlideShare una empresa de Scribd logo
1 de 32
Mejorando el desempeño de cubos
en SQL server Analysis Services
Marco Tulio Gómez
ArquitectodesolucionesOLAP
TigoGuatemala(Millicom InternationalCellular,S.A.)
SQL Saturday Sponsors
Gold Sponsors
Silver Sponsors
Bronze Sponsors
Agenda
Introducción
Sistema operativo
Servicio de Analysis Services
Hardware
Diseño
Introducción - ¿Porque?
 ¿Porque hablar sobre mejora en desempeño?
 Normalmente no se considera en la fase de
desarrollo y despliegue de la solución.
 Requiere la combinación de diferentes
habilidades y conocimientos.
 Dificultad para organizar un plan de trabajo.
Introducción – Aspectos a considerar
Base de
Datos
OLAP
(Cubo)
Hardware
SQL
Server
Analysis
Services
Sistema
Operativo
La mejora en el desempeño de
cubos OLAP desarrollados con
SSAS dependerá de la correcta
combinación de cuatro
aspectos:
1. Hardware
2. Sistema Operativo
3. Servicios de Analysis Services
4. Diseño de base de datos y/o
cubos
Introducción – Momentos a monitorear
Procesamiento
de
Dimensiones
Procesamiento
de Particiones
Actualización
de
Dimensiones
Respuesta a
Consultas
Diferentes momentos a los que se debe prestar atención
durante un proceso de optimización
Agenda
Introducción
Sistema operativo
Servicio de Analysis Services
Hardware
Diseño
Sistema Operativo
 Aplicar mejoras en la configuración del
sistema operativo es una actividad que
genera impacto inmediato.
 Muchas de las mejoras son fáciles y rápidas
de aplicar.
Sistema Operativo - Configuración
 Efectos de presentación
 Ajustar para optimizar el desempeño
 Memoria virtual
 RAM x 1.5, preferiblemente en un disco
independiente
 Programación del procesador
 Servicios de segundo plano o background services
 Opciones de energía
 Alto desempeño o high performance
Agenda
Introducción
Sistema operativo
Servicio de Analysis Services
Hardware
Diseño
Servicio de Analysis Services
 Al igual que con el sistema operativo aplicar
mejoras en la configuración del servicio de
Analysis Services es una actividad que
genera impacto inmediato.
 Distribución de datos: separar carpetas de
data, temp, log y backup
Servicio de Analysis Services - Configuración
 Consumo de memoria
 Memory  LowMemoryLimit
 Memory  TotalMemory Limit
 QueryLog
 CreateQueryLogTable
 QueryLogConnectionString
 QueryLogSampling
 QueryLogTableName
Servicio de Analysis Services - Configuración
 Lazzy Aggregations
 Olap  LazyProcessing  MaxCPUUsage
 Olap  LazyProcessing  MaxObjectsInParallel
 Aggregation Processing
 Olap  Process  AggregationMemoryLimitMin
 Olap  Process  AggregationMemoryLimitMax
 Threads  Query
 ThreadPoolQueryMinThreads
 ThreadPoolQueryMaxThreads
 Threads  Process
 ThreadPoolProcessMaxThreads
 ThreadPoolProcessMinThreads
Agenda
Introducción
Sistema operativo
Servicio de Analysis Services
Hardware
Diseño
Hardware
 Las optimizaciones de hardware se orientan
a aprovechar la infraestructura existente
 Es necesario prestar atención a los
siguientes aspectos
 Procesamiento
 Uso de memoria
 Almacenamiento y tiempos de I/O
Hardware - Procesamiento
 El primer indicador es la estadística de
utilización del CPU que se puede obtener
con el Performance Monitor del Sistema
operativo
 Cantidad de cores
 Cubos a procesar y/o actualizar
 Particiones a procesar y/o actualizar
 Consultas simultaneas
 Usuarios simultáneos
Hardware - RAM
 Verificar que la cantidad de RAM disponible
para SSAS y otros servicios instalados sea
suficiente.
 Verificar que estén definidos los limites de
utilización de memoria para cada servicio.
 Fijar como objetivo siempre disponer de
memoria para actividades del sistema
operativo y tareas reactivas de
administración en caso de ser necesario.
 Mas RAM Mejor!
Hardware - Almacenamiento y tiempos de I/O
 SSAS hace uso intenso del I/O esto se observa
en tiempo de procesamiento como en tiempo de
consulta
 Comprender la distribución física de los
recursos
 Procurar tener suficiente espacio para los
temporales que se generan en tiempo de
procesamiento
 Verificar con SQLIO
http://www.microsoft.com/en-us/download/details.aspx?id=20163
Agenda
Introducción
Sistema operativo
Servicio de Analysis Services
Hardware
Diseño
Diseño
 Las mejoras en diseño producen resultados
significativos.
 Al realizar estas mejoras será necesario
hacer un nuevo despliegue y procesamiento
de las soluciones.
 Muchas de las mejoras requieren de tiempos
importantes para ser realizadas.
Diseño - Dimensiones
 KeyColumns
 Esconder atributos que estan en jerarquias
 Esconder el surrogate key
 AttributeHierarchyVisible = false
 Definir criterio de ordenamiento
 OrderBy + OrderByAttribute
 Definir el default attribute member
 Remover el nivel all
Diseño - Dimensiones
 Relaciones entre atributos
 Definen dependencias jerárquicas entre atributos
 Estas relaciones deben estar respaldadas por los datos
Diseño - Dimensiones
 Relaciones Flexibles vs Rígidas
 Relaciones flexibles pueden cambiar en el tiempo
por ejemplo un cliente y la zona en que vive o
trabaja.
 Relaciones rígidas no cambian en el tiempo por
ejemplo la relación entre año y mes.
Las relaciones rígidas demandan un menor
procesamiento durante el process update
Diseño - Dimensiones
 Jerarquías
 Naturales: están representadas en las relaciones
entre atributos.
 No Naturales: no están representadas en las
relaciones entre atributos por lo tanto no están
almacenadas en disco.
 ¿Atributo o propiedad?
 AttributeHierarchyEnabled = False
(*) No permite hacer slice and dice
Diseño - Dimensiones
 Cuidado con el tamaño de la dimensión
 Máximo almacenamiento 4GB
 StringStoresCompatibilityLevel
 1050 por default (máximo 4GB)
 1100 permite almacenar hasta 4 billones de strings únicos
 Cardinalidad muy alta  Menor Desempeño
 AttributeHierarchyEnabled = false
 AttributeHierarchyOptimizedState = NotOptimized
 Process Add
 Técnica para cargar información a la dimensión sin requerir
un process update.
Diseño - Particiones
 ¿Cuando Particionar?
 Mejorar tiempos de procesamiento
 Ganar flexibilidad en procesamiento
 Facilidad para incorporar nuevas fuentes (con la
misma estructura)
 Mejorar respuesta de las consultas
 Manejar diferentes modelos de agregación
Diseño - Particiones
 Consideraciones
 Impacto en el process update.
 El limite de 20 millones se puede ignorar.
 Considerar la cantidad de cores disponibles
 Otros Beneficios
 Permite manejar particiones pequeñas en datos
recientes y particiones grandes para datos
históricos.
 Permite manejar paralelismo durante las
consultas
Diseño - Agregaciones
 Agregación es una estructura que almacena
datos pre calculados para mejorar el
rendimiento de las consultas en SSAS.
 Incrementa el tiempo de procesamiento.
 Dentro de un measure group es posible
presentar diferentes modelos de
agregaciones para cada partición.
Diseño - Agregaciones
 Los diseños de agregaciones pueden ser
generados por el Aggregation Desing Wizard
o por el usage based optimization.
 Estimated Count y Partition Count son
propiedades que almacenan la estadística de
cada partición.
 Por ejemplo el atributo date almacena 365
valores pero en una partición solo se encuentra
uno de esos valores.
Diseño – Cache Warming
 Busca llevar a memoria datos que
anticipadamente se ha determinado que
serán consultados.
 Se puede lograr al ejecutar una serie de
consultas o por medio del comando CREATE
CACHE
31 |
Marco Tulio
Gómez
mgomez@solcomp.com www.solcomp.com
@mgomezgt
PREGUNTAS Y RESPUESTAS
Referencias
 Analysis Services MOLAP Performance Guide for SQL
Server 2012 and 2014.
 Microsoft SQL Server Analysis Services Multidimensional
Performance and Operations Guide
 http://www.mssqltips.com/sql-server-tip-
category/154/analysis-services-performance/
 Blog de Alex Whittels
http://www.purplefrogsystems.com/blog/
 LeapFrogBI Dimensional Modeling
http://www.youtube.com/playlist?list=PLrbIyvYCdg0iAUQox
G5vI_yKqzZ2AcgGe
 Process Update
http://blogs.msdn.com/b/karang/archive/2012/05/03/processupdate_
2d00_insight.aspx

Más contenido relacionado

Similar a SQLSaturday 322 Guatemala 2014 Cubes Performance

Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014Ruben Pertusa Lopez
 
02 troubleshooting essentials sql server profiler - sql pass peru
02 troubleshooting essentials   sql server profiler - sql pass peru02 troubleshooting essentials   sql server profiler - sql pass peru
02 troubleshooting essentials sql server profiler - sql pass peruGuillermo Taylor
 
BI real time analytics
BI real time analyticsBI real time analytics
BI real time analyticsSolidQ
 
Carbura tusql sesion2_slideshare
Carbura tusql sesion2_slideshareCarbura tusql sesion2_slideshare
Carbura tusql sesion2_slideshareJulián Castiblanco
 
SQL Server Fundamentals 3ra Sesion
SQL Server Fundamentals 3ra SesionSQL Server Fundamentals 3ra Sesion
SQL Server Fundamentals 3ra SesionJulián Castiblanco
 
Introducción Procesador Consultas SQL Server - Query Processor
Introducción Procesador Consultas SQL Server - Query ProcessorIntroducción Procesador Consultas SQL Server - Query Processor
Introducción Procesador Consultas SQL Server - Query ProcessorEduardo Castro
 
24 HOP edición Español - Ssas multidimensional mejores practicas - Ahias Port...
24 HOP edición Español - Ssas multidimensional mejores practicas - Ahias Port...24 HOP edición Español - Ssas multidimensional mejores practicas - Ahias Port...
24 HOP edición Español - Ssas multidimensional mejores practicas - Ahias Port...SpanishPASSVC
 
Mejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerMejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerSpanishPASSVC
 
SQL Server Query Processor
SQL Server Query ProcessorSQL Server Query Processor
SQL Server Query ProcessorEduardo Castro
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developersEnrique Catala Bañuls
 
[SPANISH ]Codealike en MUG Argentina
[SPANISH ]Codealike en MUG Argentina[SPANISH ]Codealike en MUG Argentina
[SPANISH ]Codealike en MUG ArgentinaCodealike
 
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...SpanishPASSVC
 
Administrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBAAdministrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBASpanishPASSVC
 
Business Intelligence en Azure
Business Intelligence en AzureBusiness Intelligence en Azure
Business Intelligence en AzureiT Synergy
 

Similar a SQLSaturday 322 Guatemala 2014 Cubes Performance (20)

Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014
 
02 troubleshooting essentials sql server profiler - sql pass peru
02 troubleshooting essentials   sql server profiler - sql pass peru02 troubleshooting essentials   sql server profiler - sql pass peru
02 troubleshooting essentials sql server profiler - sql pass peru
 
BI real time analytics
BI real time analyticsBI real time analytics
BI real time analytics
 
Comparación SMBD
Comparación SMBDComparación SMBD
Comparación SMBD
 
Diseño fisico
Diseño fisicoDiseño fisico
Diseño fisico
 
Carbura tusql sesion2_slideshare
Carbura tusql sesion2_slideshareCarbura tusql sesion2_slideshare
Carbura tusql sesion2_slideshare
 
Comparacion smdb
Comparacion smdbComparacion smdb
Comparacion smdb
 
Smbd
SmbdSmbd
Smbd
 
SQL Server Fundamentals 3ra Sesion
SQL Server Fundamentals 3ra SesionSQL Server Fundamentals 3ra Sesion
SQL Server Fundamentals 3ra Sesion
 
Introducción Procesador Consultas SQL Server - Query Processor
Introducción Procesador Consultas SQL Server - Query ProcessorIntroducción Procesador Consultas SQL Server - Query Processor
Introducción Procesador Consultas SQL Server - Query Processor
 
24 HOP edición Español - Ssas multidimensional mejores practicas - Ahias Port...
24 HOP edición Español - Ssas multidimensional mejores practicas - Ahias Port...24 HOP edición Español - Ssas multidimensional mejores practicas - Ahias Port...
24 HOP edición Español - Ssas multidimensional mejores practicas - Ahias Port...
 
Mejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerMejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL Server
 
SQL Server Query Processor
SQL Server Query ProcessorSQL Server Query Processor
SQL Server Query Processor
 
Azure SQL Data Warehouse - 24 horas de PASS
Azure SQL Data Warehouse - 24 horas de PASS Azure SQL Data Warehouse - 24 horas de PASS
Azure SQL Data Warehouse - 24 horas de PASS
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
[SPANISH ]Codealike en MUG Argentina
[SPANISH ]Codealike en MUG Argentina[SPANISH ]Codealike en MUG Argentina
[SPANISH ]Codealike en MUG Argentina
 
SEMANA 1 Introduccion.pptx
SEMANA 1 Introduccion.pptxSEMANA 1 Introduccion.pptx
SEMANA 1 Introduccion.pptx
 
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
 
Administrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBAAdministrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBA
 
Business Intelligence en Azure
Business Intelligence en AzureBusiness Intelligence en Azure
Business Intelligence en Azure
 

Último

SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfEDUARDO MAMANI MAMANI
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfGEINER22
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)estebancitoherrera
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptxSergiothaine2
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfIrapuatoCmovamos
 
CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...jhoecabanillas12
 
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docxmarthaarroyo16
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptxccordovato
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 

Último (17)

SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdf
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptx
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
 
CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...
 
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 

SQLSaturday 322 Guatemala 2014 Cubes Performance

  • 1. Mejorando el desempeño de cubos en SQL server Analysis Services Marco Tulio Gómez ArquitectodesolucionesOLAP TigoGuatemala(Millicom InternationalCellular,S.A.)
  • 2. SQL Saturday Sponsors Gold Sponsors Silver Sponsors Bronze Sponsors
  • 3. Agenda Introducción Sistema operativo Servicio de Analysis Services Hardware Diseño
  • 4. Introducción - ¿Porque?  ¿Porque hablar sobre mejora en desempeño?  Normalmente no se considera en la fase de desarrollo y despliegue de la solución.  Requiere la combinación de diferentes habilidades y conocimientos.  Dificultad para organizar un plan de trabajo.
  • 5. Introducción – Aspectos a considerar Base de Datos OLAP (Cubo) Hardware SQL Server Analysis Services Sistema Operativo La mejora en el desempeño de cubos OLAP desarrollados con SSAS dependerá de la correcta combinación de cuatro aspectos: 1. Hardware 2. Sistema Operativo 3. Servicios de Analysis Services 4. Diseño de base de datos y/o cubos
  • 6. Introducción – Momentos a monitorear Procesamiento de Dimensiones Procesamiento de Particiones Actualización de Dimensiones Respuesta a Consultas Diferentes momentos a los que se debe prestar atención durante un proceso de optimización
  • 7. Agenda Introducción Sistema operativo Servicio de Analysis Services Hardware Diseño
  • 8. Sistema Operativo  Aplicar mejoras en la configuración del sistema operativo es una actividad que genera impacto inmediato.  Muchas de las mejoras son fáciles y rápidas de aplicar.
  • 9. Sistema Operativo - Configuración  Efectos de presentación  Ajustar para optimizar el desempeño  Memoria virtual  RAM x 1.5, preferiblemente en un disco independiente  Programación del procesador  Servicios de segundo plano o background services  Opciones de energía  Alto desempeño o high performance
  • 10. Agenda Introducción Sistema operativo Servicio de Analysis Services Hardware Diseño
  • 11. Servicio de Analysis Services  Al igual que con el sistema operativo aplicar mejoras en la configuración del servicio de Analysis Services es una actividad que genera impacto inmediato.  Distribución de datos: separar carpetas de data, temp, log y backup
  • 12. Servicio de Analysis Services - Configuración  Consumo de memoria  Memory LowMemoryLimit  Memory TotalMemory Limit  QueryLog  CreateQueryLogTable  QueryLogConnectionString  QueryLogSampling  QueryLogTableName
  • 13. Servicio de Analysis Services - Configuración  Lazzy Aggregations  Olap LazyProcessing MaxCPUUsage  Olap LazyProcessing MaxObjectsInParallel  Aggregation Processing  Olap Process AggregationMemoryLimitMin  Olap Process AggregationMemoryLimitMax  Threads Query  ThreadPoolQueryMinThreads  ThreadPoolQueryMaxThreads  Threads Process  ThreadPoolProcessMaxThreads  ThreadPoolProcessMinThreads
  • 14. Agenda Introducción Sistema operativo Servicio de Analysis Services Hardware Diseño
  • 15. Hardware  Las optimizaciones de hardware se orientan a aprovechar la infraestructura existente  Es necesario prestar atención a los siguientes aspectos  Procesamiento  Uso de memoria  Almacenamiento y tiempos de I/O
  • 16. Hardware - Procesamiento  El primer indicador es la estadística de utilización del CPU que se puede obtener con el Performance Monitor del Sistema operativo  Cantidad de cores  Cubos a procesar y/o actualizar  Particiones a procesar y/o actualizar  Consultas simultaneas  Usuarios simultáneos
  • 17. Hardware - RAM  Verificar que la cantidad de RAM disponible para SSAS y otros servicios instalados sea suficiente.  Verificar que estén definidos los limites de utilización de memoria para cada servicio.  Fijar como objetivo siempre disponer de memoria para actividades del sistema operativo y tareas reactivas de administración en caso de ser necesario.  Mas RAM Mejor!
  • 18. Hardware - Almacenamiento y tiempos de I/O  SSAS hace uso intenso del I/O esto se observa en tiempo de procesamiento como en tiempo de consulta  Comprender la distribución física de los recursos  Procurar tener suficiente espacio para los temporales que se generan en tiempo de procesamiento  Verificar con SQLIO http://www.microsoft.com/en-us/download/details.aspx?id=20163
  • 19. Agenda Introducción Sistema operativo Servicio de Analysis Services Hardware Diseño
  • 20. Diseño  Las mejoras en diseño producen resultados significativos.  Al realizar estas mejoras será necesario hacer un nuevo despliegue y procesamiento de las soluciones.  Muchas de las mejoras requieren de tiempos importantes para ser realizadas.
  • 21. Diseño - Dimensiones  KeyColumns  Esconder atributos que estan en jerarquias  Esconder el surrogate key  AttributeHierarchyVisible = false  Definir criterio de ordenamiento  OrderBy + OrderByAttribute  Definir el default attribute member  Remover el nivel all
  • 22. Diseño - Dimensiones  Relaciones entre atributos  Definen dependencias jerárquicas entre atributos  Estas relaciones deben estar respaldadas por los datos
  • 23. Diseño - Dimensiones  Relaciones Flexibles vs Rígidas  Relaciones flexibles pueden cambiar en el tiempo por ejemplo un cliente y la zona en que vive o trabaja.  Relaciones rígidas no cambian en el tiempo por ejemplo la relación entre año y mes. Las relaciones rígidas demandan un menor procesamiento durante el process update
  • 24. Diseño - Dimensiones  Jerarquías  Naturales: están representadas en las relaciones entre atributos.  No Naturales: no están representadas en las relaciones entre atributos por lo tanto no están almacenadas en disco.  ¿Atributo o propiedad?  AttributeHierarchyEnabled = False (*) No permite hacer slice and dice
  • 25. Diseño - Dimensiones  Cuidado con el tamaño de la dimensión  Máximo almacenamiento 4GB  StringStoresCompatibilityLevel  1050 por default (máximo 4GB)  1100 permite almacenar hasta 4 billones de strings únicos  Cardinalidad muy alta  Menor Desempeño  AttributeHierarchyEnabled = false  AttributeHierarchyOptimizedState = NotOptimized  Process Add  Técnica para cargar información a la dimensión sin requerir un process update.
  • 26. Diseño - Particiones  ¿Cuando Particionar?  Mejorar tiempos de procesamiento  Ganar flexibilidad en procesamiento  Facilidad para incorporar nuevas fuentes (con la misma estructura)  Mejorar respuesta de las consultas  Manejar diferentes modelos de agregación
  • 27. Diseño - Particiones  Consideraciones  Impacto en el process update.  El limite de 20 millones se puede ignorar.  Considerar la cantidad de cores disponibles  Otros Beneficios  Permite manejar particiones pequeñas en datos recientes y particiones grandes para datos históricos.  Permite manejar paralelismo durante las consultas
  • 28. Diseño - Agregaciones  Agregación es una estructura que almacena datos pre calculados para mejorar el rendimiento de las consultas en SSAS.  Incrementa el tiempo de procesamiento.  Dentro de un measure group es posible presentar diferentes modelos de agregaciones para cada partición.
  • 29. Diseño - Agregaciones  Los diseños de agregaciones pueden ser generados por el Aggregation Desing Wizard o por el usage based optimization.  Estimated Count y Partition Count son propiedades que almacenan la estadística de cada partición.  Por ejemplo el atributo date almacena 365 valores pero en una partición solo se encuentra uno de esos valores.
  • 30. Diseño – Cache Warming  Busca llevar a memoria datos que anticipadamente se ha determinado que serán consultados.  Se puede lograr al ejecutar una serie de consultas o por medio del comando CREATE CACHE
  • 31. 31 | Marco Tulio Gómez mgomez@solcomp.com www.solcomp.com @mgomezgt PREGUNTAS Y RESPUESTAS
  • 32. Referencias  Analysis Services MOLAP Performance Guide for SQL Server 2012 and 2014.  Microsoft SQL Server Analysis Services Multidimensional Performance and Operations Guide  http://www.mssqltips.com/sql-server-tip- category/154/analysis-services-performance/  Blog de Alex Whittels http://www.purplefrogsystems.com/blog/  LeapFrogBI Dimensional Modeling http://www.youtube.com/playlist?list=PLrbIyvYCdg0iAUQox G5vI_yKqzZ2AcgGe  Process Update http://blogs.msdn.com/b/karang/archive/2012/05/03/processupdate_ 2d00_insight.aspx