Actualizado el 21 de Marzo del 2018 (Publicado el 20 de Diciembre del 2017)
784 visualizaciones desde el 20 de Diciembre del 2017
919,9 KB
31 paginas
Creado hace 16a (27/04/2008)
Escalabilidad y Rendimiento en una
Solución BI
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Agenda
• Escalabilidad
• Rendimiento
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Escalabilidad SSIS
• Podemos instalar SSIS de forma independiente en
un servidor
• Podemos escalar utilizando varios servidores SSIS
• SSIS soporta completamente 64 bits
• Cuidado con Drivers
• BIDS es 32 bits
• Podemos configurar “Granjas de SSIS”
• SSIS de Front-End y almacén de paquetes en MSDB
centralizada
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Escalabilidad SSAS
• Escalabilidad en el procesado
• Utilizar particiones
• Escalabilidad en los orígenes de datos
• Procesamiento Paralelo
• Podemos implementar escalado horizontal??
• Podemos dividir procesamiento de consulta??
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Escalabilidad SSAS
Arquitectura de Escalado
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Escalabilidad SSAS
Paso 1: Estado Inicial
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Escalabilidad SSAS
Paso 2: Sincronización
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Escalabilidad SSAS
Paso 3: Cambio Cadenas de Conexión
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Escalabilidad SSRS
Despliegue escalado
Orígenes de
Datos
Report Metadata
Y Cache Failover Cluster
Despliegue escalado
Clientes
SQL Server
Windows Server
SQL Server
Windows Server
Oracle
SQL Server
DB2
Flat Files,
OLE DB,
ODBC
IIS
Report Server
Windows Server
IIS
Report Server
Windows Server
NLB
IIS
Report Server
Windows Server
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Escalabilidad SSRS
Ficheros de Configuración del Servidor
• Unico por Report Server – no transferible
• Configuración (incluir extensiones) debería ser el mismo en
cada máquina
• Áreas específicas de interés
• Conexión a la base de datos de Report Server
• Cuenta y contraseña de Ejecución
• Configuración de extensiones (incluyendo la entrega por E-
mail)
• Usar la herramienta de configuración, editor de texto o
las herramientas por consola para modificarlo
• Monitorizar las actualizaciones de configuración
• Seguridad de Acceso a Código (CAS) para las
extensiones se almacenan en un fichero separado
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Escalabilidad SSRS
Cifrado de Datos
• Cuando se almacenan las conexiones de orígenes de datos y las
credenciales, se cifran
• La clave simétrica se almacena cifrada con la clave privada de la
instancia
•
En SQL Server 2005, solo el servicio Windows tiene lógica de cifrado /
descifrado
• Compartida por todos los servidores en un escenario de escalabilidad
• Debemos de restaurar la clave cuando cambiemos, el nombre del servidor, la
cuenta de servicio o hagamos algún cambio en la instalación
• Administra claves con RSKEYMGMT o la Herramienta de Configuración
Extrae una copia
•
• Aplica la clave almacenada
•
Elimina los dos cifrados en el equipo
• Hacer copia de Seguridad de Clave!!!
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Rendimiento
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Los 3 Principios básicos
de un buen diseño de cubos
• Relaciones de Atributo
• Relaciones de Atributo
• Relaciones de Atributo
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Relaciones de Atributo
• Relaciones uno a varios entre atributos
• Todo funcionará mejor si las definimos cuando sea
aplicable
• Ejemplos:
• Ciudad Provincia, Provincia País
• Día Mes, Mes Trimestre, Trimestre Año
• Subcategoría Categoría
• Relaciones Rígidas vs. Flexibles (flexible predeterminado)
• Cliente Ciudad, Cliente Teléfono son flexibles
• Cliente FechaNacimiento, Ciudad Provincia son rígidas
• Todos los atributos están implícitamente relacionados al
atributo clave
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Relaciones Atributo
(continuación)
Ciudad
Sexo
Estado Civil
Edad
Provincia
Cliente
País
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Relaciones Atributo
(continuación)
País
Provincia
Ciudad
Sexo
Estado Civil
Edad
Cliente
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Relaciones Atributo
¿Dónde se utilizan?
• Semántica MDX
• Le indica al motor de fórmula como agrupar los valores de
medida
• Si la granularidad del grupo de medidas es diferente a la
del atributo clave (e.j. Ventas por Mes)
• Necesitamos relaciones de atributo con otros atributos (e.j. Mes
Trimestre, Trimestre Año)
• De otro modo no se devolverían datos (NULL) para Trimestre y
Año
Semántica MDX explicada en detalle en:
http://www.sqlserveranalysisservices.com/OLAPPapers/AttributeRelationships.htm
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Relaciones Atributo
¿Dónde se utilizan?
• Almacenamiento
• Reduce las relaciones redundantes entre miembros de una
dimensión – normaliza el almacenamiento de la dimensión
• Posibilita el agrupamiento de registros dentro de los segmentos
de la partición (e.j. almacenar hechos para un mes juntos)
• Procesamiento
• Reduce el consumo de memoria en el procesamiento de la
dimensión – menos tablas hash en memoria
• Permite que las grandes dimensiones superen la barrera de 32-
bits
• Mejora la velocidad de procesamiento de dimensiones y
particiones
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Relaciones Atributo
¿Dónde se utilizan?
• Rendimiento de Consultas
• Acceso al almacenamiento de la dimensión es más rápido
• Produce planes de ejecución más óptimo
• Diseño de Agregación
• Posibilita que el algoritmo de diseño de las agregaciones produzca
conjuntos de agregaciones efectivos
• Seguridad Dimensión
• DeniedSet = {Provincia.Madrid} debería denegar ciudades y clientes
en Madrid – requiere relaciones de atributos
• Propiedades de Miembro
• Las relaciones de atributo identifican las propiedades de los
miembros en los niveles
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Buenas Prácticas
para el Diseño de Cubos
• Dimensiones
• Consolidar múltiples jerarquías en una única dimensión (A
no ser que estén relacionadas a través de la tabla de
hechos)
• Evitar el modo de almacenamiento ROLAP si el rendimiento
es una clave
• Usar dimensiones “role playing” (e.j. FechaPedido,
FechaFactura, FechaEntrega) – evita múltiples copias físicas
• Usar las dimensiones padre-hijo prudentemente
o No hay soporte para un nivel de agregación intermedio
• Usar dimensiones varios-a-varios prudentemente
o Más lentas que las dimensiones regulares, pero más rápidas que los
cálculos
o Grupo de medidas intermedio debe de ser “pequeño” en relación con el
grupo de medidas primario
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Buenas Prácticas
para el Diseño de Cubos
• Atributos
• Definir todas las relaciones de atributo posibles!
• Marcar las relaciones de atributo como rígidas cuando sea posible
• Usar campos clave de tipo integer (o numérico)
• Configurar la propiedad AttributeHierarchyEnabled a falso en
atributos no usados para navegación (e.j. Telf., Dirección)
• Configurar AttributeHierarchyOptimizedState a NotOptimized para
atributos no usados frecuentemente
• Configurar AttributeHierarchyOrdered a falso si el orden de los
miembros no es importante
• Jerarquías
• Usar jerarquías naturales donde sea posible
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Buenas Prácticas
para el Diseño de Cubos
• Medidas
• Usar el tipo de datos numérico más pequeño posible
• Usar funciones de agregado semi-aditivas en lugar de
cálculos MDX para conseguir el mismo
comportamiento
• Poner medidas distinct count en un grupo de medidas
separado (BIDS lo hace automáticamente)
• Evitar el uso de campos de tipo string para medidas
distinct count
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Particionado
(sólo versión Enterprise)
• Mecanismo para romper los cubos en partes más
manejables
• Las particiones pueden ser añadidas, procesadas y
borradas independientemente
• La actualización de datos del últimos mes no afecta a otras
particiones
• Podemos implementar un escenario de ventana de forma muy
sencilla
o E.j. ventana de 24 meses añadir la partición de Junio de 2006 y
borrar Junio 2004
• Las particiones pueden tener diferentes configuraciones
de almacenamiento
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Beneficios de Particionado
• Las particiones pueden procesarse y consultarse en paralelo
• Mejor utilización de recursos de servidor
• Reducimos los tiempos de carga
• Consultas se aíslan a particiones relevantes menos datos que revisar
• SELECT … FROM … WHERE [Tiempo].[Año].[2006]
• Consulta solo particiones de 2006
• Lo Esencial Las particiones posibilitan:
• Administración
• Rendimiento
•
Escalabilidad
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Buenas Prácticas Particionado
• No más de 20M de filas por partición
• Especificar el corte de la partición
• Opcional para MOLAP – servidor auto-detecta y valida contra la
especificada por el usuario (si existe)
• Debemos especificarla para ROLAP
• Administrar las configuraciones de almacenamiento utilizando
patrones
•
• Consultadas Periódicamente MOLAP con menos agregaciones o sin
Frecuentemente Consultadas MOLAP con muchas agregaciones
ellas
• Histórico ROLAP sin agregaciones
• Discos diferentes - usar múltiples controladores para evitar contención
I/O
Copyright © 2008, Solid Quality Mentors. All rights reserved.
Buenas Prácticas para Agregados
• Definir todas las relaciones de atributo posibles
• Propiedad AggregationUsage para guiar al
diseñador de agregaciones
• Atributos menos utilizados
Comentarios de: Escalabilidad y Rendimiento en una Solución BI (0)
No hay comentarios