Introdução ao Data Collection no Microsoft SQL Server 2008 – Parte II.

Introdução ao Data Collection no Microsoft SQL Server 2008 – Parte II.

Anúncios

Olá pessoal, boa tarde.

Conforme o prometido, estou de volta para continuar com a série de artigos sobre o Data Collection, nesta segunda parte, vou destacar a arquitetura desta nova funcionalidade implementada a partir do SQL Server 2008.

Desejo uma boa leitura.

———————————————————————————————————————————————————–

ARQUITETURA E PROCESSAMENTO

O coletor de dados utiliza intensamente o SQL Server Agent e Integration Services, e é integrado a eles. Conceitos destes componentes:

SQL Server Agent – Usado para programar e executar trabalhos de coleção, ele é o host do componente em tempo-de-execução (run-time component) do coletor de dados. A coleta de dados é agendada como um trabalho do SQL Server Agent. Quando o trabalho é executado, ele chama o componente de tempo de execução do coletor de dados que usa os parâmetros exigidos para criar e executar um conjunto de coleta.

Integration Services (SSIS) – Usado para executar pacotes que coletam dados de provedores de dados individuais. A figura 3 mostra o modelo de arquitetura para coleta e armazenamento de dados.

Figura 3. Modelo de arquitetura para coleta e armazenamento de dados.

Conforme exibido na figura 3, os componentes do modelo são agrupados nas seguintes categorias:

1. Armazenamento – são bancos de dados que contêm informações de configuração e os dados coletados. Os dados são armazenados no banco de dados MSDB ou no data warehouse de gerenciamento;

2. Execução – Os componentes da categoria de execução são executados na memória e são responsáveis pela coleta e armazenamento de dados;

3. API – A categoria API inclui a biblioteca de classes e o modelo de objeto usado para configurar, manter, e estender o coletor de dados. O acesso do cliente ao banco de dados do sistema deve ser feito por meio do API. Seus componentes são usados para habilitar a interação entre as interfaces do usuário e o coletor de dados;

4. Clientes – são as interfaces de usuário para o coletor de dados;

Banco de dados MSDB

Utilizado para armazenar informações de configuração, auditoria, de tempo de execução e de histórico de coleta. Também armazena informações de trabalho do SQL Server Agent e informações do pacote SSIS. Este banco deve estar presente na instância do SQL Server que executa o coletor de dados. Os benefícios do uso do MSDB são os seguintes:

1. Centralização dos dados necessários para configuração e execução do coletor de dados;

2. Possibilidade de implantação da configuração de coleta de dados por vários servidores, sem precisar usar o sistema de arquivos;

3. Aumento da segurança, pois os mecanismos de segurança existentes no SQL Server podem ser usados para proteger os dados; e

4. Assegura a integridade referencial dos dados de configuração e em tempo de execução, pois o MSDB é um banco de dados relacional.

Configuração de coleta de dados

As tabelas e exibições relacionadas à configuração de coleta de dados incluem informações sobre conjuntos de coletas, tipos de coletores e itens de coleta. As tabelas e as exibições também contêm parâmetros do coletor de dados globais, como o local do data warehouse de gerenciamento. As funções de banco de dados do coletor de dados e do data warehouse de gerenciamento também são armazenadas aqui.

SQL Server Agent Jobs

As informações de trabalho do SQL Server Agent são armazenadas no MSDB usando um esquema separado. Essas informações de trabalho são criadas ou atualizadas sempre que os conjuntos de coleta são adicionados, removidos ou alterados. Quando um conjunto de coleta é iniciado, o SQL Server Agent usa essas informações para executar os trabalhos do coletor de dados.

SQL Server Integration Services Packages

Os pacotes do SSIS são armazenados no MSDB usando tabelas de armazenamento existentes do SSIS. O coletor de dados usa estes pacotes para coletar dados e transferi-los ao data warehouse de gerenciamento.

Auditoria e histórico

O armazenamento dedicado é fornecido para salvar registros detalhados de auditoria e histórico das execuções de coleta de dados. O componente de tempo-de-execução (run-time component) do coletor de dados e os pacotes SSIS geram eventos durante a coleta
de dados, cujas informações são usadas para monitorar e solucionar problemas do processo de coleta.

Data warehouse de gerenciamento

O data warehouse de gerenciamento é um banco de dados relacional que contém todos os dados retidos. Esse banco de dados pode estar no mesmo sistema do coletor de dados ou pode estar em outro computador.

Componente de tempo de execução do coletor de dados

O componente em tempo de execução do coletor de dados é hospedado por um processo independente denominado Dcexec.exe. Esse componente gerencia a coleta de dados baseado nas definições fornecidas em um conjunto de coleta e pode aceitar qualquer conjunto de coleta como entrada. Este componente é responsável por carregar e executar os pacotes do SSIS que fazem parte de um conjunto de coleta.

Um conjunto de coleta é executado em um dos seguintes modos de coleta e carregamento:

  • Modo de armazenamento não-cache – A coleta e o carregamento dos dados estão na mesma agenda. Os pacotes iniciam, coletam e carregam dados na freqüência configurada e executam até que sejam concluídos. Depois que os pacotes terminam, são descarregados da memória;
  • Em modo de armazenamento cachê – A coleta e o carregamento dos dados estão em agendas diferentes. Os pacotes coletam e armazenam dados em cache até que eles recebam um sinal para sair de uma tarefa de fluxo de controle de loop. Isso garante que o fluxo de dados possa ser executado repetidamente, o que habilita a coleta de dados contínua.

Componente de tempo de execução SSIS

O componente de tempo de execução do coletor de dados invoca os pacotes SSIS utilizados pelo coletor de dados. Os pacotes são executados durante o processo.

As duas tarefas mais importantes dos pacotes do SSIS são a coleta de dados e o carregamento de dados que são executadas por pacotes separados. O pacote de coleta reúne dados de um provedor de dados e os mantém em armazenamento temporário. Se for
configurado para assim proceder, este pacote também acrescentará informações adicionais aos dados que coleta, como a hora da cópia ou informações sobre a fonte dos dados.

O pacote de carregamento lê os dados no armazenamento temporário, processa-os conforme necessário (por exemplo, removendo pontos de dados desnecessários, normalizando os dados e a agregação de dados) e, em seguida, carrega os dados no data warehouse de gerenciamento. O carregamento é feito como uma inserção em massa para minimizar o impacto no desempenho do servidor.

A separação da coleta de dados e do carregamento de dados oferece mais flexibilidade e eficiência. Esse design oferece suporte a cenários em que são capturados instantâneos de dados em intervalos freqüentes (por exemplo, a cada 15 segundos), mas os dados coletados precisam ser carregados somente a cada hora. A freqüência da coleta e do carregamento de dados deve ser determinada pelos requisitos de monitoramento de uma instalação específica do SQL Server.

Armazenamento temporário

O armazenamento temporário é usado durante a coleta de dados para armazenar valores de propriedades expostos por conjuntos de coleta ou calculados de forma dinâmica. Estes valores podem ser dados brutos obtidos durante o processo de coleta, ou dados processados, como dados agregados.

Class Library

O coletor de dados tem seu próprio namespace e é independente do SQL Server Management Objects (SMO).

Stored Procedures and Views

Os procedimentos armazenados e as exibições fornecem acesso de Criação, Leitura, Atualização e Exclusão aos dados da configuração do coletor de dados e do data warehouse de gerenciamento.

Cliente

O coletor de dados usa o SQL Server Management Studio e uma interface de linha de comando do Windows Powershell™ como clientes para configurar e usar o coletor de dados. O SQL Server Management Studio pode ser usados nas segintes tarefas:

  • Configurar a coleta de dados usando o Assistente para Configurar a Coleta de Dados no Pesquisador de Objetos;
  • Habilitar ou desabilitar a coleta de dados usando o Pesquisador de Objetos;
  • Iniciar ou parar um conjunto de coleta específico usando o Pesquisador de Objetos;
  • Exibir ou configurar a coleta de dados ou as propriedades do conjunto de coleta de dados usando o Pesquisador de Objetos;
  • Exibir os relatórios com base em dados históricos armazenados no data warehouse de gerenciamento. Esse banco de dados pode estar localizado na instância local ou em outro servidor. O último é recomendado.

A interface de linha de comando do Windows Powershell pode ser usadas nas seguintes tarefas:

  • Iniciar ou parar um conjunto de coleta;
  • Adicionar ou remover um conjunto de coleta; e
  • Alterar as propriedades editáveis de um conjunto de coleta.

Bem pessoal, vou finalizar este segunda parte, ainda temos muito para falar sobre a Arquitetura do Data Collection, no próximo artigo vou destacar os elementos de processamento e tempo de execução envolvido por cada elemento utilizado pelo DC.

Agradeço mais uma vez a sua visita.

Até mais.

Autor: Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação. Pós-Graduado no Curso de Gestão e Engenharia de Processos para Desenvolvimento de Software com RUP na Faculdade FIAP - Faculdade de Informática e Administração Paulista de São Paulo. Pós-Graduado em Gestão da Tecnologia da Informação Faculdade - ESAMC Sorocaba. Formação MCDBA Microsoft, autor de artigos acadêmicos e profissionais postados em Revistas, Instituições de Ensino e WebSistes. Meu primeiro contato com tecnologia ocorreu em 1995 após meus pais comprarem nosso primeiro computador, ano em que as portas para este fantástico mundo se abriram. Neste mesmo ano, comecei o de Processamento de Dados, naquele momento a palavra TI não existia, na verdade a Tecnologia da Informação era conhecida como Computação ou Informática, foi assim que tudo começou e desde então não parei mais, continuando nesta longa estrada até hoje. Desde 2001 tenho atuado como Database Administrator - Administrador de Banco de Dados - SQL Server em tarefas de Administração, Gerenciamento, Migração de Servidores e Bancos de Dados, Estratégias de Backup/Restauração, Replicação, LogShipping, Implantação de ERPs que utilizam bancos SQL Server, Desenvolvimento de Funções, Stored Procedure, Triggers. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping. Atualmente trabalho como Administrador de Banco de Dados no FIT - Instituto de Tecnologia da Flextronics, como também, Consultor em Projetos de Tunnig e Performance para clientes, bem como, Professor Titular na Fatec São Roque. Desde 2008 exerço a função de Professor Universitário, para as disciplinas de Banco de Dados, Administração, Modelagem de Banco de Dados, Programação em Banco de Dados, Sistemas Operacionais, Análise e Projetos de Sistemas, entre outras. Possuo titulação Oficial Microsoft MVP - SQL Server renovada desde 2007.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s