Pergunta

Estou usando o Saiku 2.5 e não tenho certeza de como modelar a seguinte situação:

Dimentões:

  • Categoria (~ 20 linhas)
  • Subcategoria (~ 100 linhas)
  • Subsubcategory (~ 1200 linhas)
  • Subsubsubcategory (~ 8000 linhas)
  • Outros1 (~ 100000 linhas)
  • Outros2 (~ 50000 linhas)
  • Outros3 (~ 500 linhas)
  • Outros4 (~ 500 linhas)
  • Outros5 (~ 200 linhas)
  • Outros6 (~ 200 linhas)
  • Outros7 (~ 100 linhas)
  • Outros8 (~ 10 linhas)

Medidas:

  • Fatos (~ 20000000 linhas)

Relacionamentos

  • Fato tem outro [ d
  • O fato tem subsubsubcategory
  • Subsubsubcategory possui subsubcategoria
  • Subsubcategory possui subcategoria
  • A subcategoria tem categoria

Eu gostaria de saber se é melhor em termos de desempenho, para desnomalizar todas as categorias em uma tabela ou deixá-la como está. Cada tabela "semelhante a categoria" possui um Varchar (8) e dois Text ().

Foi útil?

Solução

Eu gostaria de saber se é melhor em termos de desempenho, para desnomalizar todas as categorias em uma tabela ou deixá-la como está.

Você está otimizando um data warehouse para o desempenho de leitura, então optaria por desnormalizar as tabelas de categoria. Você está falando cerca de 8.000 linhas ou uma página e meia na maioria dos bancos de dados relacionais. Você pode manter esta tabela na memória.

Parece que um esquema estrela funcionaria para você. Se as outras dimensões tiverem relações, um esquema de floco de neve seria justificado.

Outras dicas

Suas categorias devem estar em uma única tabela, uma vez que as junções de 8K Row são fáceis.

Outros devem ser divididos em algumas mesas. Isso permitirá que Mondrian execute a junção em níveis altos (baixa cardinalidade) quando possível e, assim, um desempenho melhor.

Mondrian joga bem com os dois cenários.

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