Pergunta

Estou criando um mart dados em SQL Server 2008 usando o SSIS para carga e SSAS para um cubo OLAP. Até agora, tudo está funcionando muito bem. No entanto, não criaram os índices no banco de dados fonte diferente do agrupamento padrão na chave primária.

Eu sou muito confortável com a criação de índices nos bancos de dados de aplicativos, mas desde que esta base de dados é destinado primário para ser a fonte para um cubo, não tenho certeza que tipo de indexação, se houver, será benéfico.

Existe algum tipo de indexação que eu deveria estar fazendo para melhorar o processamento das dimensões e cubo? Estou usando o seu armazenamento normal MOLAP.

Foi útil?

Solução

Geralmente, a melhor prática é manter índices e restrições off de marts, a menos que eles podem ser usados ??diretamente para relatórios. Índices e restrições podem mangueira seriamente o seu tempo de ETL (especialmente com as quantidades de dados que normalmente entram em armazéns).

O que eu encontrei funciona melhor é ter uma única PK, solitário em todas as suas tabelas (incluindo verdade, porque eu tenho chaves compostas, e eu vou apenas hash composto para arranjar um PK se eu tiver que ). Ter de PK (que são colunas de identidade) fornece-lhe com um índice gerado automaticamente, juntando-se rápido quando os cubos são construídos, e inserções muito rápidos.

Se você vai estar fazendo relatórios, em seguida, construir os índices que você faria, mas certifique-se de desativar e, em seguida, reconstruir os índices como parte de seu processo de ETL. Caso contrário, inserções em bloco levar algum tempo para fazer (horas e horas de cometer, em alguns casos).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top