none
Dúvida sobre criação de Hierarquia RRS feed

  • Pergunta

  • Pessoal,

     

    Para criar uma hierarquia, por exemplo,  com os níveis REGIAO - ESTADO - CIDADE quais das opções abaixo é a melhor ou mais correta?  (a dúvida é em relação a estrutura física das tabelas que irão alimentar o projeto no Analysis Services 2005.)

     

    1)  ESTRELA

       dim_regiao            

             id_regiao

             cod_regiao

             desc_regiao

             cod_estado

             desc_estado

             cod_cidade

             desc_cidade

     

    2)  FLOCO DE NEVE

      dim_regiao                     dim_estado                     dim_cidade

             id_regiao                        id_estado                       id_cidade

             cod_regiao                     cod_estado                    cod_cidade

             desc_regiao                   desc_estado                   desc_cidade

                                                  id_regiao                        id_estado

     

    Grato pela ajuda

     

    Eduardo

     

    quarta-feira, 30 de julho de 2008 19:07

Respostas

  • Boa Tarde,

     

    Não há a mais correta uma vez que ambas atendem a formação de uma hierarquia. O que acontece é que você precisa avaliar os TradeOffs.

     

    No modelo estrela, você terá uma tabela só, o que é melhor em termos de desempenho, pois, os dados estão em um único local e não teremos a perda de desempenho nos JOINs porém o espaço utilizado (visto a presença de redundâncias) será maior

     

    No modelo "Floco de Neve", você está introduzindo a normalização e nesse caso há uma economia de espaço. No entanto, as consultas ficarão mais lentas, pois, será necessário fazer os JOINs para obter informação.

     

    Normalmente é utilizado o modelo estrela para essas situações já que ainda que ele ocupe mais espaço, estamos falando de uma dimensão pequena e que certamente gastar alguns MB a mais será mínimo perto de uma tabela fato que costuma ser bem maior. O modelo Estrela ainda se beneficiará se você usar uma estrutura de armazenamento ROLAP, pois será necessário ler apenas uma tabela.

     

    Se você for usar algo MOLAP, ou seja, o Analysis Services irá armazenar os dados em suas próprias estruturas e a base relacional com as tabelas só será lida no momento de carga, você pode economizar espaço usando o Floco de Neve (ainda que introduza um leve retardo no ETL). Ainda assim eu optaria para essa dimensão o modelo Estrela.

     

    [ ]s,

     

    Gustavo

    quarta-feira, 30 de julho de 2008 19:23