Share via


Expandindo uma solução do Analysis Services

Existem situações freqüentes em que um administrador de banco de dados do Analysis Services (dba) deseja melhorar o tempo de resposta da consulta para aumentar o número de usuários finais. Existem duas formas de atingir esse objetivo: adicionar mais potência ao servidor existente (aumento de escala) ou distribuir a carga entre vários pequenos servidores (expansão de escala).

O aumento de escala é uma solução normalmente limitada pelo ponto em que o hardware existente não pode mais ser expandido ou atualizado. Talvez a placa-mãe existente não possa aceitar a nova versão de CPUs ou o espaço de endereço físico da memória foi atingido. Por outro lado, a expansão é uma solução mais flexível e suas limitações são superadas mais facilmente. Se o número de servidores no Balanceador de Carga da Rede (NLB) atingir seu limite máximo, um NLB adicional poderá ser adicionado à solução e os servidores distribuídos entre os vários NLBs.

Este documento descreve uma arquitetura teórica por a expansão de uma solução Analysis Services.

Cenário

Um dba do Analysis Services deve fornecer os usuários finais de uma solução do Analysis Services com o melhor tempo de resposta para consultas, ainda assim com a janela de tempo de inatividade mínima por dia para a atualização de dados. Contando com 80 usuários originais, o número de usuários dobrou durante o último mês e espera-se que o número dobre novamente nos próximos seis meses. A partir do sétimo mês, espera-se que a expansão de usuários aumente 4% ao mês. Atualmente, o tamanho do banco de dados do Analysis Services é de 80 GB e aumenta cerca de 6 GB por mês. O banco de dados retém dados dos últimos 12 meses e espera-se que seja mantido o histórico dos últimos 3 anos fiscais, além do ano atual. O tempo médio de processamento é de 2 horas e meia e a janela de tempo de inatividade é limitada a meia hora.

Alternativas

Após ler o cenário, pode parecer que a única solução é aumentar a escala do servidor. Isso fornecerá serviços que não tenham um tempo de inatividade, mas um desempenho lento durante o tempo de processamento. Atualmente, existem 160 usuários e esse número dobrará chegando aos 320 nos próximos seis meses. Depois disso, a tendência é que continue aumentando de 13 a 16 usuários por mês por um período indeterminado. Considerando essa taxa, o número de usuários dobrará novamente entre o 18º e 19º mês de crescimento estável. Diante dessa situação, será difícil dimensionar o hardware correto e justificar uma solicitação de orçamento para equipamentos que serão usados em menos de 50% de sua capacidade nos próximos 12 meses.

Felizmente, a expansão dessa solução é viável no SQL Server 2008 Analysis Services com o recurso de Banco de Dados Somente Leitura.

Arquitetura de expansão

Esta arquitetura é projetada com dois elementos:

  • Um Layout Físico com o objetivo de maximizar a taxa de transferência do usuário final.

  • Uma Estrutura de Operações com o objetivo de minimizar o tempo de inatividade.

Layout Físico

A solução consiste em três componentes principais:

  • O ambiente de processamento

  • A Rede de Área de Armazenamento (SAN)

  • O ambiente de Acesso aos Dados

O primeiro componente, o processamento, é onde os dados são atualizados e processados usando um segmento da SAN. O segundo componente, a SAN, é onde os dados são mantidos para ambos os ambientes de processamento e de acesso aos dados. O terceiro componente, o acesso aos dados, é onde os dados são disponibilizados para os usuários finais.

O ambiente de processamento

O ambiente de processamento é formado por um servidor, uma conexão com a SAN e um volume lógico da SAN para manter os dados do Analysis Services.

A Rede de Área de Armazenamento (SAN)

Essa solução consiste em dois 'volumes lógicos da SAN' independentes: um para o ambiente de Processamento e o outro para o ambiente de Acesso aos Dados.

A SAN é o conjunto de dispositivos que fornece o armazenamento físico para os bancos de dados multidimensionais. Ela ativa conexões de alta velocidade entre os servidores e o armazenamento que incluem armazenamento compartilhado, clusters e mecanismos de recuperação de dados.

Neste documento, um 'volume lógico da SAN' define a unidade de armazenamento que é percebida pelo sistema operacional como uma unidade física.

O ambiente de Acesso aos Dados

O ambiente de Acesso aos Dados é formado por vários servidores, geralmente iniciando com três, que compartilham o mesmo volume lógico da SAN. Os usuários estabelecem conexão com os servidores de acesso aos dados por um dispositivo NLB que define as rotas de todas as solicitações de entrada usando um algoritmo de balanceamento de carga.

Variantes para o Layout Físico

Se necessário, você pode usar as variantes a seguir para atingir o melhor desempenho na solução.

Ambiente de Processamento

Em algumas ocasiões, é possível usar dois servidores de processamento: um para os bancos de dados relacionais e outro para manter os bancos de dados do Analysis Services.

Além disso, vários volumes lógicos podem ser definidos para manter os bancos de dados relacionais de maneira independente e os bancos de dados multidimensionais na SAN.

Ambiente de Acesso aos Dados

Dois ou mais NLBs são definidos como parte da solução com um mínimo de três servidores de acesso aos dados por dispositivo NLB.

Estrutura de Operações

A operação da solução é dividida em três fases:

  • Processamento de dados

  • Janela de tempo de inatividade

  • Redefinição de processamento de dados

Processamento de dados

Nesta fase, o banco de dados multidimensional é atualizado e processado. Assim que o conteúdo do banco de dados multidimensional estiver pronto para ser enviado, o Ambiente de Acesso aos Dados processa os dados para a transferência. Esse processo é composto pelas seguintes etapas:

  • Desanexe o banco de dados do Analysis Services do servidor de processamento de dados.

  • Desconecte o volume lógico da SAN que mantém o banco de dados do Analysis Services.

Janela de tempo de inatividade

Nesta fase, o conteúdo do banco de dados atualizado é trocado pelo conteúdo do banco de dados original.

  • Defina os NLBs para que rejeitem todas as solicitações de entrada.

  • Desanexe os bancos de dados do Analysis Services de cada servidor de acesso aos dados.

  • Desconecte o volume lógico da SAN que mantém o banco de dados do Analysis Services de cada servidor de acesso aos dados.

  • Usando os comandos da SAN, alterne os volumes lógicos da SAN entre o Ambiente de Processamento e o Ambiente de Acesso aos Dados.

  • Faça a conexão, como um dispositivo somente leitura, do volume lógico da SAN que mantém o banco de dados do Analysis Services para cada servidor de acesso aos dados.

  • Anexe o banco de dados do Analysis Services, no modo ReadOnly, para cada servidor de acesso aos dados.

  • Defina os NLBs para que aceitem todas as solicitações de entrada.

Redefinição de processamento de dados

Nesta fase, o conteúdo do volume lógico antigo da SAN está atualizado e online no Ambiente de Processamento.

  • Usando os comandos da SAN, reflita o volume lógico da SAN em Acesso aos Dados para a SAN lógica do Ambiente de Processamento.

  • Faça a conexão, como um dispositivo de leitura/gravação, do volume lógico da SAN que mantém o banco de dados do Analysis Services para o ambiente de processamento.

  • Anexe o banco de dados do Analysis Services, no modo ReadWrite, para o servidor do ambiente de processamento.