Escalabilidad Analysis Services 2012

  • 244 views
Uploaded on

En esta presentación vemos las posibilidades de escalabilidad y alta disponiblidad en Analysis Services de SQL Server 2012

En esta presentación vemos las posibilidades de escalabilidad y alta disponiblidad en Analysis Services de SQL Server 2012

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
244
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Alta disponibilidad y escalabilidad con Analysis Services Eduardo Castro, Costa Rica SQL Server MVP | MCT
  • 2. Presentando a: Eduardo Castro Martinez Microsoft SQL Server MVP Organizador del SQL Saturday Costa Rica 2 2
  • 3. Agenda Presentar metodología de las pruebas de carga Prueba de carga Reporting Services La prueba de carga de Análisis Services Analizar los resultados y los cuellos de botella de rendimiento Mejores prácticas 3
  • 4. ¿Por qué la prueba de carga? Determinar el rendimiento del servidor Entender cómo los recursos del servidor e impacto de carga Hardware servidor 4
  • 5. Solución BI típico Transactional Reports DW SSRS Analytical Reports Analytical Reports SSAS SSAS Clients 5
  • 6. Como hacer pruebas de carga? Paso 1: Establecer rendimiento objetivo Paso 2: Preparar las pruebas de carga Paso 3: Ejecutar y analizar las pruebas de carga ¿Alcanzamos la meta?  Sí - hemos terminado  No - identificar y eliminar los cuellos de botella de rendimiento Vaya al paso 3. 6
  • 7. Total de usuarios vs usuarios concurrentes Users Tiempo 2 usuarios simultáneos 7
  • 8. Establecer Objetivo Desempeño Estudio de caso Informe de carga de trabajo  Informe de uso de pico - 22 de noviembre, 09 a.m.-10 a.m.  200 informes ejecutados por 20 usuarios distintos  200/3, 600 = 0,05 reportes / seg Estimar las cargas futuras  500 usuarios - aumento x25 (500/20)  0.05 x 25 = 1.25 reports / seg Derivar rendimiento objetivo  Vamos doble de 2 x 1,25 = 2,5 informes / seg 8
  • 9. Establecer Objetivo Desempeño Acerca de los informes y consultas Los informes no nacen iguales Un "informe" o "consulta" es una abstracción Piense en "vehículo" y la carretera es la capacidad 9
  • 10. Preparar pruebas Reporting Services Identificar una mezcla de informes  10-15 informes  Informes lentos y rápidos Obtener direcciones URL de informe y valores de los parámetros Utilice (edición Ultimate o prueba) de Visual Studio para crear:  Prueba de rendimiento web - pruebas "rápido y sucio"  Unidad de prueba - pruebas personalizadas, por ejemplo, para la manipulación parámetro 10
  • 11. Crear nueva prueba de carga Reporting Services Utilice Crear Nuevo asistente de prueba de carga y configurar     Patrón de carga - constante o escalonada Mezcla de prueba - una colección de la web o / y pruebas unitarias Conjuntos de contadores - CPU, memoria, utilización de disco Configuración de ejecución - contadores, tiempo de calentamiento, la duración del ensayo o iteraciones Consejo: Aumentar la MaxActiveReqForOneUser establecer en rsreportserver.config a un gran valor, por ejemplo, 999999 11
  • 12. Crear nueva prueba de carga Reporting Services 12
  • 13. Ejecutar y analizar las pruebas de carga Ejecute la prueba de carga con carga escalonada Trate de no utilización de los servidores más del 80% Obtenga y anote: Rendimiento  Informes / seg  Usuarios simultáneos Informes / seg 80% Esté atento a los errores! VS logra 250 virtuales usuarios Usuarios 13
  • 14. Encontrar a los cuellos de botella de rendimiento Cada sistema tiene un punto de saturación Utilice el rendimiento de Windows contadores para descubrir cuellos de botella Cuellos de botella típicos  CPU (Procesador: Procesador% Tiempo)  Memoria (Memory: Disponible MBytes)  HDD (DiscoFísico: El disco actual Longitud de la cola)  Red (Network Interface: Bytes enviados / seg, Bytes recibidos / s) CPU RED BUS RAM 14 HDD
  • 15. Ejecutar y analizar pruebas 15
  • 16. Pruebas de carga de Analysis Services Descargue el marco de pruebas de carga SSAS AS Generador de consultas (ASQueryGenerator)  Genera plantillas de consulta  Soporta consultas con parámetros AS Load Simulator (ASLoadSim)  Implementa un plugin personalizado de prueba de Visual Studio  Incluye SSAS pruebas de carga de las Mejores Prácticas documento - leerlo! Otra opción que no requiere Visual Studio  AS Performance Workbench  http://asperfwb.codeplex.com/ 16
  • 17. Mejores Prácticas de Rendimiento Planifique para pruebas de carga durante los ciclos en ejecución Optimizar antes de escalar hacia arriba o hacia fuera Reporting Services  Analizar ExecutionLog y ajustar consultas  Leer SSRS optimizaciones de rendimiento http://tinyurl.com/rsperf Analysis Services  Utilice el Analizador de SQL para obtener SE y FE desglose tiempo  Servidor Tune y consultas - leer Analysis Services Performance Guide 2008  Uso Xperf para entender si las consultas son de disco o CPU cota http://preview.tinyurl.com/xperfssas 17
  • 18. Mejores Prácticas de Rendimiento Actualize a SSRS 2008 o posterior  Nuevo diseño de motor de procesamiento  Mucho menos memoria  Escala de 3-4 x número de usuarios que en 2005 Actualize a SSAS 2008 o posterior  Modo de secuencia de cálculo  Las consultas se ejecutan 20-60% más rápido 18
  • 19. EL DISEÑO DE UNA INFRAESCTRUCTURA DE ANALYSIS SERVICES
  • 20. Análisis Requisitos de Servicios de Recursos Requisitos de memoria y procesador Requisitos de disco Decidir entre 32 bits y servidores de 64 bits 20
  • 21. Consideraciones sobre la memoria y procesador Requisitos Versión de Windows Windows Server ™ 2003, Enterprise Edition, Versión de 64 bits Windows Server 2003, Datacenter Edition, Versión de 64 bits Windows Server 2003, Standard Edition Windows 2000 Server La memoria máxima 64 GB Procesadores Máximo 8 512 GB 32 3 GB utilizando el modificador / 3GB 2 GB 4 4 Windows 2000 Advanced Server / Windows Server 2003 Enterprise Edition 3 GB utilizando el modificador / 3GB 8 Windows 2000 Server / Windows Server 2003 Datacenter Edition 3 GB utilizando el modificador / 3GB 32 21
  • 22. Disco Requerimientos El espacio de disco para los cubos Espacio en disco para las agregaciones Espacio en disco para la minería de datos El espacio en disco para el procesamiento de objetos El espacio en disco para el mantenimiento 22
  • 23. Análisis Servicios Escalabilidad Opciones para la distribución de la carga de trabajo Proceso para ajustar la escala de salida de Analysis Services 23
  • 24. Opciones para la distribución de la carga de trabajo Utilice un servidor separado para cada base de datos de Analysis Services Utilice un servidor independiente para el almacén de datos relacional Utilice un servidor de ensayo para el procesamiento 24
  • 25. Distribuir Componentes de Analysis Services ¿Cuáles son las ventajas y los retos de la distribución de diversos componentes? ¿Qué factores considera usted cuando usted decide si se debe distribuir una solución de Analysis Services? 25
  • 26. Opciones para Analysis Services disponibilidad El uso de Equilibrio de carga de red El uso de clústeres de servidores 26
  • 27. Diseño Analysis Services disponibilidad Hardware Sistema operativo La redundancia de datos Disponibilidad Cube Failover 27
  • 28. ¿Por qué utilizar el particionamiento? Rendimiento de las consultas. La carga de datos a granel. Realización de grandes cambios. El archivo de datos. El mantenimiento de índices. Copia de seguridad y recuperación. Introducción a la tabla de particiones, donde por Chad Kingsley 28
  • 29. ¿Por qué partición? - Capacidad de administración Archiving  Utilizar un enfoque de ventana deslizante Procesamiento de ETL más fácil     Construir un nuevo conjunto de datos en una tabla de ensayo Añadir índices y restricciones Recopilar estadísticas Luego cambiar la tabla para una partición en el objetivo Mantenimiento fácil  Tabla de particiones, por ejemplo, para comprimir los datos  Partición de índice local a reconstruir Cinco consejos Puesta a punto para su Data Warehouse, Jeff Musgo 29
  • 30. El particionamiento de datos relacionales Particionamiento de las tablas de hechos Elija una llave de partición y el intervalo de partición apropiado Utilice SWITCH, MERGE y SPLIT para históricos Las mejores prácticas es utilizar índices con particiones alineadas 30
  • 31. Partición de datos multidimensionales Partición Datos multidimensionales? Analysis Services Particiones Mejores prácticas para la creación de particiones Datos multidimensionales 31
  • 32. Partición beneficios multidimensionales Minimizar el tiempo de procesamiento del cubo Proporcionar procesamiento paralelo Mejorar el rendimiento de las consultas 32
  • 33. Particiones Mecanismo para romper gran cubo en trozos manejables Las particiones pueden ser agregados, procesado, eliminado de forma independiente Actualización de los datos del mes pasado no afecta a las particiones meses anteriores Sliding escenario ventana fácil de implementar Por ejemplo Ventana de 24 meses  añadir 06 2006 partición y borrar junio 2004 Las particiones pueden tener diferentes configuraciones de almacenamiento Alto impacto Almacenamiento de datos con SQL Server Integration Services y Analysis Services. Marin Bezic
  • 34. Beneficios de la Partición Las particiones pueden ser procesados ​y consultar en paralelo Mejor utilización de los recursos del servidor Los tiempos de carga del almacén de datos reducido Las consultas se aislaron a las particiones pertinentes  deben recorrer menos datos SELECT ... FROM ... DONDE [Hora]. [Año]. [2006] Sólo consulta 2.006 particiones Resultado final particiones permiten: Manejabilidad Rendimiento Escalabilidad Alto impacto Almacenamiento de datos con SQL Server Integration Services y Analysis Services. Marin Bezic
  • 35. Mejores prácticas para la creación de particiones No más de 20 millones de filas por partición Especifique rebanada partición Opcional para MOLAP - servidor detecta automáticamente la rebanada y valida contra rebanada especificado por el usuario (si existe) Debe especificarse para ROLAP Administrar la configuración de almacenamiento de los patrones de uso Preguntó frecuentes  MOLAP con mucha aggs Periódicamente consultada  MOLAP con menos o ninguna aggs  ROLAP histórico sin aggs Unidad de disco alternativo - usí varios controladores para evitar la E / S de contención Alto impacto Almacenamiento de datos con SQL Server Integration Services y Analysis Services. Marin Bezic
  • 36. Analysis Services Particiones Arquitectura Particiones es a nivel de grupo de medida Las particiones se procesan en paralelo para un grupo de medida Las particiones pueden ser procesados selectivamente Rodajas de datos son opcionales para MOLAP Se requieren rodajas de datos para ROLAP 36
  • 37. Directrices para la creación de particiones Datos multidimensionales Plímites artition Almacenamiento modelo y el nivel de agregación Datos sincronización 37
  • 38. Particiones de Analysis Services 38
  • 39. Escalado de salida 39
  • 40. El particionamiento es For Real DW de 1 Partition per Day 31 Partitions, 1 Month of Data Facts Database Current Day Partition ALTER PARTITION FUNCTION PerDay () SPLIT RANGE(CAST(CONVERT(varchar, GETDATE()+1, 112) AS int)) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 8 Parallel Partition Processing Jobs Cube Current Day Partition Set ... WHERE [date] = CAST(CONVERT(varchar, GETDATE(), 112) AS int) AND [hour] IN (0, 11, 17) 0 11 17 1 14 18 2 5 22 3 12 21 4 13 19 6 15 23 7 9 20 8 10 16 8 Evenly Distributed Partitions per Day 3120 Partitions, 13 Months of Data DBI407 Mejores Prácticas para el Nivel 1 Edificio Soluciones de Enterprise Business Intelligence con Microsoft SQL Server Analysis Services, Adam Jorgensen
  • 41. Multiusuario concurrencia consulta Escalar Analysis Services: Sólo Lectura Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser 41
  • 42. SQLCAT Estudios de caso
  • 43. SQL Server Equipo de Asesoramiento al Cliente Funciona en los más grandes, más complejos proyectos de SQL en todo el mundo MySpace - 4,4 millones de usuarios concurrentes en su momento pico, 8000000000 amigo relaciones, 34 mil millones de e-mails, 1 PetaByte tienda, de ampliación horizontal usando SSB y SOA  http:/ /www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000004532 Bwin - La mayoría popular sitio de juegos en línea de Europa - la base de datos 30000 trans / Segundo, el lema: "El fracaso no es una opción"; almacenamiento total de 100 TB  http:/ /www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000004138 Corea Telecom - grande telco en Corea sirve a 26 millones de clientes; 3TB Data Warehouse  http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000001993 SQLCAT.com Y http://blogs.msdn.com/mssqlisv 43
  • 44. Infraestructura Sistema de base de datos compartida escalable utiliza un servidor de fábrica y tres presentación de informes servidores. Cada servidor es un servidor HP BL460 con 32 GB de memoria RAM instalada, funcionamiento ocho procesadores 44
  • 45. Estudio de caso - AdCenter EMC DMX V-Max para manejar la E / S  V-Max son dedicado a la aplicación  Cientos de discos y ejes dedicados a este proceso  Corto acariciando los discos para asegurarse de más rápido de E / S  Trabaja en estrecha colaboración con EMC directamente (presente en el EMC World regularmente)  Pruebas con EMC EFDs (Enterprise Flash Drives)  Equipo de Ingeniería de Sistemas dedicado al proceso de DW  Trabajar en estrecha colaboración con diversos proveedores (EMC, HDS, etc)  Referencias  Acelerar Microsoft adCenter con Microsoft SQL Server 2008 Analysis Services.  PRÁCTICAS REALES: Rendimiento escalado de Microsoft adCenter con Microsoft SQL Server 2008 Analysis Services en EMC VMAX
  • 46. adCenter aplicación de cubo PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
  • 47. EMC Symmetrix VMAX Cada servidor está conectado a una de EMC Symmetrix Array VMAX través de bus de host de doble adaptadores El servidor de la fábrica utiliza un volumen de fábrica 3 TB alojada en un 80 400 GB 10000 rpm Fibra Discos de canal en una configuración duplicada y bandas (RAID 1 + 0). Cada 24 horas el volumen fábrica replica los cambios en un volumen de informes 3 TB hecho por nueve 400 EFDs GB configurados en una configuración de banda paridad distribuida (RAID 5) PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
  • 48. Diseño Cube Múltiples data marts alimentan el procesamiento y presentación de informes OLAP sistema. Análisis Services proporciona un indicador clave de rendimiento (KPI) servicios Los datos se alimenta a base de SQL Server Integration Services (SSIS) Cada hora, el paquete SSIS carga nueva hechos en una base de datos provisional relacional. Independiente Paquetes SSIS cargan dimensión datos de otras fuentes PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
  • 49. Carga de datos de diario Cada trimestre un ProcessUpdate la operación se utiliza para actualizar dimensión datos PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
  • 50. Consulta de datos PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
  • 51. Esquema OLAP PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
  • 52. Administración La actualización de datos del cubo multidimensional en la servidor de fábrica comporta las tareas de carga de datos (datos de carga de los datos relacionales fuentes) Y el Cubo Proceso PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
  • 53. Actualización de datos diaria PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
  • 54. Montaje clon diario PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
  • 55. Centro de Producción Anuncio adCenter Production Environment OLAP Standby Server OLAP Processing Server Windows Server 2003 x64 SP2 SQL Server Analysis Services 64GB RAM, 8 Xeon procs (16 cores) HBA A HBA A HBA B HBA B Staging Data Warehouse Windows Server 2003 x64 SP2 SQL Server Analysis Services 64GB RAM, 8 Xeon procs (16 cores) Windows Server 2003 x64 SP2 SQL Server Enterprise Edition 32 GB RAM, 8 Xeon procs (16 cores) HBA AA HBA HBA BB HBA HBA AA HBA Data Feeds Windows Server 2003 x64 SP2 SQL Server Integration Services Network Load Balancing HBA BB HBA Host Bus Adapters: 400 MB/sec each SAN Fabric B SAN Fabric A Standby OLAP LUN RAID 1 19200 Max Reads 9600 Max Writes 180 300GB 10K Drives Storage Area Network OLAP LUN RAID 1 DW LUN 19200 Max Reads 9600 Max Writes 180 300GB 10K Drives RAID 1 2560 Max Reads 2560 Max Writes 32 300GB 10K Drives DBI407 Mejores Prácticas para el Nivel 1 Edificio Soluciones de Enterprise Business Intelligence con Microsoft SQL Server Analysis Services, Adam Jorgensen
  • 56. ESTUDIO DE CASO: YAHOO! 12 TB Cube
  • 57. Yahoo - masivo de datos para la Escala Intense Oracle 10g CDF Archivo1 SSAS Cube Constructor Partición 1 Partición 1 Partición 2 Partición 2 Partición N Partición N 1.2TB/day Archivo2 Filen NAS 50 GB /hr Servidores SSAS consulta HW NLB DBI407 Mejores Prácticas para el Nivel 1 Edificio Soluciones de Enterprise Business Intelligence con Microsoft SQL Server Analysis Services, Adam Jorgensen 12TB cubo
  • 58. ESTUDIO DE CASO Grande Inversión Bancos
  • 59. Bloqueo en Analysis Services Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser 59
  • 60. Bloqueo INTERRUPTOR / MERGE debe tomar bloqueo SCH-M (pero se mantuvo sólo unos pocos ms) Puede provocar el bloqueo de las colas Si abultamiento en la tabla de particiones - puede causar unas operaciones de ordenación (utilizan lotes pequeños) Solución alternativa: partición parte en tiempo real en una independiente tabla. Mantener datos obsoletos en particiones presentado Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser 60
  • 61. Conmutación MOLAP En Acción Idea básica:  Uso MOLAP de datos históricos  Proceso últimas particiones MOLAP menudo  Latencias típicas en minutos Preocupaciones:  Cómo para dividir el cubo para una rápida y MOLAP frecuentes tratamiento  Manejo el bloqueo de procesamiento cuando se necesita actualización los datos Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser 61
  • 62. Cubo de particionamiento Particiones tanto por el tiempo y región Procesamiento completo se puede hacer en particiones "activos" Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser 62
  • 63. Cube Flipping Recordemos: Bloqueo de nivel de servidor necesaria para proceso Solución alternativa:  Dos copias del cubo, turnándose tratamiento  "Voltear "entre ellos Dos maneras de flip:  Utilice ASLB de CodePlex  Escribe pequeña Excel Plug-in 63
  • 64. ROLAP + MOLAP en Acción Utilice MOLAP para histórico / rancio datos Uso ROLAP para los datos actualizados con frecuencia Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser 64
  • 65. Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser 65
  • 66. Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser 66
  • 67. Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser 67
  • 68. Resumiendo Usted tiene que modificar su diseño si desea escalar El particionamiento es absoluta crucial     Partición de la velocidad de procesamiento Partición de latencia de los datos (en tiempo real frente a rancio) Partición para el archivado de datos antiguos Problema secundario anteriormente: Partición de velocidad de las consultas Hardware que realmente importa para grandes cubos    Dispositivos NAND son pareja hecha en el cielo. Las pruebas muestran dos núcleos Nehalem CPU menudo puede soportar cientos de usuarios Equilibrar cuidadosamente IOPS vs memoria, tenga en cuenta la parte caliente del cubo 68 DBI407 Mejores Prácticas para el Nivel 1 Edificio Soluciones de Enterprise Business Intelligence con Microsoft SQL Server Analysis Services, Adam Jorgensen