Avalados por :

Dicas para projetar dimensões em um InfoCube: como otimizar o desempenho e a organização.

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 Vistas
0
Cargando...

Introdução

Na realidade, as dimensões em um InfoCube geralmente são projetadas com base em termos comerciais (como material, cliente, etc.). Isso muitas vezes dá a impressão de que as dimensões do InfoCube devem ser projetadas levando em consideração as restrições comerciais. No entanto, esse não deve ser o principal critério e não deve guiar a decisão.

Além do volume de dados, que depende da granularidade dos dados no InfoCube, o desempenho depende muito de como os InfoObjects são organizados nas dimensões. Embora isso não tenha impacto no tamanho da tabela de fatos, definitivamente tem impacto no tamanho das dimensões.

Como então projetar uma dimensão?

O principal objetivo ao distribuir os InfoObjects em suas dimensões deve ser manter as dimensões o mais pequenas possível. A decisão sobre quantas dimensões e quais InfoObjects vão para onde é impulsionada puramente por considerações técnicas. Em alguns casos, isso coincide com a visão organizacional, mas isso seria apenas uma coincidência e não o objetivo.

Existem algumas diretrizes a serem consideradas ao atribuir InfoObjects a dimensões:

  • Utilizar quantas dimensões forem necessárias, mas é mais importante minimizar o tamanho da dimensão do que o número de dimensões.
  • Dentro da dimensão, apenas devem ser adicionadas características que tenham uma relação 1: n (por exemplo, material e hierarquia de produtos)
  • Dentro de uma dimensão não deve haver relações n: m. (por exemplo, hierarquia de produtos e cliente)
  • Os InfoObjects em nível de documento ou características grandes devem ser projetados como dimensões de itens de linha. As dimensões de itens de linha não são dimensões reais, elas têm uma ligação direta entre a tabela de fatos e a tabela SID.
  • As características mais seletivas devem estar no topo da tabela de dimensões
  • Não misturar características com valores que mudam com frequência, o que pode causar tabelas de dimensões grandes. (por exemplo, material e promoções)
  • Também considerar combinar características não relacionadas pode melhorar o desempenho ao reduzir o número de junções de tabelas. (você só tem 13 dimensões, então combine as pequenas)

Para ajudar, você pode usar o relatório (SE38) SAP_INFOCUBE_DESIGNS

Essa dimensão destacada em amarelo deve se tornar uma dimensão de itens de linha se contiver uma característica em nível de documento ou se for simplesmente um design ruim.

O número máximo de entradas que uma dimensão pode ter potencialmente é calculado através do produto cartesiano de todos os SID. (por exemplo, 10.000 clientes e 1.000 hierarquias de produtos resultam em 10.000.000 combinações possíveis na tabela de dimensões. É improvável que isso aconteça e ao projetar a dimensão, isso também deve ser considerado: analisar as possibilidades de que todos os clientes comprem todos os produtos neste caso.

Nos casos em que há uma relação m: m, geralmente significa que falta uma entidade entre essas duas e, portanto, devem ser armazenadas em dimensões diferentes.

Depois que os dados são carregados no InfoCube, uma verificação da quantidade real de registros carregados na tabela de dimensões em comparação com a quantidade de registros na tabela de fatos deve ser feita. Como regra geral, a proporção deve estar entre 1:10 e 1:20.

Dimensões Degeneradas

Se uma tabela de dimensão grande atinge quase o tamanho da tabela de fatos ao medir a quantidade de linhas nas tabelas, é uma dimensão degenerada. O processador OLAP deve unir duas tabelas grandes, o que é ruim para o desempenho da consulta. Tais dimensões podem ser marcadas como Dimensões de Itens de Linha fazendo com que o banco de dados não crie uma tabela de dimensão real. Ao verificar a tabela /BIC/F, será mostrado que em vez da chave de dimensão DMID, o SID da tabela de dimensão degenerada é colocado na tabela de fatos. (Nome do campo RSSID). Com isso, a junção das duas tabelas é eliminada. Essas dimensões só podem conter um InfoObject, pois deve existir uma relação 1:1 entre o SID e o DIMID.

As dimensões com muitos valores únicos podem ser configuradas como Alta Cardinalidade o que altera o método de indexação das dimensões. (Apenas ORA DB) Isso resulta em uma mudança de um índice de bitmap para um índice B-Tree.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?