Prácticas probadas de IBM Cognos: Consejos de rendimiento cuando se utiliza Cross JoinQueries contra una fuente de datos de TM1

Naturaleza del documento: Consejo o técnica; Productos: IBM Cognos 8.4.1 FP2+ y TM1 9.4+; Área de interés: Rendimiento

El propósito de este documento es proporcionar una guía de rendimiento cuando se consultan grandes conjuntos de datos desde una fuente de datos de TM1.

Introducción

Propósito

El propósito de este documento es proporcionar una guía de rendimiento cuando se consultan grandes conjuntos de datos desde una fuente de datos de TM1.

Aplicabilidad

Este documento puede aplicarse a IBM Cognos 8.4.1 FP2 y superior con una fuente de datos de TM1 9.4 o superior.

Exclusiones y excepciones

En este momento, no hay exclusiones o excepciones conocidas excepto las mencionadas en la sección de aplicabilidad.


El efecto de las operaciones conjuntas cruzadas grandes en sus informes de Cognos

IBM Cognos8 manipula la anidación de varios conjuntos de miembros en un límite como la operación conjunta cruzada individual. La cantidad de tuplas en el conjunto cruzado es el producto de los tamaños del conjunto. En los casos típicos, la mayoría de las tuplas en un conjunto cruzado contiene opciones nulas.

Las uniones cruzadas son el producto Cartesiano de conjuntos de miembros:

CROSSJOIN({a1, a2},{b1,b2},{c}) = {(a1,b1,c) (a1,b2,c) (a2,b1,c) (a2,b2,c)}

Dichas uniones cruzadas pueden resultar fácilmente en informes muy grandes, esos informes típicamente muestran síntomas como:

El informe se ejecuta durante un tiempo muy prolongado sin un motivo aparente.

El informe fracasa con un RSV-BBP-0022

La solicitud de afinidad absoluta 'asynchWait_Request' fracasa, la sesión solicitada no existe.

Con frecuencia están acompañadas por el BIBusTKServerMain (servidor de informes) que consume una cantidad de memoria precipitada seguida por una repentina caída en el consumo de memoria a medida que el proceso fracasa.


Nuevas opciones de filtro para mejorar el rendimiento en sus informes de Cognos

IBM Cognos ha implementado un filtro ubicado en el archivo QFS_config.xml bajo <install>/C8/Cognos/configuration, denominado “Unión cruzada del proveedor”, que puede configurarse cuando se utiliza TM1 como una fuente de datos para ayudar a mitigar este problema. La Unión cruzada del proveedor minimiza los datos y metadatos transferidos desde el servidor TM1 al cliente Cognos en Query Studio, Analysis Studio y Report Studio al publicar la operación de unión cruzada de manera descendente hasta el proveedor de TM1 e ignorando las tuplas sin datos.

Los resultados variarán sobre la base de una combinación entre la estructura del cubo, la cardinalidad, el estilo del informe, el tamaño de la consulta y la dispersión de los resultados. Todas las celdas vacías pueden desaparecer, el 80 % de ellas, el 50% de ellas o solamente algunas filas. No hay un algoritmo específico que pueda aplicarse. En general, la efectividad de esta cláusula NO VACÍA es extremadamente dependiente de la disposición de los datos dentro del cubo. Los datos que se reparten de manera homogénea en el cubo (o en orden “diagonal”) evitan el beneficio de filtrado por completo. El efecto adverso de tener muchos ejes independientes crece a medida que se proyectan más dimensiones en el informe. Un informe puede contener nueve dimensiones con una consulta de datos que intenta devolver 330 millones de nulos para solo 8000 celdas útiles.

Los informes que tienen millones o billones de filas potenciales se beneficiarán más de estas configuraciones. Existen algunos cubos que están tan dispersos que muchos miembros en el cubo no tienen datos reales, no hay puntos de datos en el cubo que involucran a los miembros que intentamos recuperar. Los informes pequeños no tendrán el volumen necesario para requerir las mejoras de rendimiento, a menos que el informe pequeño vaya contra conjuntos de datos dispersos enormes.

Ejemplo: Con un informe de lista pequeña en un gran conjunto de datos dispersos potencialmente podría estar mirando hacia millones de filas pero si activa estos filtros, le quedarán solo 15. Pero si escribe un informe que solo utiliza los niveles raíces o consolidaciones de niveles superiores, no verá una mejora, porque todo el trabajo es realizado por el servidor. Si su informe solo le devuelve 200 celdas con filas vacías, podría tener un mejor rendimiento utilizando la supresión local desde la GUI.


Configuración de los parámetros de Unión cruzada del proveedor

Para aprovechar las nuevas optimizaciones de TM1 en Cognos 8 también necesitará modificar el archivo de configuración <c8 installation>\configuration\qfs_config.xml bajo el proveedor TM1ODP. Estas afectan cada consulta de TM1 contra el servidor Cognos BI y están desactivadas de manera predeterminada. Se recomienda comenzar con una configuración de 10 000, reducir a 1000 y luego a 10 para ver qué funciona mejor con sus informes. Los filtros funcionan sobre nulos y ceros ya que, de manera predeterminada, TM1 no diferencia entre nulos y ceros.

Las opciones de unión cruzada y filtrado de datos funcionan mejor cuando se activan juntas. Estas son configuraciones de todo el sistema; actualmente no existe manera de que los informes anulen los nuevos comportamientos una vez que están configurados.

	<parameter name="UseProviderCrossJoinThreshold" value="0"/>
	<parameter name="UseNonEmptyOnDataQueryThreshold" value="0"/>

Este umbral es el número en el cual el adaptador solicitará al servidor de TM1 que reduzca el tamaño de un conjunto de uniones cruzadas grande mediante el filtrado exclusivo de las tuplas vacías según las mediciones en la consulta.

Por ejemplo, cuando el informe se está ejecutando, se determina la cantidad de celdas necesaria para completar la consulta, y se suprimen los nulos si la cantidad de celdas necesaria para completar la consulta supera el valor de parámetros del umbral.

Si no se especifica una medida en la consulta cuando se evalúa la operación de unión cruzada, la medida predeterminada se utilizará para filtrar el conjunto.

La configuración predeterminada de 0 desactiva esta optimización. Un umbral de 10 000 es un valor inicial razonable para probar.

Este umbral es la cantidad de celdas a la cual el adaptador le solicitará al servidor de TM1 que omita las celdas vacías de los resultados de la consulta de datos de MDX. Elegir un umbral que es tan pequeño afectará el rendimiento de manera negativa debido a un aumento del volumen de los recorridos completos del servidor y de la red. Los umbrales más elevados son menos efectivos a la hora de eliminar filas y columnas nulas. Las mediciones empíricas sugieren que los valores de 10 000 a 100 000 son los mejores.


Consejos

Su informe puede contener nulos y ceros después de que la unión cruzada del proveedor reduzca el conjunto de resultados. Esto puede ocurrir cuando algunas operaciones de uniones cruzadas más pequeñas se realizan de manera local o cuando hay varias mediciones a las cuales se hace referencia en la consulta. Los cubos densos no verán las mismas ganancias que los cubos más dispersos. La característica de supresión de filas/columnas en los estudios puede utilizarse para filtrar las filas nulas restantes.

Necesitará reiniciar el servidor BI Server después de modificar el archivo qfs config.xml para que el cambio entre en vigencia. Si está probando varias versiones de los ajustes de configuración es posible que cancele los procesos de IBusTKServerMain.exe, entre los cambios.

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Big data y analytics, Information mgmt
ArticleID=857718
ArticleTitle=Prácticas probadas de IBM Cognos: Consejos de rendimiento cuando se utiliza Cross JoinQueries contra una fuente de datos de TM1
publish-date=02112013