Thiago Zavaschi R2 www.zavaschi.com

20Mar/122

Performance no SQL Server Analysis Services (SSAS)

É muito comum existirem dúvidas por parte dos profissionais que trabalham com a plataforma de dados ao saírem do mundo relacional para o mundo multidimensional. Em geral, estas dúvidas giram em torno de “como” fazer, já que é um paradigma “novo”.

Após algum tempo de projeto e execução de testes com carga em produção, ou mesmo com as bases multidimensionais (a.k.a. cubos, lembrando que uma base pode conter mais de um cubo) indo para produção é que surgem outros tipos de dúvidas, principalmente ligadas a desempenho.

Primeiro ponto é que ao “tunarmos” nosso servidor de análise devemos reparar que é dois “tempos” que necessitam de otimização: tempo de processamento do cubo e tempo de resposta da query.

As otimizações necessárias para ambos os casos são bem diferentes. Os pontos de atenção são:

Projeto da estruturação física do cubo: Podemos fazer grandes avanços na otimização de query, mas em geral um bom projeto do cubo segundo as definições do Kimball é o que dará ganhos muitos bons quanto ao desempenho.

Otimização da query (query tuning): A interação (requisão) com o servidor OLAP é feita através de queries MDX (multidimensional expressions), enviadas por ferramentas clientes (reporting services, excel, etc.). O tempo de demora da consulta é o que impacta diretamente o tempo de resposta para o usuário ter acesso à informação. Neste cenário o que podemos utilizar a nosso favor é a reescrita de queries MDX, agregações, cache, entre outros.

Otimização do tempo de processamento: Processar um cubo é a operação de atualização dos dados em uma base do SSAS. Ou seja, o usuário NÃO é impactado no tempo de resposta, mas sim na demora em obter dados atualizados. Aqui há uma série de ações que podem ser tomadas, inclusive tuning no relacional (consulta sobre o data warehouse – fontes de dados).

Bom pessoal, o post hoje era para mostrar os pontos de atenção quando vamos otimizar uma base de dados do SSAS.

Maiores informações podem ser encontradas (em inglês) no guia: SQL Server Analysis Services 2008 R2 Performance Guide, escrito pelo time do SQLCAT.

Grande abraço!

Comments (2) Trackbacks (0)
  1. Fala Zava,

    Algo interessante que pode ser feito no processamento é o uso do CDC e também as opções de Process FULL, etc.

    Abraço,

    Demétrio Silva

  2. Sem duvidas! Vou blogar sobre estas opções, valeu! :)


Leave a comment


No trackbacks yet.