Академический Документы
Профессиональный Документы
Культура Документы
Expertos en materia:
T.K. Anand
Deepak das
Eric Jacobsen
Edward Melomed
Akshai Mirchandani
Mosha Pasumansky
Castro Padalkar
Carl Rabeler
Wayne Robertson
Richard Tkachuk
Dave Wickert
Len Wyatt
Resumen: Este libro blanco describe cómo los desarrolladores de aplicaciones pueden
Aplicar Rendimiento-técnicas de afinación para Su Microsoft SQL Servidor 2005 Análisis
Servicios Procesamiento analítico en línea (OLAP) Soluciones.
Análisis de servicios 2005 guía de rendimiento 3
Copyright
La información contenida en este documento representa la visión actual de Microsoft Corporation sobre las cuestiones
discutidas a partir de la fecha de publicación. Dado que Microsoft debe responder a las cambiantes condiciones del
mercado, no debería interpretarse como un compromiso por parte de Microsoft, y Microsoft no puede garantizar la
exactitud de cualquier información presentada después de la fecha de publicación.
Este libro blanco es sólo para propósitos informativos. MICROSOFT NO ofrece ninguna garantía, expresa, implícita o
estatutaria, en cuanto a la información conTENIDA en este documento.
El cumplimiento de todas las leyes de derecho de autor aplicables es responsabilidad del usuario. Sin limitar los derechos
bajo copyright, ninguna parte de este documento podrá ser reproducida, almacenada o introducida en un sistema de
recuperación, o transmitida en cualquier forma o por cualquier medio (electrónico, mecánico, fotocopia, grabación, o de
otra manera), o para cualquier propósito, sin el permiso expreso y por escrito de Microsoft Corporation.
Microsoft puede tener patentes, solicitudes de patente, marcas registradas, derechos de autor o cualquier otro derecho de
propiedad intelectual que cubra el contenido de este documento. A excepción de lo estipulado expresamente en cualquier
acuerdo de licencia por escrito de Microsoft, el suministro de este documento no le da ninguna licencia a estas patentes,
marcas, derechos de autor, u otra propiedad intelectual.
A menos que se indique lo contrario, las empresas, organizaciones, productos, nombres de dominio, direcciones de correo
electrónico, logotipos, personas, lugares y eventos representados en los ejemplos aquí son ficticios. Ninguna asociación
con ninguna compañía real, organización, producto, nombre de dominio, dirección de correo electrónico, logotipo,
persona, lugar o evento se destina o debe inferirse.
Microsoft, Windows y Windows Server son marcas registradas o marcas registradas de Microsoft Corporation en el United
States y/o de otros países.
Todas las demás marcas registradas son propiedad de sus respectivos propietarios.
Análisis de servicios 2005 guía de rendimiento 4
Tabla de contenidos
Introducción ..................................................................................................... 7
Mejora del rendimiento de las consultas ........................................................... 9
Comprensión de la arquitectura de consulta ....................................................... 9
Gestión de sesiones ................................................................................. 10
Ejecución de consultas MDX ...................................................................... 11
Recuperación de datos: dimensiones .......................................................... 13
Recuperación de datos: medir datos de grupo ............................................. 16
Optimización del diseño de cotas .................................................................... 19
Identificar relaciones de atributos .............................................................. 19
Uso de jerarquías de manera efectiva ......................................................... 23
Maximizar el valor de las agregaciones ............................................................ 26
Cómo ayudan las agregaciones .................................................................. 26
Cómo el motor de almacenamiento utiliza agregaciones ............................... 27
¿Por qué no crear todas las agregaciones posibles? ...................................... 29
Cómo interpretar las agregaciones ............................................................. 31
Qué agregaciones se construyen ................................................................ 32
Cómo impactar el diseño de agregación ...................................................... 33
Sugerir candidatos de agregación .............................................................. 34
Especificación de estadísticas sobre datos de cubos...................................... 38
Adopción de una estrategia de diseño de agregación .................................... 41
Uso de particiones para mejorar el rendimiento de las consultas ......................... 43
Cómo se utilizan las particiones en la consulta............................................. 43
Diseño de particiones ............................................................................... 44
Consideraciones de agregación para múltiples particiones ............................. 45
Escritura MDX eficiente .................................................................................. 47
Especificar el espacio de cálculo ................................................................. 47
Eliminar tuplas vacías ............................................................................... 50
ReSumir datos con MDX ........................................................................... 59
Aprovechando la caché del motor de ejecución de consultas.......................... 62
Aplicación de las mejores prácticas de cálculo ............................................. 63
Ajuste del rendimiento de procesamiento ....................................................... 65
Descripción de la arquitectura de procesamiento .............................................. 65
Descripción del trabajo de procesamiento ................................................... 65
Trabajos de procesamiento de dimensiones................................................. 66
Comandos de procesamiento de dimensiones .............................................. 68
Trabajos de procesamiento de particiones ................................................... 69
Comandos de procesamiento de partición ................................................... 70
Ejecución de trabajos de procesamiento ..................................................... 70
Análisis de servicios 2005 guía de rendimiento 5
Introducción
Casi tiempos de respuesta de consulta y oportuno Datos Actualizar Son Dos
bienEstablecido requisitos de rendimiento del procesamiento analítico en línea (OLAP)
Sistemas. Para proporcionar un análisis rápido, Sistemas OLAP Tradicionalmente Uso
jerarquías a Eficientemente Organizar y resumir Datos. Mientras Estas jerarquías
proporcione la estructura y la eficacia al análisis, Que tienden a restringir Lla Analítica
Libertad De usuario finals Quién Quiero Libremente Analizar y organizar Datos sobre la
marcha.
Para Apoyo una amplia gama de estructurado y flexible Opciones de análisis, Microsoft
® Sql Servidor™ Analysis Services (SSAS) 2005 Combina los beneficios de
jerarquización tradicional Análisis Con Lla Flexibilidad De una nueva generación de
Atributo Jerarquías. Las jerarquías de atributos permiten a los usuarios organizar
libremente los datos en Consulta tiempo, en lugar de limitarse a la ruta de navegación
predefinidas del arquitecto OLAP. Para Apoyo Esta flexibilidad, Lla Servicios de análisis
Olap Arquitectura está específicamente diseñado para Acomodar Ambos Atributo y
jerárquico Análisis Mientras Mantener Lla consulta rápida actuación de Convencional
Bases de datos OLAP.
Darse cuenta Lla Rendimiento beneficios de este análisis combinado Paradigma requiere
comprensión Cómo la Olap Arquitectura Soporta Ambos jerarquías de atributos y
Tradicional Jerarquías, Cómo que Cna Eficazmente Uso la arquitectura Para Satisfy sus
requerimientos de análisis y cómo puede maximizar la arquitectura de Utilización de
recursos del sistema.
Nota Para aplicar las técnicas de ajuste de rendimiento analizadas en este libro
blanco, debe tener SQL Server 2005 Service Pack 2 instalado.
Para satisfacer las necesidades de rendimiento de varios diseños OLAP y entornos de
servidor, Este Blanco el papel proporciona una orientación Cómo puede aprovechar Lla
Amplia gama de oportunidades para optimizar el análisis SRendimiento ervicio. Desde
Servicios de análisis el tuning del rendimiento es un Bastante tema amplio, Este Blanco
el papel organizas Tuning de rendimiento Técnicas En los siguientes Cuatro Segmentos.
Mejorar Query Rendimiento - Rendimiento de la consulta impacta directamente el
calidad de la experiencia del usuario final. Como tal, es el principal punto de referencia
utilizado para evaluar elaplicación de una implementación OLAP. Analysis Services ofrece
una variedad de Mecanismos para acelerar Consulta Rendimiento, incluyendo
agregaciones, almacenamiento en caché y recuperación de datos indexados. Además
Usted puede mejorar rendimiento de la consulta mediante la optimización el diseño de
su dimensión Atributos Cubos, Y Mdx Consultas.
Ajuste del rendimiento de procesamiento - El procesamiento es la operación que
actualiza los datos En Un Base de datos Analysis Services. Cuanto más rápido sea el
rendimiento de procesamiento, antes los usuarios pueden acceder datos refrescados.
Analysis Services proporciona una variedad De Mecanismos que te Cna Uso Para
Influencia Procesamiento enrformance, Incluyendo diseño eficiente de la dimensión,
Eficaz Agregacións particiones, unNd Un Económico Procesamiento Estrategia (por
ejemplo, actualización incremental versus completa contra el almacenamiento en caché
proactivo).
Optimizar Especial DesIgn Scenarios – Los escenarios de diseño complejos requieren un
conjunto distinto de técnicas de afinación del rendimiento para asegurart se aplican con
éxito, especialmente si usted Combine Un Complejo Diseño Con grandes volúmenes de
Análisis de servicios 2005 guía de rendimiento 8
Sesión Gestión
Las aplicaciones cliente se comunican con Analysis Services utilizando XML for Analysis
(XMLA) a través de TCP IP o HTTP. Analysis Services proporciona un componente de
escucha XMLA que maneja todas las comunicaciones XMLA entre Analysis Services y sus
clientes. El administrador de sesiones de Analysis Services controla el modo en que los
clientes se conectan a una instancia de Analysis Services. Usuarios autenticados por
Microsoft ® Windows Y que tienen derecho a los servicios de análisis pueden conectarse
a servicios de análisis. Después de que un usuario se conecte a Analysis Services, el
administrador de seguridad determina los permisos de usuario basándose en el
combinación de Servicio de análisiss Papels que se aplican a la Usuario. Dependiendo de
la arquitectura de la aplicación cliente y de los privilegios de seguridad de la conexión, el
cliente creas una sesión Cuando se inicie la aplicación y, a continuación, reutilizará la
sesión para todas las solicitudes del usuario. La sesión proporciona el contexto en el que
las consultas del cliente son ejecutadas por Lla Motor de ejecución de consultas. UNA
sesión Existe Hasta es sea cerrado por la aplicación cliente o hasta que el servidor
necesite caducarlo. Para más información sobre la longevidad de las sesiones, Ver
Supervisar el tiempo de espera de las sesiones ociosas En este blanco Papel.
Análisis de servicios 2005 guía de rendimiento 11
categoría por Yera. Para obtener más información sobre cómo diseñar agregaciones
para mejorar el rendimiento, Ver Maximizar el valor de las agregaciones.
3. Datos de hechos—Si Apropiado Agregaciones No Existen Para un determinado
Consulta, el motor de almacenamiento debe recuperar el datos de hechos de la
partición. El motor de almacenamiento utiliza muchas optimizaciones internas a
efectivamente recuperar datos del disco Incluyendo indexación mejorada y
agrupamiento de Relacionadas con RecorDs. Tanto en las agregaciones como en los
datos de hechos, las diferentes porciones de datos pueden residir en el disco o en las
ventanas Sistema operativo Archivo caché, dependiendo de la carga de memoria del
sistema.
UNA técnica clave de afinación del rendimiento para optimizar la recuperación de datos
es reducir la cantidad de datos que el motor de almacenamiento necesita escanear
mediante Múltiples particiones que dividir físicamente sus datos de grupo de medida en
distintos segmentos de datos. Uso de múltiples partitions no sólo puede mejorar
Consulta Velocidad Pero Que Cna También Proporcionar mayor escalabilidad, Facilitar
gestión de datos, Y Optimizar procesamiento de rendimiento.
Desde un Consulta Perspectiva el motor de almacenamiento puede predeterminar los
datos almacenados en cada Molap partición y optimizar que Molap particiones que
escanea en paralelo. En tél ejemplo en figurae 4, una partición con 2005 los datos se
muestran en azul y una partición con 2006 datos se muestra en color naranja. THge
Datos Petición se muestra en el diagrama {(Europa, 2005), (Asia, 2005)} Sólo Requiere
2005 Datos. En consecuencia, el motor de almacenamiento sólo necesita ir al
2005 Partición. Para maximizar la consulta rendimiento, el motor de almacenamiento
utiliza Paralelismo, como escanear particiones paralelas, siempre que sea posible. Para
localizar datos en una partición, el motor de almacenamiento consulta segmentos en
paralelo y utiliza índices de mapa de bits para escanear páginas de manera eficiente
para encontrar los datos deseados.
Las particiones son un componente importante de altarealizando cubos. Para más
información sobre los beneficios más amplios de las particiones, Ver los siguientes
Seccións en este libro blanco:
Para más información sobre Cómo son los índices de mapa de bits creados y utilizado
en Particiones, Ver Trabajos de procesamiento de particiones.
Para averiguar información más detallada Acerca de las ventajas de la consulta de
particionamiento, Ver Uso de particiones para mejorar el rendimiento de las
consultas.
Para aprender más sobre los beneficios de procesamiento de usando particiones, Ver
Uso de particiones para mejorar el rendimiento de procesamiento.
Análisis de servicios 2005 guía de rendimiento 19
Considere el siguiente ejemplo. Tiene una dimensión de tiempo con un atributo llamado
Día de la semana. Este atributo contiene Siete miembros, uno por cada dAy de la wEek,
Donde el miembro del lunes representa todos los lunes en su dimensión de tiempo.
Dado lo que aprendiste del ejemplo de mes/año, Usted puede pensar que usted debe
inmediatamente cambiar el KeyColumns propiedad de este atributo para concatenar el
día con el calendario fecha o algún otro atributo. Sin embargo, antes Hacer Este cambio,
usted debe Considerar sus requerimientos de negocio. Lla día-de-la agrupación de la
semana puede ser vaLeerCapaz En algunos análisis Escenarios Como AnalyZing patrones
de ventas minoristas para el día de la semana. Sin embargo, en otras aplicaciones, el
día de la semana Puede Sólo Ser interesante si se concatena con la fecha real del
calendario. En otras palabras, el Mejor el diseño depende de su escenario de análisis. Así
que wEngañar es importante a seguir mejores prácticas para modificar las propiedades
de cota y crear relaciones de atributos eficientesCaderas, en última instancia, debe
Asegúrese de que su Propio requisitos del negocio están satisfechos. Para más ideas
sobre diversos diseños de la dimensión para una dimensión del tiempo, Ver el blog
Tiempo calcorugaiOns en UDM: período paralelo.
jerarquía Como an UnNatural Jerarquía, incluso si usted desea que sea un Natural
Jerarquía.
Para comprobar el tipo de jerarquía que ha creado, Business Intelligence Development
Studio emite una advertencia Icono siempre que cree una jerarquía de usuario que
falte uno o más relaciones de atributos. Lla propósito de la Advertencia Icono es que
Ayuda Identificar Situaciones donde se han previsto para crear un Natural Jerarquía pero
han omitido inadvertidamente las relaciones de atributos. Una vez que se crean las
relaciones de atributos apropiadas para la jerarquía en cuestión, la advertencia Icono
Desaparecers. Si Tú Intencionalmente Crear un antinatural jerarquía, la continuar
jerarquías para mostrar la advertencia Icono para indicar las relaciones que faltan. En
este Caso, simplemente ignore el icono de advertencia.
Además, si bien este no es un problema de rendimiento, ser consciente de cómo sus
jerarquías de atributos, jerarquías naturales, y UnNatural las jerarquías se muestran a
los usuarios finales de la herramienta front-end. Por ejemplo, si usted tiene una serie de
geografía atributos que generalmente se consultan Por usando un Natural Jerarquía del
CondeRy/region, estado/provincia, Y Ciudad, Usted puede considerar ocultar Lla
Individuales jerarquías de atributos para cada uno de estos atributos con el fin de
Prevenir Redundancia En la experiencia del usuario. Para ocultar las jerarquías de
atributos, Uso Lla AttributeHierarchyVisible Propiedad.
Análisis de servicios 2005 guía de rendimiento 26
magnitud Inferior que el teórico Valor. Para Este escenario, asumir que Lla Ejemplo cubo
tiene 1.095.000 combinaciones en el grano, un factor de 100 inferior a la teórica Valor.
Consulta del cubo en el grano Es UnComún, Dado que tales un conjunto de resultados
grande (1.095.000 Células) Es Probablemente no es útil para usuarios finales. Para
cualquier consulta que no sea unt el cubo Grano, el motor de almacenamiento Debe
Realizar Un Resumen sobre la marcha de las células detalladas por el Otros atributos de
dimensiónQue Cna ser costoso para consultar el rendimiento. Para optimizar esta
SummarIzación, Servicios de análisis Usos Agregaciones para precalcular y almacenar
resúmenes de datos durante el procesamiento del cubo. Con las agregaciones fácilmente
disponibles en el momento de la consulta, rendimiento de la consulta puede ser
mejorado grandemente.
Continuando con el mismo ejemplo de cubo, Si el cubo contiene an agregación De
Ventas Por Lla Mes Y Producto SubCategoría Atributos, una consulta que requierens
ventas por Mes Por pRoduct SubCategoría puede ser Directamente satisfechos por Lla
Agregación Sin Va a los Hecho Datos. Lla Máximo número de celdas de esta agregación
es 720 (20 Producto SubCategoría miembros * 36 meses, excluyendo la Todos Atributo).
Mientras que las células numéricas reales en Lla la agregación es Otra vez Dependiente
en la distribución de datos, Lla Máximo número de celdas, 720, es considerablemente
más eficientes Que Resumiendo los valores de 1.095.000 Células.
Además, el beneficio de la agregación Se aplica más allá de los consultas que coinciden
directamente con la agregación. Siempre que una consulta se emite la solicitudLla Motor
de almacenamiento intentos de utilizar cualquier agregación que puede ayudar a
satisfacer la solicitud de consulta, Incluyendo Agregaciones que están en un nivel más
fino de detalle. Para estas consultas, el motor de almacenamiento simplemente resume
las celdas de la agregación para producir el conjunto de resultados deseado. Por
ejemplo, Si usted solicita Ventas datos resumidos por mes y categoría de producto, Lla
El motor de almacenaje puede Rápidamente resumir las celdas en Lla mes y Producto
SubCategoría agregación a Satisfacer tél consulta, en lugar de volver a resumir los datos
de la nivel de detalle más bajo. Para realizar este beneficio, sin embargo, requiere que
usted have diseño adecuado de sus dimensiones con relaciones de atributoshIPS y
jerarquías naturales para Que Analysis Services entiende cómo los atributos están
relacionados entre sí. Para más información sobre diseño de dimensiones, Ver
Optimización del diseño de cotas.
Figura 10 Escenario 2: SQL Server Profiler Rastro Para Cubo Con sin
agregación Golpeó
Figura 10 muestra un Sql Servidor Profiler trazar para la misma consulta contra el
mismo cubo pero esta vez, el cubo no tiene agregaciones Que Cna satisfacer la solicitud
de consulta.
Para satisfacer la consulta, se realizan las siguientes operaciones:
1. Una vez enviada la consulta, en lugar de recuperar datos de una agregación, el
motor de almacenamiento va a tdetalla los datos en la partición.
2. Desde este punto, el proceso es el mismo. Lla Datos está cargada En la caché de
grupo de medida del motor de almacenamiento.
3. Una vez en la caché de grupo de medida, el Motor de ejecución de consultas
Recupera los datos de la caché y devuelve el conjunto de resultados al cliente.
Para resumir Estos dos escenarios, Cuando Sql Servidor Profiler Muestra Obtener datos
de la agregación, Este indicates una agregación golpeó. Con una agregación golpeada,
Lla Motor de almacenamiento puede recuperar parte o toda la respuesta de datos de la
agregación y no no es necesario ir a la Datos Detalle. Que no sean tiempos de respuesta
rápidos,ggregation Hits Son una primaria indicación de un Jugocessful diseño de
agregación.
Para ayudarle a lograr una diseño efectivo de la agregación, Analysis Services
proporciona Herramientas y técnicas Para Ayuda se crean agregaciones para su carga de
trabajo de consultas. Para más información sobre estas herramientas y técnicas, Ver
Qué agregaciones se construyen En Este libro blanco. Una vez que haya creado y
desplegado sus agregaciones, Sql Servidor Profiler proporciona excelente perspicacia
para ayudarle Monitor aggregation uSabio durante el ciclo de duración de la aplicación.
construyen. Para más información sobre este temaVer Qué agregaciones se construyen
En Este libro blanco.
En términos generales, un la agregación resume las medidas mediante una combinación
de atributoss. FROM una perspectiva de agregación, Para Cada Atributo, hay dos niveles
de detalle: Lla Atributo Sí mismo y el atributo All. Figura 11 DisplaYS los niveles de
detalle Para cada atributo en la dimensión del producto.
servicios de análisis nunca construyen una agregación que sea mayor que un tercio del
tamaño de la tabla de hechos. En términos prácticos, la unoTercer la regla normalmente
impide la construcción de agregaciones que incluyan uno o más atributos grandess.
A medida que el número de miembros de cota aumenta a niveles más profundos en un
cubo, se vuelve menos probable que una agregación contenga estos niveles inferiores
debido a la unoTercer Regla. Las agregaciones excluidas por el unoTercer regla son las
que serían casi tan grandes como el nivel de hecho en sí y casi tan caro para los
servicios de análisis a utilizar para la resolución de la consulta como el nivel de hecho.
Como resultado, añaden poco o ningún valor.
Cuando se tienen dimensiones con un gran número de miembros, este umbral se puede
superar fácilmente en o cerca del nivel de la hoja. Por ejemplo, usted tiene Un Grupo de
medida con los siguientes Diseño:
Customer Dimensión con 5 millones clientes individuales organizado en
50,000 Ventas distritos y 5.000 territorios de ventas
Pdimensión roduct con 10000 Productos organizado en 1,000 Subcategorías Y
30 Categorías
Dimensión de tiempo con 1,095 días organizados en 36 Meses Y 3 Años
Tabla de hechos de ventas con 12 millones registros de ventas
Si usted modela este grupo de medida usando Un Solo Partición, Servicios de análisis no
no considerar ninguna agregación que excede 4 millones Registros (un tercio del tamaño
de la Partición). Por ejemplo, es no no considere ninguna agregación que incluya la
cliente individual, dado que el atributo de cliente supera unoTercer Regla. Además, no
no considerar una agregación del territorio de ventas, Categoría y mes Dado que el
número total de registros de esa agregación podría Potencialmente Ser 5,4 millones
Registros consistente en 5.000 territorios de ventas, 30 Categorías y 36 Meses.
Si usted modela este grupo de medida usando Múltiples Particiones que Cna Impacto Lla
diseño de agregación al desglosar el grupo de medida en pequeños componentes físicos
y ajustar el Estadísticas para cada partición.
Por ejemplo, si romper el measGrupo de URE en 36 Mensual Particiones, puede tener los
siguientes Datos Estadísticas Para Partición:
Dimensión del cliente tiene 600.000 Individuales Clientes organizadas en
10.000 distritos de ventas y 3.000 territorios de ventas
Dimensión del producto con 7,500 productos organizados en 700 Subcategorías y
25 categories
Dimensión de tiempo con 1 Mes y 1 Yera
Tabla de datos de ventas con 1, 000000 registros de ventas
Con los datos desglosados en componentes más pequeños, los servicios de análisis
pueden ahora identificar Adicional agregaciones útiles. Por ejemplo, la agregación para
el territorio de ventas, Categoría y mes es ahora un buen candidato con (3000 territorios
de ventas * 25 Categorías * 1 Mes) o 75,000 registros que es menor que un tercio Dela
Partición tamaño de 1 millón Registros. Al crear varias particiones es Útil, también es
fundamental que actualizar el recuento de miembros Y Partición cuenta para la partición
como displayed en la figura 16. Si no actualizas las estadísticas, Analysis Services no
sabrá que la partición contiene un conjunto de datos reducido. Tenga en cuenta que este
ejemplo se ha proporcionado para ilustrar puede utilizar múltiples particiones para
impactar el diseño de agregación. Para Práctico Partición Tamaño Directrices, incluida la
Análisis de servicios 2005 guía de rendimiento 41
Recomienda número de registros por partición, Ver Diseño de particiones En Este libro
blanco.
Tenga en cuenta que puede examinar los metadatos almacenados en y recuperar la
información de soporte y supervisión de una instancia de Analysis Services Por uso de
conjuntos de filas de esquema de XML for Analysis (XMLA). Con esta técnica, puede
obtener acceso a información sobre conteos de registros de partición y tamaño de
agregación en disco para ayudarle a obtener un mejor sentido de la huella de los cubos
de servicios de análisis.
Diseño Particiones
Si tiene alguna idea de cómo los usuarios consultan los datos, puede
Partición datos de una manera que coincida con las consultas comunes. Esto
puede ser algo difícil si las consultas de usuario no siguen patrones
comunes. UNA opción muy común para las particiones es seleccionar Un
Elemento De hora Como Día mes, cuarto, año o alguna combinación de
elementos temporales. Muchas consultas Contain a elemento de tiempo, Así
Particionamiento por tiempo a menudo se beneficians rendimiento de la
consulta.
Cuando configure las particiones, debe Atar Cada Partición a una fuente
tcapaz, vista, o consulta de origen que contiene Lla subconjunto de Datos
para esa partición. Para las particiones MOLAP, durante el procesamiento
Analysis Services identifica internamente el segmento de datos que se incluye en cada
partición usando el DataIDs mínimo y máximo de cada atributo Para Calcule el rango de
datos que contiene la partición. A continuación, se combina el intervalo de datos para
cada atributo para crear la definición de división de la partición. La definición de división
se conserva como un subcubo. Conociendo esta información, el motor de
almacenamiento puede optimizar qué parteExplora durante la consulta sólo eligiendo las
particiones que son relevantes para la consulta. Para ROLAP y el almacenamiento en
caché proactivo particiones, debe Manualmente Identifique el segmento en las
propiedades de la partición.
Como diseñas particiones, Uso los siguientes directrices para creación y gestión
Particiones:
Cuando decide Cómo desglosar sus datos en particiones, generalmente está pesando
el tamaño de la partición frente al número de particiones. El tamaño de la partición
es una función del número de registros de la partición, así como del tamaño de los
archivos de agregación de esa partición. Aunque los segmentos de una partición se
consultan en paralelo, si los archivos de agregación para una partición no se puede
administrar de forma eficaz en la memoria, se puede ver Significativo problemas de
rendimiento durante la consulta.
En general. el número de registros por partición debe no exceda 20 Millones.
Además, el tamaño de una partición no debe exceder 250 Mb. If la partición excede
cualquiera Una de estos Umbrales, considere la posibilidad de romper la partición en
componentes más pequeños para reducir la cantidad de tiempo dedicado a escanear
la partición. Mientras que tener varias particiones es Generalmente Beneficioso
having también muchas particiones, e.g., mayor que unos pocos cientos, Cna
También afectar negativamente el rendimiento.
Si tiene varias particiones que son menores de 50 Mb o 2 millones de registros por
particiónConsiderar consolidarlos en una partición. Además generalmente no es una
buena práctica crear una partición que tenga menos de 4,096 Registros. En este
escenario, Dado que el conteo de registros es tan pequeño, el motor de
almacenamiento no crea agregaciones o índices para la partición y, por lo tanto, no
no configure el auto-Slice. Tenga en cuenta que este conteo de registros Umbral es
controlada por el IndexBuildThreshold Propiedad en el archivo msmdsrv. ini.
Cayendo por debajo de esteno debe ser generalmente un problema en los entornos
de producción Desde los conjuntos de datos de partición son típicamente mucho más
grande que 4,096 Registros.
Análisis de servicios 2005 guía de rendimiento 45
Cuando defina sus particiones, Recuerde que De No tienen que contener conjuntos
de valores uniformes. Por ejemplo, para un grupo de medidas determinado, puede
tener Tres particiones anuales, 11 particiones mensuales, Tres particiones
semanales, y 1–7 particiones diarias. El valor de utilizar particiones heterogéneas
Con diferentes niveles de detalle es que usted puede más fácilmente administrar la
carga de nuevos datos sin perturbar Existente pArCompeticiones. Además Puedes
agregaciones de diseño para grupos de particiones que comparten el mismo nivel de
detalle (más información en la siguiente sección).
Siempre que utilice varias particiones para un grupo de medidas determinado, debe
asegurarse de actualizar las estadísticas de datos de cada partición. Más
específicamente, es importante asegurarse de que la partición datos y miembros los
conteos reflejan con precisión los datos específicos de la partición y no los datos de
todo el grupo de medidas. Para obtener más información sobre cómo actualizar los
conteos de particiones, Ver Especificación de estadísticas sobre datos de cubos.
Para los distintos grupos de medida de conteo, considere definir específicamente las
particiones para optimizar el procesamiento y el rendimiento de las consultas de
conteos distintos. Para más información sobre este tema, Ver Optimización de conteo
distinto.
forma incremental durante el resto del período. Para más información sobre técnicas de
procesado, Ver ReFrescar particiones eficientemente.
Análisis de servicios 2005 guía de rendimiento 47
Null
America]));
This = NULL;
En Este ejemplo, Este option es significativamente más rápido Que la primera opción. La
razón Este option es más rápido es porque el Dos sdefiniciones de subcube de Cope (la
parte izquierda de Cada asignación de ámbito) Permitir Lla Motor de ejecución de
consultas Para Sabe antes de tiempo el espacio de cálculo para cada regla de negocio.
Encante esta información, el Motor de ejecución de consultas puede seleccionar una ruta
de ejecución optimizada para ejecutar el cálculo En Lla intervalo de celdas especificado.
Como regla general, es una práctica recomendada tratar siempre de simplificar las
expresiones de cálculo moviendo las partes complejas en varias definiciones de ámbito
cuandoNunca Posible.
NOTA que en esta asignación de ámbito, Lla Descendientes Función representa los
servicios de análisis 2000 aproximación Para Usando Mdx Funciones Para Navegar Un
Dimensión Jerarquía. Un enfoque alternativo en servicios de análisis 2005 es
simplemente usar Alcance con Lla jerarquías de atributos. Así En lugar de Usando SCope
(Descendientes ([Sales Territory]. [Pacífico])), puede utilizar Alcance ([Sales
Territory]. [Pacífico]).
To mejorar el rendimiento, siempre que sea posible, Uso Lla shacer frente a la definición
de subcubo Estrecho Definir Lla espacio de cálculo. Aunque este es el escenario ideal,
hay Situaciones Donde es no es posible. Lla Más escenario común es cuando Te hace
falta Para Definir un cálculo en un arbitrario Colección de las células ([Medidas]. [Monto
de ventas de revendedor] > 500). Este tipo de expresión no está permitido en el
ssubcube d de la Copeefinition desde la definición debe ser estático. En este escenario,
la solución es definir un espacio de cálculo más amplio En Lla Alcance Definición Y
Entonces utilizar el sexpresión MDX Cope (la parte derecha del SCOPE asignación) para
reducir el espacio del cubo utilizando el IIF declaración. El siguiente es un ejemplo de
cómo esta declaración puede ser Estructurad para aplicar una FAC de ponderaciónTor a
las ventas norteamericanas:
En Figura 19, Lla NO vacío Palabra clave quita el Revendedors Que No have ventas,
es decir,, Null Ventas Para 2003. Para aplicar el NO vacío Palabra clave Lla Motor de
ejecución de consultas debe evaluar completamente todas las celdas de la consulta
antes de que pueda quitar las tuplas vacías.
Si la consulta hace referencia a un miembro calculado, Lla Motor de ejecución de
consultas Debe Evaluar el miembro calculado para todas las celdas de la consulta y
luego quitar las celdas vacías. Considere el ejemplo se muestra en la figura 20.
Tenga en cuenta que sólo se muestra un subconjunto de los resultados de la
consulta. En este ejemplo, you ha modificado la consulta de revendedor, reemplazo
del monto de ventas del revendedor CálculoADO Medida Variación del año anterior.
Para producir el conjunto de resultados de la consulta, Analysis Services obtiene
primero un conjunto completo de Revendedores Y Entonces Quita los revendedores
que tienen un vacío variación del año anterior.
Dadas las reglas básicas sobre la interpretación nula, es necesario señalar cuando la
varianza del año anterior va a ser Null.
Ventas aceptables & Servicio Hsa no hay ventas en 2003 pero tiene Ventas De
$838,92 En 2002. THge Variación del año anterior Cálculo Es Null Menos $838,92
que evalúa$838,92. Dado que el valor no es null, el revendedor se devuelve en el
conjunto de resultados.
Accesorios de red tiene $729,36 ventas en 2003 pero sin ventas en 2002. El
cálculo de varianza del año anterior Es $729,36 Menos nOjo que evalúa a
$729,36. Dado que el valor no es null, el revendedor se devuelve en el conjunto
de resultados.
Si un distribuidor no tiene ventas en 2003 o 2002, el cálculo Es Null Menos Null,
Que evalúa a Null. Tel revendedor es eliminado del conjunto de resultados.
NoFunción vacía—Lla NonVacío Función, No vacío (), es similar a la NO vacío
Palabra clave Pero que proporciona Adicional Flexibilidad y un control más granular.
Mientras que el NO vacío Palabra clave sólo se puede aplicar a un ejeLla NoVacío
Función puede aplicarse a un Establecer. Esto es especialmente útil cuando está
escribiendo cálculos MDX.
Como beneficio adicional, Lla NoVacío Función Permite que Uso Un Expresión MDX
Para Evalúe el vacío Condición contra una regla de negocio. La regla de negocio
puede hacer referencia a cualquier tupla, incluidos los miembros calculados. Tenga
en cuenta que si no especifica la expresión MDX en el Vacío función, el NoVacío
función se componen al igual que el NO vacío Palabra clave, y la condición vacía es
Evaluado según el contexto de la consulta.
Continuando con los ejemplos anteriores con respecto a los revendedores, ySí Quiero
Cambiar Lla consultas anteriores para aplicar su propia regla de negocio que decida
si un revendedor es o no devueltos en la consulta. La regla del negocio es la
siguiente. Quieres una lista de todos los revendedores que tenía una venta en 2002.
Para cada uno de estos revendedores, que Sólo desea mostrar sus ventas para 2003.
Para satisfacer este requisito, se utiliza la consulta se muestra en la figura 21. Tenga
en cuenta que sólo se muestra un subconjunto de los resultados de la consulta.
En esta consulta, el Vacío Función Volvers esos revendedores que hA la sal en 2002.
Para cada uno de estos revendedores, sus 2003 Ventas se muestran. Tenga en
cuenta que la consulta produce una lista diferente de revendedores que los
revendedores devueltos en el NO vacío ejemplo de palabra clave. El revendedor de la
red de accesorios ha sido eliminado porque Sólo tiene ventas en 2003 sin ventas en
2002.
Tenga en cuenta que una forma alternativa de escribir Esta consulta es utilizar el
Filtro expresión, como la siguiente:
DE [Adventure Works]
En esta consulta, Filtro se utiliza para volver Sólo los revendedores que tenían una
venta en 2002. Filtro era COMMsólo se utiliza en versiones anteriores de Analysis
Services. Para expresiones sencillas como la que se muestra en el ejemplo anterior,
Analysis ServicEs CURAlly vuelve a escribir la consulta detrás de laEscenas utilizando
el Vacío Función. Para otros más complicada expresiones, es recomendable Utilice el
Vacío Función en lugar de la Filtro Expresión. En Analysis Services 2005, el Vacío la
función proporciona una alternativa más optimizada al uso Expresión de filtro para
comprobar si hay celdas vacías.
Como usted utiliza NO vacío palabra clave y Vacío función para quitar tuplas vacías,
tenga en cuenta las siguientes pautas:
Lla Vacío función y NO vacío la palabra clave tendrá aproximadamente el mismo
rendimiento cuando los parámetros pasados a Vacío la función coincide con los
ejes de consulta de una NEN vacío Palabra clave Consulta.
En escenarios comunes, No vacío se utiliza normalmente en lugar de No vacío
() en el nivel superior de Seleccione ejes de consulta.
En cálculos o sub-expresiones de consulta, No vacío () es el approa
recomendadoCH para lograr una semántica similar. Cuando Usando No vacío (),
Preste atención adicional a asegurarse de que el contexto de celda actual
utilizado por No vacío () es la que se pretende, posiblemente especificando
conjuntos y miembros adicionales como el segundo Parameter de la función.
Non_Empty_Comportamiento NEB—Si una expresión se resuelve o no a NULL es
importante por dos razones principales. En primer lugar, la mayoría de las
aplicaciones cliente utilizan NO vacío palabra clave en una consulta. Si usted puede
decir a la Motor de ejecución de consultas que sabe que una expresión se evaluará
como null, no necesita ser calculado y puede ser eliminado de los resultados de la
consulta antes de que se evalúe la expresión. Segundo, el Ejecución de consultas
Engine puede utilizar el conocimiento de un cálculo Non_Empty_Behavior (Nebraska)
incluso cuando el NO vacío Palabra clave Es no se utiliza. Si la expresión de una
Análisis de servicios 2005 guía de rendimiento 56
celda se evalúa como nula, que no Tengo que calcularse durante la evaluación de la
consulta.
Tenga en cuenta que la distinción actual entre Motor de ejecución de consultas utiliza
una expresión NEB es realmente un artefacto de la Motor de ejecución de consultas
Diseño. Este Distinción indica si una o ambas optimizaciones Son Utilizado
dependiendo de la NEB cálculo (propiedad) se define. La primera Optimización se
llama Optimización no vacía y la segunda Optimización se llama Ejecución de
consultas Optimización del motor.
Cuando una expresión NEB se define, el autor está garantizando Que el resultado es
nulo cuando el NEB es NULL y Por consiguiente el conjunto de resultados se no NULL
cuando NEB no es Null. Esta información se utiliza internamente Ejecución de
consultas Engine para crear el plan de consulta.
TLla Uso NEB para un cálculo determinado, que Proporcionar una expresión Que
Definirs las condiciones bajo el cual Lla cálculo es garantizado para ser Vacío. La
razón por la que NEB es un ajuste avanzado es porque Lo es a menudo difícil de
Correctamente identificar las condiciones en las que Lla Cálculo está garantizado
para Ser Vacío. Si incorrectamente Establecer NEB, ya se recibir resultados de
cálculo erróneos. Como tal, Lla Primaria Consideración de usar NEB Es para
garantizar primero y paraemost que ha definido Lla Correcto Expresión, antes de
tener en cuenta los objetivos de rendimiento.
Lla NEB Expresión puede ser un tabla de hechos medida, una lista de dos o más
tabla de hechos medidas, una tupla, o un conjunto de una sola medida. Para
ayudarle a Mejor Entender Que Optimizaciones Son Utilizado para cada expresión
considere las pautas En TCapaz 2.
Tabla 2 NEB guidelines
Además de entender las pautas para el NEB Expresión es importante considerar cómo la
expresión se aplica fo varios tipos de cálculo Operaciones.
Escenario 1—Suma o resta: Ejemplo Medidas. M1 + o – medidas. M2. Las
siguientes pautas se aplican para la suma y resta:
En general, usted DEBE especificar ambas medidas en Lla NEB Expresión por
razones de corrección.
En particular, si ambas medidas pertenecen al mismo grupo de medida, puede
ser posible Especifique sólo uno de ellos en NEB Expresión Si los datos lo
soportan. Este Podría resultado en un mejor rendimiento.
Escenario 2—Multiplicación. Ejemplo Measures. M1 * Measures. M2. Las
siguientes pautas se aplican para la multiplicación:
En general, que NO se puede especificar ninguna NEB Expresión para este
Cálculo.
En particular, si se garantiza que una de las medidas nunca es nula (p. ej., un
tipo de cambio de divisa), que PUEDE especificar la otra medida en NEB
Expresión.
En particular, si Es garantiza que, para una celda determinada, ambas medidas
son nulas o ambas no son nulas (por ejemplo, pertenecen al mismo grupo de
medida), que PUEDE especificar ambas medidas en Lla NEB Expresión, O
especifique una sola medida.
Escenario 3—División. Ejemplo - Measures. M1/Measures. M2. En este escenario,
debe especificar la primera medida (el numerador, M1) en el NEBULIZAdor.
Evaluar vacío mediante Un Grupo de medida
En algunos escenarios de diseño, es posible que pueda optimizar la removal de tuplas
vacías Por evaluar la condición vacía contra todo un grupo de medidas. En otras
palabras, Si una tupla corresponde a un registro de datos de Fact en el grupo de
medida, se incluye la tupla. Si la tupla no tiene un registro de datos de facto, Es
Excluidos. Para aplicar esta sintaxis, puede utilizar una versión especial del Existe
Función Existe (fije,, "grupo de la medida"). Tenga en cuenta que esta versión
Análisis de servicios 2005 guía de rendimiento 58
hace, tenga en cuenta que las operaciones SQL en datos NULL no son idénticas a MDX.
Además, even aunque puedes agregar el cálculo a la tabla de hechos, que también debe
Evaluar el impacto de las medidas adicionales en el cubo. Cada vez que se consulta un
grupo de medida, aunque sólo se solicite una medida, todas las medidas en eso Grupo
de la medida se recuperan de la Storage Engine y cargado en la dcaché ATA. Cuantas
más medidas tenga, cuanto mayor sea la demanda de recursos. Por lo tanto, es
importante evaluar los beneficios de rendimiento sobre una base caso por caso.
Nose Expresiones de medida
Las expresiones de medida son cálculos que El motor de almacenaje puede funcionar.
Usando Medida expressions, puedes multiplicar o dividir datos de dos grupos de medida
diferentes en Lla Grupo de medida Hojas Y Entonces agregar los datos como parte del
procesamiento normal del cubo. El ejemplo clásico de este es cuando usted tiene un
factor de ponderación almacenado en un grupo de medida, como las tasas de cambio, y
desea aplicar eso a otro grupo de medida como las ventas. En lugar de crear unn Mdx
cálculo que agrega Lla Multiplicación de estos dos medidas en las hojas del grupo de la
medida, puede utilizar Expresiones de medida Como una solución optimizada. Este tipo
de cálculo es perfecto para una medida Expresión Desde es algo Más difícil de lograr En
vista origen de datos gIven que el las medidas son de diversas tablas del hecho de la
fuente y probablemente tienen diferentes granularidad. TLla realizar el cálculo En vista
origen de datos, que puede utilizar una consulta con nombre a join las tablas; sin
embargo, la expresión de la medida Típicamente proporciona una solución más eficiente.
Mientras que la medida elas xpressings pueden resultar muy útiles, Nota Que Cuando se
Utilice un expresión de la medida, el motor de almacenamiento Evalúa la expresión
aislada Dela Ejecución de consultas Motor. If cualquiera de las medidas implicadas en la
expresión de la medida Dependen En Mdx Cálculos Lla Motor de almacenamiento
Evaluars la expresión de medidas sin tener en cuenta el cálculo MDXs, produciendo un
conjunto de resultados incorrecto. En este Caso, en lugar de usar una expresión de
medida, que Cna Utilice un miembro calculado o una asignación de ámbito.
Utilizar sEmiadditive Medidas Y operadores unario
En lugar de Escritura Complejo MDX calculations para manejar medidas semiaditivas,
puede utilizar el funciones agregadas semiaditivas como FirstChild, LastChildYTc.
Tenga en cuenta que slas funciones de emiadditive son una característica de SQL Server
Empresa Edición. Además Para Usando medidas semiaditivas, en aplicaciones
financieras, en lugar de escribir expresiones MDX complicadas que aplicar lógica de
agregación personalizada a Individuales Cuentas, puede utilizar operadores unario con
jerarquías padre-hijo Para aplicar una costumbre enrollar operador para cada cuenta.
Tenga en cuenta que Mientras padre-hijo Jerarquías están restringidos en su diseño de
agregación, pueden ser más rápidas y menos COMPlex que MDX personalizado. Para
obtener más información sobre las jerarquías padre-hijo, Ver Jerarquías padre-hijo En
Este libro blanco.
Mover Numérico atributos de las medidas
Puedes convertir atributos numéricos en medidas cada vez que tener un atributo como
la población o Salario que necesitas agregar. Mevez de la escritura Mdx Expresiones
para agregar estos valores, considere definir un grupo de medida independiente en el
Dimensión Mesa conTaining el atributo y Entonces definición de una medida en la
columna atributo. Así, por ejemplo, puede reemplazar suma (Customer. City. Members,
Client. Population. MemberValue) agregando un nuevo grupo de medida en el tabla de
dimensiones con una medida de la suma en la columna de la población.
Análisis de servicios 2005 guía de rendimiento 61
atributo de la cota. La rtienda de júbilo define la relaciones del atributo con otros
atributos. Para que esta tienda ser construidos Correctamente para un atributo
determinado, Todos Dependiente Atributos ya debe ser procesado Antes Su el almacén
de relaciones está construido. Para proporcionar el flujo de trabajo correcto, el motor de
almacenamiento analiza las relaciones de atributos en el dimensión, evalúa las
dependencias entre Lla Atributos, y luego crea una árbol de ejecución que indica la
orden en WHlos atributos ICH pueden procesarse, incluyendo esos atributos que se
pueden procesar en Paralelo.
Figura 24 Muestra un ejemplo árbol de ejecución para Un Dimensión de tiempo. Las
flechas sólidas representan las relaciones de atributo en la cota. Las flechas discontinua
representan la relación implícita de cada atributo con el atributo ALL. Tenga en cuenta
que la dimensión se ha configurado utilizando relaciones de atributos en cascada que es
una práctica recomendada para todos los diseños de dimensiones.
Dimensión-procesar comandos
Cuando necesite realizar una Proceso operación en un dimensión, se emite Dimensión
Procesamiento Comandos. Cada comando de procesamiento Crea uno o más trabajos
para realizar las operaciones necesarias.
Desde una perspectiva de rendimiento, los siguientes Dimensión procesar comandos son
los más importantes:
Un ProcessFull Comando Descartes Todos contenido de almacenamiento de la
Dimensión y los reconstruye. Detrás de las escenas, ProcessFull Ejecuta todos los
trabajos de procesamiento de cotas y realiza una ProcessClear para descartar el
contenido de almacenamiento de todas las particiones dependientes. Esto significa
que cada vez que realice un ProcessFull de una dimensión, es necesario realizar
una ProcessFull en particiones dependientes para volver a poner el cubo en línea.
ProcessData Descartes Todos contenido de almacenamiento de la Dimensión y
reconstruye Sólo Lla almacenes de atributos y jerarquías. ProcessData es un
componente de Lla ProcessFull Operación. ProcessData también borra particiones.
ProcessIndexes requiere que un Dimensión Ya tiene almacenes de atributos y
jerarquías construidos. ProcessIndexes preserva los datos en estas tiendas Y
Entonces reconstruye los índices de mapa de bits. ProcessIndexes es un
componente de la ProcessFull Operación.
ProcessUpdate no descarta el contenido de almacenamiento de cotasDesemejante
ProcessFull. Algo, se aplica Actualizaciones inteligentemente para preservar las
particiones dependientes. Más específicamente, ProcessUpdate envía consultas SQL
para leer toda la Dimensión tabla y Entonces aplica cambios a los almacenes de la
dimensión. Un ProcessUpdate puede manejar Insertos Actualizaciones Y
Canceladuras dependiendo de la tipo de relación de atributoss (rígido versus flexible)
En la dimensión. Tenga en cuenta que ProcessUpdate caerá No válido Agregaciones
Y Índices Requerir que tome acción para reconstruir las agregaciones para mantener
el rendimiento de las consultas. Para más información sobre Aplicar
ProcessUpdate, Ver Evaluación de agregados rígidos versus flexibles.
ProcessAdd Optimiza ProcessUpdate en escenarios en los que sólo es necesario
insertar nuevas mBrasas. ProcessAdd no elimina ni actualizar los miembros
Análisis de servicios 2005 guía de rendimiento 69
Partición-trabajos de procesamiento
Durante Partición procesamiento, los datos de origen se extraen y se almacenan en
disco uso de la serie de trabajos mostrados en la figura 25.
Partición-comandos de procesamiento
Cuando se necesita realizar una operación de proceso en una partición, se emite
Partición procesando comandos. Cada comando de procesamiento crea uno o más
trabajos para realizar las operaciones necesarias.
Desde una perspectiva de rendimiento, los siguientes Partición los comandos de
procesamiento son los más importantes:
ProcessFull descarta el contenido de almacenamiento de la partición y los
reconstruye. Detrás de las escenas, Un ProcessFull Ejecuta ProcesoDatos Y
ProcesoÍndices Trabajos.
ProcessData descarta el contenido de almacenamiento del objeto y reconstruye
sólo el datos de hechos.
ProcessIndexes requiere que un la partición ya tiene sus datos construidos.
ProcessIndexes preserva los datos y cualquier agregación existente y Bits índices y
Crea Cualquier Falta Agregacións o bíndices itmap.
ProcessAdd internamente crea una partición temporal, la procesa con el destino
datos de hechos, y luego lo fusiona con el existente Partición. Tenga en cuenta que
ProcessAdd Es el nombre De el comando XMLA. Este comando es Expuesto en
estudio de desarrollo de inteligencia de negocios y SQL Server Management Studio
Como ProcessIncremental.
Para una lista más completa de comandos de procesamiento, Ver Analysis Services 2005
arquitectura de procesamiento libro blanco en MSDN.
dado, Lla Agregacións Para Que Atributo así como como cualquier los atributos
relacionados en la cadena de atributos son automáticamente Cayó. Las agregaciones no
se recrean automáticamente a menos que realice una de las siguientes tareas:
Realizar una ProcessFull en el cubo, el grupo de medida o la partición. Este es el
estándar ProcessFull operación que caens y re-Crears Lla Hecho Datos Y Todos
agregaciones en la partición.
Realizar una ProcessIndexes sobre el cubo, grupo de medida o partición. Al realizar
ProcessIndexes, sólo se construirá cualquier agregación o indexes que necesitan
ser re-construidas.
Configurar el procesamiento perezoso para el Cuser, grupo de medida, o partición. Si
configura el procesamiento perezoso, las agregaciones eliminadas se recalculan
como una tarea de fondo. Mientras que las agregaciones flexibles están siendo
recalculadas, los usuarios pueden continuar consultando el cubo (sin el beneficio de
las agregaciones flexibles). Mientras que las agregaciones flexibles se están
recalculando, las consultas que se beneficiarían de las agregaciones flexibles se
ejecutarán más despacio porque Analysis Services resuelve estas consultas
escaneando Lla Hecho Datos y, a continuación, resumir los datos en tiempo de
consulta. A medida que se recalculan las agregaciones flexibles, éstas se encuentran
disponibles de manera incremental partiendo por partición. Para un cubo dado, El
procesamiento perezoso no está habilitado de forma predeterminada. YSí Cna
Configure para un cubo, un grupo de medida o una partición cambiando el
ProcessingMode propiedad de Regular Para LazyAggregations. Para Administrar
Procesamiento perezoso, hay una serie de propiedades del servidor como el
LazyProcessing \ MaxObjectsInParallel Ajuste, que controla el número de
objetos que pueden ser procesados perezosamente en un momento dado. De forma
predeterminada, se establece en 2. Al aumentar este número, se aumenta el número
de objetos procesados en paralelo; sin embargo, esto también impactas el
rendimiento de la consulta y por lo tanto debe ser manejado con cuidado.
Proceso objetos afectados. Cuando se realiza una ProcessUpdate en una
dimensión, puede elegir si desea o no Procesar objetos afectados. Si usted
Seleccione esta opción, puede Gatillo Lla Actualización De particiones dependientes
dentro de la misma Operación.
Tenga en cuenta que si no sigue uno de lo anterior técnicas, y usted realizar una
ProcessUpdate De una dimensión que resulta en un Canceladura O Actualización, las
agregaciones flexibles para ese atributo y todos los atributos relacionados de la cadena
de atributos Son eliminado automáticamente y no re-Creado, Resultante en los pobres
Consulta Rendimiento. Esto es especialmente importante para Nota porque por defecto
Cada la agregación es Flexible Dado que cada tipo de relación de atributo se establece
en Flexible.
Como resultado, gran cuidado para asegurarse de que su estrategia de actualización
configura el Apropiado relaciones de atributos para sus datos Cambiars Y Eficazmente
reconstruye cualquier Agregacións de manera continua.
Análisis de servicios 2005 guía de rendimiento 80
Para explicar aún más cómo se utilizan las agregaciones para satisfacer las solicitudes
de consulta de medidas semiaditivas, consideR los siguientes Ejemplo. En Un Inventario
Aplicación, Cuando que Petición de un producto cantidad disponible para un mes
determinado, Lla saldo de inventario para el mes es Realmente el saldo del inventario
para Lla final Día En Que Mes. Para devolver este valor, el El motor de almacenamiento
debe tener acceso Partición datos al día Nivel. Si hay un Apropiado agregación que
incluye el atributo Day, el motor de almacenamiento intentará utilizar ese agregación
para satisfacer la consulta. Llatherwise la consulta debe ser satisfecha por la partición
datos de hechos. Agregaciones en el mes y año No Ser Utilizado.
Tenga en cuenta quef su Cubo Contiene Sólo medidas semiaditivas, usted se Nunca
reciba beneficios de rendimiento de las agregaciones creadas para los atributos de
tiempo de no granularidad. En este escenario, puede influir en el diseñador de
agregaciones para crear agregaciones Sólo para el atributo de granularidad de la
dimensión de tiempo (y el atributo All) estableciendo el Uso de agregación Para
Ninguno para los atributos de no granularidad de la dimensión de tiempo. Tenga en
cuenta que el Uso de agregación Ajuste Automáticamente se aplica a todos los grupos
de medida del cubo, Si Lla Cubo Contienens Sólo medidas semiaditivas, como en las
aplicaciones de inventarioLla Uso de agregación Ajuste se puede aplicar
uniformemente en todos los grupos de medida.
Si usted tiene una combinación mixta de medidas semiaditivas y otras medidas a través
de grupos de medida, puede adoptar la siguiente técnica para aplicar Único uso de
agregación Configuración a determinados Grupo de medidas. Primera, ajustar el
Agregación Uso configuración de una cota para Que se ajustan a las necesidades de un
determinado grupo de medidas Y Entonces Diseño Agregaciones para eso Grupo de la
medida Sólo. Próxima, cambiar el Uso de agregación ajustes para ajustar el NEEDS del
grupo siguiente de la medida Y Entonces agregaciones de diseño para Que Grupo de
medida Sólo. Con este enfoque, puede diseñarregations Medida Grupo porGrupo de
medida, e incluso partición porPartición Si lo desea.
Además de esta técnica, Puedes También optimizar el diseño de la agregación Usando
Lla UsoOptimización basada Asistente para crear Sólo Ésos agregaciones que
proporcionan el mayor valor para sus patrones de consulta. Si que quiere más contrOL
sobre el diseño de la agregación, es posible que desee considerar la creación de
Agregaciones mediante la agregación Utilidad descritas en Apéndice C.
Padrejerarquías de niños
Padre-hijo Jerarquías son jerarquías Con un número variable de niveles, según lo
determinado por una recursiva Relacionescadera entre un atributo secundario y un
atributo padre. Las jerarquías padre-hijo se utilizan típicamente para representar Un
esquema financiero de cuentas O Un Organizaciónal Gráfico. En padre-hijo jerarquías, se
crean agregaciones Sólo para la Clave Atributo y la parte superior atributo, es decir,, el
atributo All a menos que esté deshabilitado. Como tal, abstenerse de Usando padre-hijo
Jerarquías que contienen gran número de Miembros En Intermedio Niveles De la
jerarquía. Además debe limitar el número de jerarquías padre-hijo en el cubo.
Si usted está en un Diseño Escenario con una Grande padre-hijo Jerarquía (mayor que
250.000 miembros, es posible que desee considerar alterar la Fuente Esquema Para
volver a organizar parte o todos Lla Jerarquía en una jerarquía de usuario con un
número fijo de niveles. Vez los datos se han reorganizado en la jerarquía de usuarios,
Análisis de servicios 2005 guía de rendimiento 84
puede utilizar el Ocultar Miembro si Propiedad de cada nivel para ocultar los miembros
redundantes o desaparecidos.
Muchos-a-Muchos Relaciones
En servicios de análisis, mlas relaciones de cualquiera a muchas le permiten Fácilmente
Modelo fuente compleja Esquemas. Para usar las relaciones muchas a muchas de
manera efectiva, usted debe estar familiarizado con el Negocio escenarios donde Estos
las relaciones son relevantes.
Información de antecedentes sobre las relaciones entre muchos y muchos
En escenarios de diseño típicos, tablas de hechos se unen a tablas de dimensiones a
través de muchos a uno Relaciones. Más específicamente, Cada tabla de hechos Registro
puede unirse a sólo un registro de tabla de dimensiones Y cada registro de tabla de
cotas puede unirse a varios registros de tablas de hechos. Usando Este muchos a uno
diseño, usted puede Fácilmente Enviar consultas que Agregado Datos por cualquier
atributo de dimensión.
Muchos-a-muchos Diseño Escenarios ocurren cuando Un Hecho Mesa Registro Cna
Potencialmente unirse a Múltiples Dimensión Mesa Registros. Cuando este Situación
Ocurre es más difícil Correctamente consulta y agrega datos desde la dimensión
contiene múltiples instancias De una entidad de dimensión y la tabla de hechos No
Distinguir entre los Ejemplos.
Para Mejor comprender la relación entre muchas y muchas Impacto Análisis de datos,
considere el siguiente ejemplo. Que have una dimensión de revendedor Donde la clave
principal es el individuo Revendedor. Para mejorar su análisis, desea agregar Lla
especial para consumidoresatributo Ty a los Revendedor Dimensión. Al examinarIng
datos, usted Tenga en cuenta que cada distribuidor puede tener varios consumidores
Especialidades. Por ejemplo, UNA tienda de bicicletas Hsa Dos especialidades de
consumo: Entusiasta de la bici y bici profesional. YNuestro Ventas tabla de hechos, sin
embargo, Sólo Pistas Ventas Por Revendedor, no por el revendedor y la especialidad del
consumidor. En otras palabras, los datos de ventas no Distinguir Entre Un Tienda de
bicicletas con una Entusiasta de la bici Especialidad Y Un Tienda de bicicletas con una
Bici profesional Especialidad. En la ausencia de algún tipo de factor de ponderación para
asignar las ventas por especialidad de consumo, es una práctica común repetir la valores
de ventas para cada revendedor/especialidad de consumo Combinación. Este enfoque
funciona muy bien cuando se está viendo los datos por la especialidad de consumo y
revendedor; sin embargo, plantea un desafío cuando se desea examinar los totales de
datos así como cuando desea analizar datos por otros atributos.
Continuando con THy Reseller ejemplo, si agrega el Nuevo especialidad de consumo
Atributo Para Lla reseller tabla de dimensiones, Cuando la tabla de hechos se une a la
Análisis de servicios 2005 guía de rendimiento 85
tabla de cotas a través del individuo Revendedor, Lla número de registros en el conjunto
de resultados Es Multiplicado por el número de combinaciones de revendedor y
especialidad de consumo. Cuando Lla Datos de este conjunto de resultados se agrega,
se inflará. En el ejemplo de Un Tienda de bicicletas, Ventas datos de la tabla de hechos
será dobleContado independientemente de Que Revendedor Atributo se agrupan por.
Esta doble cuenta ocurre Kuz Un Tienda de bicicletas aparece dos veces en la tabla con
dos especialidades de consumo. TIhs la repetición de datos es Bien Cuando usted está
viendo el desglose de las ventas por especialidad de consumo y revendedor; sin
embargo, cualquier total de ventas o consultas que no incluyan la especialidad del
consumidor será incorrectamente Inflado.
Para Evitar IncorrectaTaza Inflar sus datos, relación de muchos a muchoss son
típicamente Modelado en el esquema de origen uso de varias tablas como se muestra en
la figura 26.
Un Principal tabla de dimensiones Contienens una lista única de clave principal Valors
Y Otros Atributos que tienen un uno-a-uno Relación a la clave principal. Para habilitar
el tabla de dimensiones para Mantener una relación de uno a muchos con el Hecho
mesa, el atributo multivalor no está incluido en esta dimensión. En Revendedor
Ejemplo se muestra en la figura 26, Revendedor DIM es la dimensión principal Mesa,
Almacenar un registro por reseller. Lla atributo multivalor, consumidor specialty no
está incluido en esta tabla.
UN segundo tabla de dimensiones Contienens una lista única de valores para el
atributo multivalor. En Revendedor Ejemplo Lla Dim especialidad de consumo
Dimensión Mesa almacena el Distintas lista de consumidor specialties.
Un Intermedio Hecho Mesa mapea la relación bntre las dos tablas de dimensiones.
En el ejemplo del revendedor, La especialidad de revendedor de hechos es un
Intermedio tabla de hechos Que seguimiento de las especialidades de consumo de
cada Revendedor.
Lla Datos ftabla Act Tiendas una referencia de clave extranjera a la clave principal
Dela tabla de dimensiones principales. En el revendedor Example, el Ventas de
hechos Mesa almacena los datos de ventas numéricos y tiene una gran cantidad-a-
uno Relación con Dim Reseller a través de la tecla reseller.
Análisis de servicios 2005 guía de rendimiento 86
Referencia Relaciones
En Tradicional Dimensión escenarios de diseño, Todos tablas de cotas join directamente
a la tabla de hechos por medio de Su clave principals. En diseños de dimensiones de
copo de nieve, Múltiples diMesas Mension están encadenados juntos, con las
dimensiones encadenadas Unirse indirectamente a la tabla del hecho por medio de una
llave en otra tabla de la dimensión. Estas dimensiones encadenadas a menudo se
denominan tablas de dimensiones de copo de nieve. Figura 27 muestra un ejemplo de
tablas de cotas de copo de nieve. Cada tabla del copo de nieve está vinculada a una
tabla posterior mediante una referencia de clave externa.
uno representado en la figura 27, hay dos técnicas generales del diseño que usted
puede adoptar como se describe en esta sección.
Opción 1 - Combinar atributos
Para cada entidad de dimensión que se une a la tabla de hechos, creatY una sola
dimensión OLAP Que Combina atributos de Todos Dela Snowflake Dimensión tablas, y
Entonces unir cada dimensión para medir el grupo utilizando un Regular tipo de relación.
Si tiene varias entidades de dimensión que se refierenlas mismas tablas de copo de
nieveAtributos de las tablas de copos de nieve compartida se repiten en Lla Dimensiones
OLAP.
Para aplicar Esta técnica a la Figura 27 ejemplo, cree Dos Olap Dimensiones: 1) Un
Revendedor Dimensión Que Contiene atributos de Ambos El DIM Reseller y Tablas de
geografía tenues, Y 2 Un Cliente Dimensión que contiene atributos de DIM Client y
Geografía tenue. Tenga en cuenta que los atributos de la geografía DIM se repiten en las
dimensiones del cliente y del revendedor.
Fo las ventas de revendedores Grupo de medida, utilice una relación regular para la
dimensión de revendedor. Para el grupo de medida de ventas del cliente, utilice un
Regular Relación Dimensión del cliente. Recuerde que tHge relación entre una dimensión
y un grupo de medida dEFines cómo se "unen" los datos de cota a los datos de Fact.
UNA relación regular significa que ha definido un Directa relación entre uno o más
columnas de cota y uno o más columna de grupo de medidas.
Con este diseño, fO Cada Olap Dimensión, todos los Snowflake Dimensión las tablas se
unen en el tiempo de procesamiento y la dimensión OLAP se materializa en el disco. Al
igual que con cualquier otra operación de procesamiento, puede controlar si el
procesamiento debe eliminar las claves que faltan o utilizar el unknown mGente para
cualquier registro que se unan a todas las tablas.
Desde una perspectiva de rendimiento, el Ventaja de este enfoque Es la capacidad de
Crear jerarquías naturales y Utilice agregaciones. Desde cada dimensión tiene un
Regular relación con el grupo de medida, para mejorar el rendimiento de las consultas,
aggregations se puede diseñar para los atributos en cada dimensión, dada la
configuración adecuada de relaciones de atributos. Además, durante la consulta, puede
aprovechar Autoexiste optimizaciones que se producen naturalmente entre atributos
dentro de una dimensión. Para más información sobre Autoexiste, Ver Removituplas
vacías ng.
Si usted Uso Este enfoque, también debe Considerar el impacto de aumentar el número
de atributos que el diseño de la agregación Algoritmo debe considerar. Repitiendo
Atributos En Múltiples dimensiones, usted es crear más trabajo para el diseño de
agregación Algoritmo Que podría afectar negativamente los tiempos de procesamiento.
Opción 2- Uso Un reference rla euforia
Un enfoque de diseño alternativo para combinar atributos implica relaciones de
referencia. Las relaciones de referencia le permiten relacionan indirectamente
Dimensiones OLAP a un grupo de medida usando una dimensión intermedia. La
dimensión intermedia crea una a path que el grupo de medida puede utilizar para
relacionar sus datos con Cada dimensión de referencia.
Para aplicar esta técnica al ejemplo de la figura 27, crear tres dimensiones OLAP
separadas para el cliente, el revendedor y la geografía. A continuación se describe cómo
se pueden relacionados con cada grupo de medida (Ventas de revendedores y ventas de
clientes):
Análisis de servicios 2005 guía de rendimiento 89
Lla Ventas de clientes Grupo de medida contiene una Regular relación con Lla Cliente
Dimensión y contiene una Referencia relación con el Geography Dimensión. Lla
Referencia usos de la relación Customer como una dimensión intermedia Para
Asignar ventas a geografías específicas.
El revendedor SAles grupo de medida contiene un Regular relación con el Reseller
dimensión y CONTAINS a Referencia relación a la dimensión de la geografía. Lla
Referencia usos de la relación Reseller como una dimensión intermedia asignar
ventas a geografías específicas.
Para utilizar esta técnica Eficazmente, debe considerar los impactos de las relaciones de
referencia en Procesamiento y consulta Rendimiento. Durante el procesamiento, Cada la
dimensión se procesa independientemente. No atributos de Lla dimensión de referencia
se consideran automáticamente para la agregación. Durante la consulta, Grupo de
medida los datos se unen a los Referencia Dimensión según sea necesario por medio de
el intermedio Dimensión. Por ejemplo, si Consulta Cliente Ventas Datos por geografía,
una carrera-el tiempo de Unión debe ocurrir Ventas de clientes Mida el grupo a
Geografía Via Lla Cliente Dimensión. Este proceso puede ser un poco lento para grandes
dimensiones. Además aNY Missing Attribute (miembros) que se encuentran durante la
consulta Son Automáticamente asignado a la unknown Miembro en orden para preservar
totales de datos.
Para mejorar Lla Consulta Rendimiento de las relaciones de referenciaPuedes optar por
materializar elm. Tenga en cuenta que, de forma predeterminada, las relaciones de
referencia no se materializan. Cuando se materializa una relación de referencia, Lla
Unirse a través de dimensiones se realiza Durante Procesamiento en lugar de consultar.
Además, tÉl atribuye En Materializado dimensión de referencias siga las Agregación
Reglas De dimensiones estándar. Para más información sobre estas reglas, Ver Lla
aGgrOtIon uSabio rNormas. Desde la Unión se realiza durante el procesamiento y las
agregaciones son posibles, Materializado las relaciones de referencia pueden mejorar
significativamente el rendimiento de las consultas en comparación con las relaciones no
materializadas.
Algunas consideraciones adicionales se aplican a relaciones de referencia materializadas.
Durante el procesamiento, la cota de referencia se procesa independientemente. En este
momento, si cualquier fila en el grupo de medida no Unirse a la cota de referenciaLla
Registro se retira desde el Partición. Tenga en cuenta que este comportamiento es
diferente de la relación de referencia no materializada en la que los miembros perdidos
se asignan a la miembro desconocido.
Para Mejor comprender cómo se manejan los miembros desaparecidos para las
relaciones materializadas, considere los siguientes Ejemplo. Mef usted tiene Un orden de
venta en el Ventas de clientes tabla de hechos Que se asigna a un Específico cliente,
pero que el cliente Hsa un desaparecido Geografía el registro No unirse a Lla Geography
Mesa y es rechazado de la partición. Por, Si tiene problemas de integridad referencial en
sus datos de origen, materializando el Referencia Relación Cna los datos que faltan de la
partición para los registros de hechos que no unirse a la dimensión de referencia. Para
contrarrestar este comportamiento y controlar los valores que faltan, puede crear su
propia registro de cota desconocida en Lla Referencia tabla de dimensiones y Entonces
asignar ese valor a todos los registros que faltan Referencia Valores durante su
extractoIonTransformaración, y la cargaIng Procesos (ETL). Con lo desconocido Registro
en su lugar para los valores perdidosEn tiempo de procesamiento, todos los registros de
clientes Cna unirse con éxito a la dimensión de referencia.
Análisis de servicios 2005 guía de rendimiento 90
refrescados en una base horaria, por ejemplo, su primer instinto puede ser procesar
todos los Su dimensiones y grupos de medida cada hora. Sin embargo, si toma
30 minutos para procesar Todos Base Objetos, para cumplir el requisito por hora, Usted
necesitaría reprocesar cada 30 Minutos. Para complicar aún más Este, también
necesitaría evaluar la Rendimiento impacto de cualquier operación de consulta
concurrente Que están compitiendo para recursos de servidor.
Ivez de procesar todos los grupos y dimensiones de la medida para cumplir con un
requisito de baja latencia, para mejorar el rendimiento y mejorar la capacidad de
administración, Puedes Utilice particiones para aislar el baja latencia Datos del resto
Dela Datos. Normalmente, esto significa que Crear uno o más Cerca tiempo real
particiones que se actualizan constantemente con datos actualizados. El aislamiento de
los datos de baja latencia sigue las mejores prácticas normales para particionar para que
pueda procesar y actualizar el Cerca tiempo real particiones sin afectar a las otras
particiones. Usando Esta solución, puede También reducir la cantidad de Datos Que
NoDs Para ser procesado en cerca tiempo real.
Con las particiones en su lugar, el siguiente paso es para decidir sobre Cómo vas a
Actualizar los datos en Su Cerca tiempo real Particións. Recuerde que las particiones
requieren que procese Ellos para actualizar los datos. Dependiendo el size de tu Cerca
tiempo real Particións Y la frecuencia requerida de los datos Actualizaciones, que puede
programar la actualización de Un Partición periódicamente o puede permite a los
servicios de análisis administrar la actualización de Un partición usando almacenamiento
en caché proactivo.
Almacenamiento en caché proactivo es una característica en los servicios de análisis que
sincroniza y mantiene de forma transparente a Partición o dimensión Mucho como una
cache. A partición de almacenamiento en caché proactiva o dimensión se conoce
comúnmente como Un cdolor, a pesar de que es todavía considerado que se una
partición o dimensión. Usando el almacenamiento en caché proactivo, Cna Permitir
Servicios de análisis a autoautomáticamente Detectar un cambio de datos en los datos
de origen, Para Incrementalmente actualizar o reconstruir la memoria caché con los
datos refrescados, y exponer trefrescaba los datos a los usuarios finales.
Incluso Aunque el almacenamiento en caché proactivo automatiza Mucho del trabajo de
actualización Para tí, desde una perspectiva de rendimiento, todavía debe considerar el
típico parámetros que impactan el rendimiento de procesamiento como Lla
frecuenciasCY de sistema de origen Actualizaciones, la cantidad de hora que se necesita
para actualizar o Reconstruir Lla Caché Y Lla Nivel de latencia de datos que los usuarios
finales están dispuestos a aceptar.
Desde una perspectiva de rendimiento, hay Tres grupos de Configuración que la consulta
de impacto responderNess y el procesamiento de perfORMANCE para el almacenamiento
en caché proactivo: configuración de notificación, actualizar ajustes, Y Disponibilidad
Configuración.
Notificación Configuración
Configuración de notificación impacto en cómo Analysis Services detecta los cambios de
datos en el sistema de origen. Para satisfacer las necesidades de diferentes
arquitecturas de datos, Analysis Services proporciona Unos pocos Mecanismos que
puede utilizar Para Notificar Servicios de análisis de los cambios de datos. Desde un
perspectiva de rendimiento, Lla Sondeo programado Mecanismo proporciona la mayor
flexibilidad Por Permitiendo que o bien reconstruir o Actualice de forma incremental la
Caché. Ilas actualizaciones de ncremental mejoran proactive caché de rendimiento por
Análisis de servicios 2005 guía de rendimiento 92
reducir la cantidad de datos que se deben procesar. Para las particiones proactivas de
almacenamiento en caché, actualizaciones incrementales Utilice un ProcessAdd Para
Anexar nuevos datos a la Caché. Para las dimensiones proactivas de almacenamiento en
caché, ProcessUpdate se realiza. Si que Uso Sondeo programado Sin actualizaciones
incrementales, la caché Es Siempre Completamente Reconstruido.
Refresh Configuración
Actualizar configuración iMpact Cuando Servicios de análisis Reconstruye o
actualizaciones la caché. Lla Dos actualización más importante Configuración Son
Intervalo de silencio Y Intervalo de anulación del silencio.
Intervalo de silencio Define Cuánto tiempo tardan los servicios de análisiss desde
el punto en el que detecta un cambio a cuando comienzas Refrescante Lla Caché.
Dado que Analysis Services no sabe oficialmente Cuándo Fuente Datos Cambios
están acabados, el objetivo es que los servicios de análisis actualicen la caché
cuando haya una pausa en la propagación de los cambios de datos de origen. La
calma se define por un período de silence O ninguna actividad que debe expirar
Antes Servicios de análisis Refresca la caché. Considere el ejemplo en el que el
Intervalo de silencio se establece en Diez Segundos Y la caché está configurada
para Completoy Reconstruido durante la actualización. En este escenario, una vez
que Analysis Services detecte un cambio de datos, un contador de tiempo comienza.
Si Diez pasan segundos y no se detectan cambios adicionales, servicios de análisis
Reconstruye Lla Caché. Si Analysis Services detecta cambios adicionales durante ese
período de tiempo, el contador de tiempo se restablece cada vez que se detecta un
cambio.
Intervalo de anulación del silencio determina la duración de los servicios de
análisiss antes de realizar una actualización forzada de la Caché. Intervalo de
anulación del silencio es útil cuando la base de datos de origen se actualiza con
frecuencia y el Intervalo de silencio Umbral No ser alcanzado, Desde el contador
de tiempo es continuamente Restablecer. En este escenario, puede utilizar el
Intervalo de anulación del silencio a la fuerza una actualización de la caché
después de un cierto período de tiempo, Cinco minutos o Diez Minutos. Por ejemplo,
si establece el Intervalo de anulación del silencio Para Diez minutos, cada Diez
Servicios de análisis de minutos Refresca Lla Caché sólo si se detectó un cambio.
Disponibilidad Configuración
Configuración de disponibilidad permiten controlar Cómo los datos se exponen a los
usuarios finales durante la caché Actualizar. Si su caché tarda varios minutos en
actualizar o reconstruir, es posible que desee considerar la configuración de la Caché
Configuración Para permitir que los usuarios vean una caché anterior hasta que la caché
refrescada esté lista. Por ejemplo, si que configurar una partición para utilizar MOLAP
automático configuraciónIntervalo de silencio = 10 segundos y Intervalo de
anulación del silencio = 10 minutos), durante la actualización de caché, use debe
consultar la caché anterior hasta que la nueva caché esté lista. Si la caché toma Cinco
horas para reconstruir, los usuarios deben esperar Cinco horas para la caché reconstruir
para CompletaY. Si usted siempre quieren Usuarios Para ver datos refrescados, Permitir
Lla Poner en línea inmediatamente Ajuste. Con Poner en línea inmediatamente
Habilitado dUrante actualización de caché todas las consultas se dirigen a la Relacional
base de datos de origen para recuperar los datos más recientes para los usuarios finales.
Si bien esto proporciona a los usuarios datos refrescados, también puede resultar en
rendimiento de consulta reducido Dado que los servicios de análisis deben reconsultas
Análisis de servicios 2005 guía de rendimiento 93
directas a los Relacional base de datos de origen. Si desea un control de grano más fino
sobre usuarios ver datos renovados, que puede utilizar el Latencia Ajuste para definir
un Umbral Que Controls Cuando las consultas son Redirigido a los base de datos de
origen durante una actualización de caché. Por ejemplo, si establece Latencia Para
Cuatro horas y la caché requiere Cinco horas para reconstruir, para Cuatro Horas, las
consultas serán satisfechas por la caché anterior. Después Cuatro horas, consultas Son
redirigido a la base de datos de origen hasta que la caché haya completado su
actualización.
Figura 29 ilustra cómo el almacenamiento en caché proactivo configuración de las
consultas de impacto durante la caché Reconstrucción.
Análisis de servicios 2005 guía de rendimiento 94
la consulta, debe garantizar que los servicios de análisis Entiende Lla Particiónes
rebanada de datos. No es necesario establecer el segmento de datos de una partición
para las particiones tradicionales. Sin embargo Lla Datos Slice debe ser Manualmente
configurado para las particiones de caché proactivas, así como cualquier ROLAP
partition. A la luz de la posible redirección de las consultas a la fuente relacional, el
almacenamiento en caché proactivo es Generalmente no se recomienda en los cubos
que se basan en múltiples orígenes de datoss.
Si usted Permitir almacenamiento en caché proactivo para su Dimensiones para
optimizar el procesamiento, Preste especial atención a Lla Latencia ajuste para cada
dimensión y el impacto general de redirigir las consultas a la base de datos de origen.
Cuando una cota cambia de la caché de cotas a la base de datos relacional, todas las
particiones que utilizan la cota deben reprocesarse completamente. Por cuando sea
posible, es una buena idea asegurarse de que el Latencia el ajuste le permite consultar
la caché antigua hasta que se reconstruya la nueva caché.
Análisis de servicios 2005 guía de rendimiento 96
Optimizar dIsk usaDar – La optimización del uso del disco requiere aplicando una serie
de técnicas para detecte si tiene suficiente Disco recursos y para identificar Ésos
propiedades de configuración Que Impacto recurso de disco utilización y rendimiento
general.
Memoria Gestión
A eficazly entender los servicios de análisis de memoria técnicas de gestión, primero
debe considerar el Máximo cantidad de memoria que los servicios de análisis Cna
Dirección. Analysis ServiCES se basa en Microsoft Windows virtual mEmory para su pool
Análisis de servicios 2005 guía de rendimiento 98
MSAS 2005: Memory\Cleaner Pantallas Lla cantidad de memoria, en KB, conocida por
Memory KB el limpiador de fondo. (Memoria más limpia encogible
+ memoria más limpia no-retráctil.) Tenga en cuenta
que este contador se calcula a partir de la información
contable interna, por lo que puede haber alguna
pequeña desviación de la memoria reportada por el
funcionamiento Sistema.
se considera una sesión caducada que el limpiador puede quitar Cuando presión de
memoria se superan los umbrales.
Lla MaxIdleSessionTimeout es el tiempo en segundos después de que el servidor
destruir por la fuerzas una sesión ociosa sin importar la presión de la memoria. De
forma predeterminada, el MaxIdleSessionTimeout se establece en Cero segundos,
lo que significa que el Inactivo SuSion nunca es eliminada por la fuerza por este
ajuste.
Además de Lla Propiedades que administran las sesiones caducadas, existen
propiedades que gestionan la longevidad de las sesiones que pierden su conexión. UNA
sesión de conexión se denomina sesión huérfana.
Lla IdleOrphanSessionTimeout es una propiedad de servidor de que controla el
tiempo de espera de las sesiones sin conexión. De forma predeterminada, esta
propiedad se establece en 120 segundosTres minutos), lo que significa que si una
sesión pierde su conexión y Un reconexión es No hecho dentro de 120 Segundos, el
análisis Server de servicios destruir por la fuerzas esta sesión.
IdleConnectionTimeout controla el tiempo de espera de las conexiones que no se
han utilizado durante un determinado período. De forma predeterminada, esta
propiedad se establece en Cero Segundos. Esto significa que la conexión nunca sale
a la vez. Sin embargo, gIven que la conexión No existen fuera de una sesión,
Cualquier la conexión ociosa se ser limpiado siempre Su Sesión se destruye.
En la mayoría de los escenarios, estas configuraciones predeterminadas proporcionan
una administración adecuada de las sesiones. Sin embargo, puede haber escenarios en
los que desee administrar sesiones de grano más fino. Por ejemplo, es posible que
desee modificar estos ajustes según la cantidad de nivel de Memoria Presión Que Lla
Análisis Server de servicios está experimentando. Durante Ocupado periodos de
Elevado presión de la memoria, you puede querer destruir sesiones ociosas después de
15 Minutos. Unt veces cuando el servidor no está ocupado, desea que las sesiones
ociosas se destruyan después de 45 Minutos. Para lograr esto, configure el
MinIdleSessionTimeout Propiedad Para 900 segundos (15 minutos y la
MaxIdleSessionTimeout a 2,700 Segundos.
Tenga en cuenta que bntes cambiar estas propiedades, es importante entender cómo
su aplicación cliente Gestiona Sesiones y conexiones. Algunas aplicaciones cliente, por
ejemplo, tienen sus propios mecanismos de tiempo de espera para conexiones y
sesiones Que se gestionan independientemente de los servicios de análisis.
<Lote Xmlns="http://schemas.Microsoft.com/AnalysisServices/2003/Engine">
<ClearCache>
<Objeto>
</Objeto>
</ClearCache>
</Lote>
Este Ejemplo El comando XMLA borra la caché de la base de datos de Adventure Works
DW. Para ejecutar el ClearCache Statement, puede sea Manualmente ejecutar el Xmla
instrucción en SQL Server Management Studio o Utilice el ASCMD Herramienta
Comando-línea de utilidad para ejecutar cualquier script XMLA.
Análisis de servicios 2005 guía de rendimiento 109
Trabajo Arquitectura
Análisis Servicios Utiliza Un Centralizado Trabajo arquitectura para implementar
operaciones de consulta y procesamiento. UN trabajo en sí es una unidad genérica de
procesamiento o consultar Trabajo. UN trabajo puede tener varios niveles de trabajos
infantiles anidados en función de la complejidad de la solicitud.
Durante el procesamiento Operaciones, por ejemplo, Un Trabajo se crea para el objeto
que Unre procesamiento, como una dimensión. Un el trabajo de dimensión puede
Entonces Spawn Several niño Jobs Que procesar los atributos En Lla Dimensión. Durante
la consulta, se utilizan trabajos para recuperar datos de hechos y agregaciones de la
partición para satisfacer las solicitudes de consulta. Por ejemplo, si usted tiene Un
Consulta Que AccesoEs múltiples particiones, se genera un trabajo principal para la
consulta sí mismo a lo largo Con Una o más Niño Trabajos pÉl partición.
Generalmente hablando, Ejecutar más trabajos en paralelo tiene un impacto positivo en
el rendimiento siempre y cuando tenga suficientes recursos de procesador para manejar
eficazmente el operaciones simultáneas así como suficiente memoria y recursos de
disco. Lla Máximo número de puestos de trabajo que puedan Ejecutar en paralelo en
todas las operaciones del servidor (incluyendo procesamiento y consulta) está
determinado por el CoordinatorExecutionMode Propiedad.
UN valor negativo para CoordinatorExecutionMode Especifica Lla número máximo
de trabajos paralelos Que puede iniciar por procesador.
UN valor de cero permite al servidor determinar automáticamente el número máximo
de operaciones paralelas, basándose en la carga de trabajo y los recursos del
sistema disponibles.
UN valor positivo especifica un entumecimiento absolutoER de trabajos paralelos que
puede comenzar por servidor.
El valor predeterminado para el CoordinatorExecutionMode is-4, que indica que
Cuatro los trabajos se iniciarán en paralelo por procesador. Tsu valor es suficiente para
la mayoría entornos de servidor. Si desea aumentar el nivel de paralelismo en su
servidor, puede aumentar el valor de esta propiedad ya sea por aumentar el número de
trabajos por procesador O Por Ajuste la propiedad a un valor absoluto. Si bien este
Globalmente Aumentars el número de puestos de trabajos que pueden ejecutarse en
paralelo, CoordinatorExecutionMode no es la única propiedad que influye en
operaciones paralelas. YSí Debe también considerar el impacto de Otros Global
Configuración como el MaxThreads Servidor propiedades que determinan el número
máximo de Consulta O Procesamiento subprocesos que pueden ejecutarse en paralelo.
Además a un nivel más granular, para una operación de procesamiento determinada,
puede especificar el número máximo de Procesamiento tareas que Cna ejecutar en
paralelo utilizando el MaxParallel Comando. Estos Configuración Son Discutido con más
detalle en las secciones que siguen.
Análisis de servicios 2005 guía de rendimiento 110
Hilo Piscinas
A eficazTaza administrar recursos del procesador Para Ambos consulta y procesamiento
Operaciones, Analysis Services 2005 Utiliza dos grupos de hilos:
Consulta del grupo de subprocesos—El grupo de subprocesos de consulta
controla el Trabajador hilos utilizados por el Motor de ejecución de consultas para
satisfacer las solicitudes de consulta. Se utiliza un subproceso del grupo de consultas
por consulta concurrente. El número mínimo de subprocesos del grupo de consulta
se determina por el valor de la ThreadPool\Query\MinThreads propiedad su
configuración predeterminada es 1. El número máximo de subprocesos de trabajo
mantenidos en el grupo de subprocesos de consulta se determina por el valor de
ThreadPool\Query\MaxThreads; su configuración predeterminada es 10.
Procesamiento del grupo de subprocesos—El grupo de subprocesos de
procesamiento controla el Trabajador hilos utilizados por el motor de
almacenamiento durante las operaciones de procesamiento. El grupo de subprocesos
de procesamiento también se utiliza durante la consulta Para Control los subprocesos
utilizados por el motor de almacenamiento para recuperar datos del disco. Lla
ThreadPool\Process\MinThreads la propiedad determina el número mínimo de
subprocesos de procesamiento que se pueden mantener en un momento
determinado. El valor predeterminado de esta propiedad es 1. Lla
ThreadPool\Process\MaxThreads la propiedad determina el número máximo de
subprocesos de procesamiento que se pueden mantener en un momento
determinado. El valor predeterminado de esta propiedad es 64.
Para escenarios en los que se deben cambiar estos valores, Ver Optimizar CPU uSabio.
Antes de que usted Modificar Estos Propiedades, es útil para Examinar Cómo estos hilos
se utilizan Durante consulta y procesamiento.
4. Los subprocesos de trabajo del grupo de consulta realizan los cálculos necesarios y
Utilice un caché de cálculo para almacenar los resultados del cálculo.
Cuantos más subprocesos estén disponibles para Satisfacer Consultas, las consultas más
que se pueden ejecutar en paralelo. Esto es especialmente importante en escenarios en
los que hay un gran número de usuarios que emiten consultas. Para obtener más
información sobre cómo Optimizar recursos del procesador durante la consulta, consulte
Maximizar el paralelismo durante la consulta.
alcanzado el umbral de trabajo, los trabajos posteriores esperan en una cola hasta que
se pueda crear un nuevo trabajo. Por lo tanto, si el número de puestos de trabajo es el
cuello de botella de la operación, aumentando el conteo de subprocesos puede no
necesariamente mejorar el rendimiento general.
En términos prácticos, el equilibrio entre trabajos y subprocesos puede ser complicado.
Si desea aumentar el paralelismo, es importante Evaluar su GREAtest cuello de botella al
paralelismo, Como Lla número de puestos de trabajo simultáneos yor Lla número de
subprocesos simultáneos, o ambas cosas. Para ayudarle a determinar esto, es útil
supervisar los siguientes contadores de rendimiento:
MSAS 2005: longitud de la cola de trabajos de Threads\Query Pool—Número
de trabajos en la cola del grupo de subprocesos de consulta. UN valor distinto de
cero significa que el número de trabajos de consulta Hsa excedió el número de
subprocesos de consulta disponibles. En este escenario, puede considerar aumentar
el número de subprocesos de consultas. Sin embargo Si la utilización de la CPU ya es
muy alta, aumentando la Número de subprocesos sólo agregará a los switches de
contexto y Degradar PerfORMANCE.
MSAS 2005: Threads\Query Pool busy threads—Número de subprocesos
ocupados en el grupo de subprocesos de consulta.
muestra una lista De Sugerido Valores Pero puede especificar cualquier valor. If
aumenta este valor para aumentar el paralelismoSer Cauteloso de establecer la
propiedad demasiado Alta. Realizar muchas operaciones paralelas a la vez puede
ser contraproducente si se causa conmutación de contexto y degradars
Rendimiento.
Tenga en cuenta que el número real de particiones que puede ser procesado en paralelo
depende de la Consulta Carga y el escenario de diseño. Por ejemplo, si está realizando
consultas y procesamiento al mismo tiempo, es posible que desee reducir el número de
particiones procesadas en paralelo con el fin de mantener algunos recursos gratuitos
Análisis de servicios 2005 guía de rendimiento 115
Sistema operativo. Con NLB, puede crear un clúster de análisis NLB Servicios servidores
que se ejecutan en modo host múltiple. Cuando un cluster NLB de análisis Servicios los
servidores se ejecutan en modo de host múltiple, las solicitudes entrantes son carga
balanceada entre el análisis Servicios Servidores. Cuando utilice un clúster de balanceo
de carga, tenga en cuenta que el Datos Cachés en cada uno de los servidores del clúster
de balanceo de carga será diferente, lo que resultará en diferencias en los tiempos de
respuesta de la consulta desde la consulta a la consulta por el mismo cliente.
También se puede utilizar un clúster de balanceo de carga para garantizar la
disponibilidad en caso de que un solo análisis Servicios el servidor falla. Una opción
adicional para aumentar el rendimiento con un clúster de balanceo de carga es distribuir
tareas de procesamiento a un servidor sin conexión. Cuando se han procesado nuevos
datos en el servidor offline, puede actualizar el análisis Servicios servidores en el clúster
de balanceo de carga Por Usando Sincronización de bases de datos Analysis Services.
Si sus usuarios envían un montón de consultas que requieren datos de hechos Scans, un
clúster de balanceo de carga puede ser una buena solución. Por ejemplo, queries que
pueden requerir Un gran número de datos de hechos los escaneos incluyen consultas
amplias (como conteo superior o medios) y consultas aleatorias contra cubos muy
complejos donde la probabilidad de golpear una agregación es muy baja.
Sin embargo, generalmente no se necesita un clúster de balanceo de carga para
aumentar el rendimiento de los servicios de análisis si se utilizan agregaciones para
resolver la mayoría de las consultas. En otras palabras, concéntrese en la buena
agregación y el diseño de partición primero. Además, un clúster de balanceo de carga no
resuelve el problema de rendimiento si el procesamiento es el cuello de botella o si está
intentando mejorar una consulta individual de un solo usuario. Tenga en cuenta que
oHacer Restricción utilizar un clúster de balanceo de carga es la incapacidad de utilizar
reescritura, porque no hay un solo servidor al que devolver los datos.
con el destino final. El uso de archivos temporales puede resultar en cierta degradación
del rendimiento durante el procesamiento; sin embargo, el impacto generalmente no es
significativo dado que la operación es simplemente un tipo de disco externo. Tenga en
cuenta que este comportamiento es diferente de las versiones anteriores de Analysis
Services. Para supervisar cualquier archivo temporals utilizado durante el proceso,
Revisión Lla MSAS 2005: proc Aggregations\Temp File bytes escrito/seg. o de la
MSAS 2005: proc Aggregations\Temp filas de archivos escritas/seg. Contadores
de rendimiento.
Conclusión
Para más información:
http://www.Microsoft.com/technet/prodtechnol/SQL/2005/Technologies/ssasvcs.mspx
¿Te ayudó este papel? Por favor danos tu opinión. En una escala de 1 (pobre) a 5
(excelente), ¿Cómo calificaría este documento?
Análisis de servicios 2005 guía de rendimiento 119
demandas competitivas de recursos en el equipo que aloja las tablas relacionales pueden
afectar negativamente el rendimiento de procesamiento de una partición ROLAP.
Análisis de servicios 2005 guía de rendimiento 123
Figura 32 Agregación display para las ventas por Internet measure group
Las particiones en FIGURE 32 se agrupan de la siguiente manera:
Diseño de agregación creado por a Asistente—Los diseños de agregación
creados por el Asistente de diseño de agregación o UsoEl Asistente de optimización
basado se denomina automáticamente AggregationDesign, con un sufijo de número
opcional si existe más de un diseño de agregación creado por el asistente por grupo
de medida. FO ejemplo, en el grupo de la medida de las ventas del Internet, el
Internet_Sales_2002 Partición tiene una agregación diseño llamado
AggregationDesign, Y Lla Internet_Sales_2001 Partición Contiene un diseño de
agregación denominado AggregationDesign 1. Tanto AggregationDesign como
AggregationDesign 1 fueron creados por uno de los asistentes.
Diseño de agregación creado por la utilidad de agregación—El
Internet_Sales_2003 y Internet_Sales_2004 particiones comparta un diseño de
agregación, calLED AggregationUtilityExample. Este diseño de agregación Fue creada
por la utilidad de agregación. La utilidad de agregación le permite proporcionar Un
Personalizado Nombre para cada diseño de agregación.
Sin diseño de agregación—Para el grupo de medida de órdenes de Internet,
Ninguno de las particiones en eso Grupo de la medida have Un diseño de agregación
Todavía.
Análisis de servicios 2005 guía de rendimiento 125
tiempo, la agregación incluye los atributos siguientes: Inglés nombre del mes,
trimestre del calendario, y año civil. Este Es un redundante agregación desde
Nombre de mes inglés, Trimestre calendario y año calendario están en la misma
relación de atributos Árbol.