REPLICAÇÃO DE DADOS LINDIOMAR AFONSO DA SILVA



Documentos relacionados
04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Conceitos de Banco de Dados

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Noções de. Microsoft SQL Server. Microsoft SQL Server

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Módulo 4: Gerenciamento de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

SISTEMA GERENCIADOR DE BANCO DE DADOS

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Persistência e Banco de Dados em Jogos Digitais

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

4 Um Exemplo de Implementação

Disciplina de Banco de Dados Introdução

INTRODUÇÃO. Diferente de Bando de Dados

Procedimentos para Reinstalação do Sisloc

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

NetEye Guia de Instalação

Softwares Aplicativos Banco de Dados

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

ISO/IEC 12207: Gerência de Configuração

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

Roteiro 2 Conceitos Gerais

Procedimentos para Instalação do SISLOC

Manual SAGe Versão 1.2 (a partir da versão )

Prof. Marcelo Machado Cunha

Introdução Banco de Dados

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Documento de Análise e Projeto VideoSystem

Introdução à Banco de Dados. Definição

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

MANUAL DE CONFIGURAÇÃO DO BACKUP

Engenharia de Software III

Bancos de Dados III. Replicação de Dados. Rogério Costa Replicação

Primeiros Passos para o Simulador de Ações do FinanceDesktop. Parte A INICIANDO E CONFIGURANDO (5 passos)

Modelos. Comunicação com clientes

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Banco de Dados I. Introdução. Fabricio Breve

Procedimentos para Instalação do Sisloc

Sistemas Distribuídos

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Banco de Dados I Introdução

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

GARANTIA DA QUALIDADE DE SOFTWARE

Automação de Locais Distantes

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

3 SCS: Sistema de Componentes de Software

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Fundamentos de Banco de Dados

Crash recovery é similar ao instance recovery, onde o primeiro referencia ambientes de instância exclusiva e o segundo ambientes parallel server.

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Sistemas Operacionais

Conteúdo Programático

IW10. Rev.: 02. Especificações Técnicas

Fox Gerenciador de Sistemas

Manual de Atualização Versão

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição

Banco de Dados Orientado a Objetos

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO

Manual Replicação Manual VPN

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

WSUS. Windows Server Update Services

Gestão de Relacionamento com o Cliente CRM

Arquitetura dos Sistemas de Informação Distribuídos

Faculdade Lourenço Filho - ENADE

Procedimento de Gestão PG 02 Controlo de Documentos e Registos

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos

Módulo 4. Construindo uma solução OLAP

Sistema de Controle de Solicitação de Desenvolvimento

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

29/06/ :30 Leite Júnior QUESTÕES CESPE BACKUP

Universidade Paulista

OCOMON PRIMEIROS PASSOS

Agendamento para Importação de Notas Fiscais

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP)

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Sistemas Operacionais de Rede INTRODUÇÃO AO ACTIVE DIRECTORY

1

Transcrição:

UNIÃO EDUCACIONAL MINAS GERAIS S/C LTDA FACULDADE DE CIÊNCIAS APLICADAS DE MINAS Autorizada pela Portaria no 577/2000 MEC, de 03/05/2000. BACHARELADO EM SISTEMAS DE INFORMAÇÃO REPLICAÇÃO DE DADOS LINDIOMAR AFONSO DA SILVA Uberlândia 2006

LINDIOMAR AFONSO DA SILVA REPLICAÇÃO DE DADOS Trabalho de Final de curso submetido à UNIMINAS como parte dos requisitos para a obtenção do grau de Bacharel em Sistemas de Informação. Orientador: Prof. Francisco José Muller Uberlândia 2006

LINDIOMAR AFONSO DA SILVA REPLICAÇÃO DE DADOS Trabalho de Final de curso submetido à UNIMINAS como parte dos requisitos para a obtenção do grau de Bacharel em Sistemas de Informação. Orientador Prof. MSc. Francisco José Muller Banca Examinadora: Uberlândia, 20 de dezembro de 2006. Prof. MSc. Francisco José Muller Profa. Dra. Kátia Lopes Silva Prof. Márcio dos Reis Caetano Uberlândia 2006

AGRADECIMENTOS Ao Meu orientador, Prof. Francisco José Muller, pela paciência e pelo auxílio fornecido para a execução deste trabalho. trabalho. À Profa. Kátia, pelas dicas preciosas e pela cuidadosa revisão deste À Profa. Marília, pela sua colaboração, desde o projeto até a fase final deste trabalho. À Susana dos Santos Teobaldo, pelo apoio oferecido. À minha família, pela confiança, motivação e por nunca deixar apagar a chama do meu desejo. À minha mãe e à memória do meu pai, que me ensinaram desde pequeno o bom caminho que eu deveria seguir e até hoje me apóiam com amor e carinho. À minha esposa Flávia e o meu filho Erick, minha razão de viver, pela paciência, amor e compreensão nos momentos de ausência. A todos que, direta ou indiretamente, contribuíram para a elaboração deste trabalho.

RESUMO Encontrar soluções acessíveis aos padrões operacionais e comerciais brasileiros tem se tornado uma necessidade para várias organizações. Uma destas soluções é a Replicação de Dados. A Replicação quando utiliza ferramentas próprias dos Sistemas Gerenciadores de Banco de Dados (SGDB) proporciona interoperabilidade e agilidade na atualização de dados mesmo quando as informações estão inacessíveis por determinados períodos de tempo. É diante deste cenário que este trabalho faz um estudo da Replicação de Dados e implementa um estudo de caso onde se avalia a replicação numa base de dados operacional. O processo de Replicação de Dados mostrou-se bastante simples e eficaz, pois o conteúdo inicial e todas as atualizações foram replicados e a consistência das informações foi mantida através dos relacionamentos existentes na base e da checagem das chaves de controle utilizadas pela replicação. Os resultados apresentados pela implementação mostram que a Replicação de Dados é eficiente, prática e segura. Trabalhos futuros podem explorar ainda mais o potencial da replicação usando: produtos comerciais, outros SGBD disponíveis no mercado ou os outros tipos de replicação disponíveis no SQL Server, verificando e comparando os resultados obtidos com os resultados contidos neste trabalho. Distribuidor. Assinante. Palavras Chave: Banco de Dados. Replicação de Dados. Editor.

ABSTRACT To find accessible solutions to the operational standards and commercial Brazilians has become a necessity for some organizations. One of these solutions is the Replication of Data. The Replication when it uses proper tools of the Database Management Systems (DBMS) provides operability and agility in the update of data when the information is inaccessible for determined periods of time. In this scene that this work makes a study of the Replication of Data and implements a case study where it evaluates the replication in an operational database. The process of Replication of Data revealed sufficiently simple and efficient, therefore the initial content and all the updates had been replied and the consistency of the information was kept through the existing relationships in the base and of the checking in the keys of control used by the replication. The results presented for the implementation show that the Replication of Data is efficient, practical and insurance. Future works can explore the potential of the replication using: commercial products, other available DBMS in the market or the other available types of replication in the SQL Server, verifying and comparing the results gotten with the results contained in this work. Subscriber. Word-keys: Database, Replication of Data, Publisher, Distributor,

LISTA DE FIGURAS Figura 1 Exemplo simplificado de um Sistema de Banco de Dados... 18 Figura 2 Exemplo Simplificado de DER... 19 Figura 3 Conteúdo da Tabela Stores... 19 Figura 4 Conceito Editor, Distribuidor e Assinante... 25 Figura 5 Agentes presentes em cada tipo de Replicação... 28 Figura 6 Diagrama Comparativo entre métodos de Replicação... 32 Figura 7 Representação Gráfica do DER... 34 Figura 8 Esquema de funcionamento da Replicação... 35 Figura 9 Assistente de Replicação... 36 Figura 10 Definindo o tipo de publicação... 36 Figura 11 Criando uma Publicação... 37 Figura 12 Associando o Assinante à publicação... 38 Figura 13 Tela do Monitor após a Criação da Replicação... 38 Figura 14 Agente de Replicação e visão detalhada da Replicação... 39 Figura 15 Coluna rowguid Uniqueidentifier inserida na tabela Titles... 40 Figura 16 Conteúdo da tabela Titles da Instância MATRIZ... 40 Figura 17 Tela do Monitor de Replicação... 40 Figura 18 Conteúdo da tabela Titles na instância FILIAL... 41 Figura 19 Histórico parcial das replicações... 42 Figura 20 Monitoramento da Atualização da Matriz para Filial... 42

LISTA DE ABREVIATURAS E SÍMBOLOS SGBD Sistema de Gerenciamento Banco de Dados. DER Diagrama de Entidades e Relacionamentos. AT&T American Telephone and Telegraph. BD Banco de Dados. SQL Structured Query Language. SQL Server Microsoft SQL Server. SQL Server Agent Microsoft SQL Server Agent. SQL DMO SQL Distributed Management Objects. MS DTC Microsoft Distributed Transaction Coordinator. OLE DB Object Linking and Embedding for Databases. ODBC Open Data Base Connectivity. DBMS Database Management Systems

SUMÁRIO 1 INTRODUÇÃO...10 1.1 CENÁRIO ATUAL DA REPLICAÇÃO DE DADOS...10 1.2 IDENTIFICAÇÃO DO PROBLEMA...11 1.3 OBJETIVOS DO TRABALHO...11 1.3.1 Objetivo Geral...11 1.3.2 Objetivos Específicos...12 1.4 JUSTIFICATIVA PARA A PESQUISA...12 1.5 ORGANIZAÇÃO DO TRABALHO...13 2 FUNDAMENTOS DE BANCO DE DADOS (BD)...14 2.1 INTRODUÇÃO...14 2.2 DEFINIÇÃO...14 2.3 METADADOS...15 2.4 SISTEMA GERENCIADOR BANCO DE DADOS (SGBD)...15 2.5 EXEMPLO DE DIAGRAMA DE ENTIDADE E RELACIONAMENTO (DER)...18 2.6 EXEMPLO DE TABELA UTILIZADA...19 2.7 CONCEITO DE TRANSAÇÕES...20 2.8 FERRAMENTA DE DESENVOLVIMENTO...21 3 REPLICAÇÃO DE DADOS...23 3.1 INTRODUÇÃO...23 3.2 PROBLEMAS QUE REQUEREM REPLICAÇÃO...23 3.3 VANTAGENS DA REPLICAÇÃO...23 3.4 DESVANTAGENS DA REPLICAÇÃO...24 3.5 CONCEITO EDITOR, DISTRIBUIDOR E ASSINANTE...24 3.6 AUTONOMIA E LATÊNCIA...26 3.7 AGENTES DE REPLICAÇÃO...27 3.8 DEFINIÇÃO DO TIPO DE REPLICAÇÃO...28 3.8.1 Replicação Instantânea...29 3.8.2 Replicação Transacional...30 3.8.3 Replicação Mista...30 3.9 OUTROS MÉTODOS DE REPLICAÇÃO...31 4 ESTUDO DE CASO REPLICANDO DADOS EM UMA REDE DE EDITORAS...33 4.1 ESPECIFICAÇÃO DO PROBLEMA...33 4.2 DEFINIÇÕES DO BD E TABELAS...33 4.3 SOLUÇÃO PROPOSTA...34 4.4 DEFININDO PARÂMETROS E REGRAS...35 4.5 CONFIGURANDO A REPLICAÇÃO...36 4.5.1 Assistente de Configuração do SQL Server...36 4.5.2 Definindo o Tipo da Replicação...36 4.5.3 Definindo a Publicação...37 4.5.4 Definindo o Assinante...37 4.6 OS AGENTES DA REPLICAÇÃO...39 4.7 INSERINDO, MONITORANDO E ANALISANDO OS DADOS...39 4.7.1 Inserindo dados...39 4.7.2 Monitorando os Dados...41 4.7.3 Analisando a Consistência dos Dados...41 5 CONCLUSÕES...43 5.1 TRABALHOS FUTUROS...44

10 1 INTRODUÇÃO 1.1 Cenário atual da Replicação de Dados Atualmente o tamanho dos Bancos de Dados (BD) corporativos tem se tornado cada vez maior, exigindo, assim, mais recursos para armazenamento e acessibilidade. BD de vários gigabytes ou até mesmo terabytes são extremamente comuns nos dias atuais. [...] a empresa telefônica americana AT&T registra mais de 200 milhões de telefonemas em um único dia e a empresa varejista Wal-Mart registra mais de 20 milhões de transações diárias. (LOUZADA-NETO, 2002). Diante disto, qual a maneira mais rápida, segura, confiável, fácil e viável para obter estas informações? Existem inúmeras soluções para esta questão, uma delas é a Replicação de Dados. A Replicação de Dados é uma poderosa e importante tecnologia para manipulação e duplicação de cópias, mantendo e sincronizando-as automaticamente em diferentes locais, de forma que todas as cópias existentes no ambiente trabalhem com as mesmas informações. Essa "redundância" útil melhorará consideravelmente a disponibilidade das informações, pois elas estarão mais próximas dos seus leitores. A replicação é desejável por pelo menos dois motivos: primeiro, pode significar melhor desempenho (aplicações podem operar sobre cópias locais em vez de se comunicarem com sites remotos); segundo, também pode significar melhor disponibilidade (um dado objeto replicado permanece disponível para processamento pelo menos para acesso enquanto houver no mínimo uma cópia disponível). (DATE, 2000, p. 570). De acordo com pesquisa realizada em várias empresas da região (ver Anexo A) a Replicação de Dados não é uma solução utilizada em larga escala, é usada a apenas como ferramenta auxiliar na melhoria do desempenho de algumas aplicações e em outros casos apenas como instrumento de backup.

11 1.2 Identificação do problema Qual maneira mais fácil e viável de replicar dados ou banco de dados, independentemente do volume, sem utilizar softwares desenvolvidos especificamente para esta finalidade ou recursos como Backup e Restore? Antes de responder a esta questão, é necessário saber o que é Replicação de Dados e como ela acontece. Existem duas maneiras de se replicarem dados: Síncrona e Assíncrona. Replicação Síncrona é um tipo de replicação em que toda a propagação desencadeada deve ser concluída antes que a transação em questão possa se completar, ou seja, todas as cópias publicadas passarão a ter conteúdos idênticos, dependendo exclusivamente de conexão permanente entre os sistemas. Replicação Assíncrona é realizada em um momento posterior ou em períodos de tempos específicos determinados pelo usuário, não necessariamente dentro do escopo da transação relevante. Esse tipo de replicação pode ser aplicado de três maneiras distintas, a saber: Replicação Total (foto replicação), Replicação Parcial (replicação de transação) e Replicação Mista (ambos os sentidos). Ambos os tipos de Replicação possuem vantagens e desvantagens, devendo a escolha do tipo obedecer a uma avaliação detalhada das necessidades, autonomia, latência, topologia, disponibilidades de recursos e finalidades a que se destinam. Desse modo, este estudo faz uma abordagem sobre a Replicação de dados, implementando e demonstrando a segurança, a facilidade e a confiabilidade deste recurso. 1.3 Objetivos do trabalho 1.3.1 Objetivo Geral Este trabalho tem por objetivo implementar um estudo da Replicação de Dados entre duas fontes distintas e separadas fisicamente.

12 1.3.2 Objetivos Específicos Através da Replicação será demonstrada uma nova opção para sincronização do BD, mostrando que a mesma poderá ser uma poderosa aliada para a administração de dados, sua publicação e sua distribuição. O principal desafio deste trabalho é manter a qualidade e a confiabilidade das atualizações entre BD, assegurando a consistência dos dados entre as diversas fontes envolvidas, mesmo estas estando distantes fisicamente. A integridade será verificada com a análise dos dados transferidos comparando as fontes envolvidas e será garantida pelo BD através das chaves primárias e estrangeiras existentes nas tabelas replicadas, uma vez que a Replicação será realizada sem alterações em suas estruturas básicas. Durante o processo será monitorado a transferência dos dados e o desempenho da Replicação, avaliando se a mesma está operando dentro das expectativas previamente sugeridas. Com isso, pretende-se demonstrar aos profissionais das áreas, a configuração, as funcionalidades e a utilização da Replicação de Dados, tornando este trabalho guia de referência para a Replicação de Dados. 1.4 Justificativa para a pesquisa A principal justificativa para a realização deste projeto é difundir a Replicação de Dados, pois a mesma não está seguindo a evolução constante da utilização de BD, seja por desconhecimento dos processos ou pelo fato de a mesma estar em uso apenas em setores específicos do mercado, em que a distribuição dos dados é usada apenas como ferramenta auxiliar na melhoria do desempenho das aplicações ou como instrumento de backup, conforme relatado pelas empresas pesquisadas (ver Anexo A). A Replicação é necessária quando se deseja armazenar dados redundantes, possibilitando assim o acesso aos dados em diversos locais físicos, através de equipamentos diferentes ou em softwares distribuídos em ambientes distintos. A Replicação possibilita, ainda, transferência e atualização dos dados entre diversas fontes.

13 Ao implementar a replicação, será possível avaliar sua viabilidade, fazer uma comparação dos resultados obtidos frente às soluções apresentadas, verificando impactos positivos usados para reduzir possíveis fatores negativos. Apesar das várias fontes consultadas, Silberschatz e Korth (1991), Date (2000), Elmasri e Navathe (2005), nenhuma delas apresenta um estudo abrangente sobre o assunto. Diante disto, este trabalho busca aprofundar a utilização da Replicação para armazenamento e alta disponibilidade de dados. Logo, este trabalho contribuirá para aumento de bibliografia sobre o assunto. Desta forma, ao tornar as informações mais concisas, homogêneas e de fácil entendimento, uma contribuição será dada aos profissionais da área e à comunidade acadêmica, justificando-se, assim, a realização deste trabalho. 1.5 Organização do Trabalho Este trabalho está organizado da seguinte maneira: o capítulo 1 apresenta todas as informações necessárias para o correto transcorrer desta pesquisa, ressaltando, de um modo geral, os objetivos e resultados desejados com este trabalho. O capítulo 2 descreve a teoria de Banco de Dados, Sistema Gerenciador de Banco de Dados, Metadados, Transações e todos os componentes necessários para a realização deste trabalho. O capítulo 3 mostra o conceito de Replicação, as vantagens e desvantagens de sua utilização e os Tipos de Replicação disponíveis no SQL Server: Instantânea, Transacional e Mista, que fazem parte deste trabalho. No capítulo 4 é analisada a utilização da Replicação Mista para a solução de um problema proposto que consiste em unificar várias informações de vários locais diferentes numa única base de dados. No capítulo 5 são apresentados os resultados obtidos, a conclusão, e as sugestões para trabalhos futuros sobre o tema.

14 2 FUNDAMENTOS DE BANCO DE DADOS (BD) 2.1 Introdução Para crescer no mercado empresarial, uma organização deve preocupar-se especialmente com o modo de organizar e acessar seus dados. A forma mais eficiente de gerenciamento de dados na atualidade é através de um BD estruturado e informatizado. Além de interligar todo trabalho da organização, reduz custos, elimina duplicação, permite uma previsão de crescimento da empresa e ajuda na elaboração de estratégias futuras. Na atualidade, o grande volume de informações contidas num BD informatizado está se tornando um fator altamente crítico para a manutenção dos dados, principalmente quando se trata de informações críticas ou sistemas baseados em tempo real. O acesso a estas informações é complicado, devido a uma série de fatores: excesso de informações armazenadas, chegando a alguns casos a conter Terabytes de dados; múltiplos servidores e múltiplos bancos de dados; diferentes fornecedores de softwares e diferentes arquiteturas de bancos de dados (Relacionais, Orientados a Objetos, Textuais, Geográficos, etc.); servidores separados geograficamente ou ligados através de link remoto e clientes desconectados ou conectados em determinados períodos de tempo. Neste trabalho será utilizado o Sistema Gerenciador de Banco de Dados (SGBD) da Microsoft SQL Server 2000 (SQL Server), pois apresenta uma estrutura simples, interativa e de fácil compreensão. A escolha do banco foi baseada no conjunto de ferramentas gráficas nativas e disponíveis no próprio SGBD, não sendo necessário em momento algum utilizar ferramentas ou recursos externos na elaboração deste trabalho. 2.2 Definição Segundo Elmasri e Navathe (2000, p. 4), Banco de Dados (BD) é uma coleção de dados relacionados entre si. Esta definição é muito genérica. Geralmente, um ponto de vista mais específico ou restrito é utilizado, pois são consideradas as seguintes propriedades implícitas: deve representar aspectos do

15 mundo real, em que mudanças neste ambiente são refletidas no BD; devem existir coerência e um significado inerente entre os dados contidos nesta coleção e devem conter dados que atendam a um propósito específico, de acordo com os interesses predefinidos pelo usuário do BD. 2.3 Metadados Metadados podem ser definidos como um catálogo de dados que contém as informações e estruturas de um BD primário. Por exemplo, os Metadados indicam quais tabelas existem num BD, quais atributos compõem uma determinada tabela e quais são as características destes atributos, tais como: formato, tamanho, máscara. Essas informações são atualizadas pelo próprio Sistema de Gerenciamento de Banco de Dados (SGBD) e auxilia na manipulação dos dados. A necessidade dos Metadados está em manter as documentações eficientes, claras e nítidas dos dados armazenados num BD. Sem isto, as localizações de dados necessários para as aplicações tornar-se-iam mais complicadas. Este catálogo contém definições da estrutura de cada arquivo, o tipo e o formato de armazenamento de cada item de dados e várias restrições ligadas a ele. É usado pelo SGBD e, ocasionalmente, por algum usuário do BD, para diversas necessidades e diferentes propósitos. 2.4 Sistema Gerenciador Banco de Dados (SGBD) De acordo com Elmasri e Navathe (2000, p. 5), Sistema Gerenciador de Banco de Dados (SGDB) é uma coleção de programas que habilitam os usuários a criar e manter um banco de dados. Os SGBD s são softwares de propósito geral, que facilita o processo de definição, construção e manipulação de BD. A principal atribuição de um sistema de gerenciamento de bancos de dados é armazenar as definições e descrições sobre a estrutura que forma o BD, incluindo os Metadados. condições: Um sistema de gerenciamento de BD deve satisfazer as seguintes

16 a) Auto Contenção: é uma propriedade que armazena toda a descrição dos dados, relacionamentos e formas de acesso. b) Independência dos Dados: visa manter a separação entre o catálogo de dados (Metadados) e o programa de acesso a dados. Esta propriedade permite a alteração da estrutura dos dados, independentemente de ser necessário ou não a alteração de algum programa. Toda vez que um programa SGDB acessar este catálogo corrigido, a nova estrutura do registro já estará disponível para uso. c) Abstração dos Dados: visa garantir uma visão totalmente abstrata do BD para o usuário, pouco importando a forma usada para guardar seus dados, mas que eles estejam sempre disponíveis. Esta propriedade se divide em três níveis: nível de visão de usuário, nível conceitual e nível físico. d) Visões: propriedade que permite que um mesmo dado seja acessado, de acordo com o interesse do usuário, sendo que as informações não necessárias são ocultas. Visões são apenas descrições de dados. O dado que existe de fato está apenas no nível físico. e) Transações: é uma unidade lógica de trabalho que visa manipular os dados. É coerente que bancos de dados garantam que suas transações contenham atomicidade, consistência, isolamento e durabilidade. f) Acesso Automático: permite que não acorra o travamento de uma informação, ou seja, o SGDB evita que um processo seja travado por outro e este outro processo seja travado pelo primeiro, evitando assim um dead-lock travamento mortal. De acordo com Elmasri e Navathe (2000, p. 11-14), os sistemas de gerenciamento de banco de dados apresentam as seguintes características operacionais elementares: a) Controle de Redundâncias: a informação é armazenada em um único local não existindo a duplicação desnecessária dos dados. b) Compartilhamento dos Dados: deve garantir a leitura de dados, gerenciando a concorrência de acessos. c) Controle de Acesso: cada usuário do BD pode ter seu acesso gerenciado independentemente de outro e, em alguns casos, um usuário poderá ter acesso de leitura para determinada informação, sem privilégio para alterá-la.

17 d) Interfaceamento: deverá dispor de ferramentas gráficas, em linguagem natural, sendo possível seu acesso via aplicação ou através de um gerenciador de conexão. e) Esquematização: deverá conter ferramentas que auxiliem na identificação dos relacionamentos entre os Metadados e entre os elementos contidos em sua estrutura. f) Controle de Integridade: deverá gerenciar o controle de acessos impedindo que uma aplicação ou uma instrução corrompa os dados que tenham dependências de relacionamento. g) Backup: deverá conter utilitário que seja capaz de criar cópias dos dados, mantendo-as em uma unidade de armazenamento. A cópia backup poderá ser usada para restaurar um BD corrompido ou danificado, exigindo em determinados casos o mínimo possível de intervenção do usuário. A figura 1 representa um exemplo simplificado de um sistema de BD, mostrando as relações entre os dados e Metadados e a forma como são acessadas estas informações, nela podemos ver claramente a separação de dados Metadados (definição dos dados) e os Dados armazenados (dados do usuário) e ainda a atuação do SGDB como gerenciador e facilitador de acesso aos dados pelos usuários e programadores.

18 Figura 1 Exemplo simplificado de um Sistema de Banco de Dados 2.5 Exemplo de Diagrama de Entidade e Relacionamento (DER) São representações gráficas do conteúdo e dos relacionamentos existentes entre uma ou mais tabelas contidas em um BD. O DER mostra uma visão mais organizada e estruturada e têm por finalidade facilitar a utilização do BD. Na figura 2 temos um exemplo simplificado de um DER extraído do Banco Pubs contido no SQL Server, o banco Pubs é um banco exemplo contido no SQL Server e é utilizado principalmente para testes da aplicação.

19 Figura 2 Exemplo Simplificado de DER 2.6 Exemplo de tabela utilizada A figura 3 mostra a estrutura e o conteúdo da tabela Stores do Banco Pubs do SQL Server, utilizada para demonstrar a Replicação de Dados. Fonte: Books On Line contido no SQL Server Figura 3 Conteúdo da Tabela Stores

20 2.7 Conceito de Transações Segundo Silberschatz e Korth (1991), Uma transação é uma ou mais operações de acesso a BD executados como uma unidade lógica e única de trabalho. Uma unidade lógica de trabalho deve exibir as quatro propriedades ACID (Atomicidade, Consistência, Isolamento, e Durabilidade), a saber: a) Atomicidade: Uma transação deve ser uma unidade atômica de trabalho e todas as ações são desempenhadas ou nenhumas delas são. b) Consistência: Quando completada, uma transação deve deixar todos dados em um estado consistente. Em um BD relacional, todas as regras devem ser aplicadas para que as modificações da transação mantenham a integridade de dados. c) Isolamento: Modificações feitas por transações devem ser isoladas das modificações feitas por quaisquer outras transações concorrentes. Uma transação vê os dados no estado em que estava antes que outra transação concorrente modifique o mesmo. d) Durabilidade: Depois de uma transação completada, seus efeitos devem estar permanentemente armazenados no sistema. As modificações devem persistir até mesmo se ocorrer um evento de falha no sistema. No SQL Server, para determinar os limites de uma transação, é necessário estabelecer explicitamente declarações de início e fim. Nesse caso, todas as operações que englobam: inserção, exclusão, alteração ou recuperação executadas entre duas declarações são consideradas parte da mesma transação. Uma transação poderá estar inserida noutra, sendo que para cada uma delas é garantida a atomicidade da mesma. Uma Transação pode também ser implícita quando se executa comandos de inclusão, alteração ou remoção avulsas, fora de uma transação explícita. O SQL Server trata este comando como uma transação, pois a atomicidade também é mantida para cada operação individual. explícita: Comandos do SQL Server usados para controle de transação a) Begin Transaction / Begin Distributed Transaction: marca o início explícito de uma transação local ou distribuída;

21 b) Commit Transaction: marca o fim explícito de uma transação e a permanência das modificações no BD, ou seja, valida todas as operações realizadas desde o início da transação; c) Rollback Transaction: marca o fim explícito de uma transação e o conseqüente abandono das modificações no BD, ou seja, todas as operações realizadas desde o início da transação são descartadas permanentemente. 2.8 Ferramenta de desenvolvimento Para demonstrar a replicação será utilizado SQL Server, pois apresenta ferramentas nativas para implementação e gerenciamento, não sendo necessário aquisição ou desenvolvimento de ferramentas específicas para a conclusão deste trabalho. O SQL Server fornece vários métodos para programar e administrar a Replicação de Dados, incluindo a organização gráfica dos objetos da Replicação e vários exemplos e diálogos usados para simplificar sua configuração e administração. O SQL Server utiliza em sua estrutura interfaces de programação Microsoft ActiveX, SQL-DMO, e Scripting de Transact-SQL, Windows Synchronization Manager e Active Directory. Estas ferramentas permitem modificar e monitorar as propriedades e as atividades da Replicação e habilitam a sincronização de dados, controle de publicações, organização e acesso às replicações. Os serviços mais importantes do SQL Server são: a) MSSQLServer: realiza o processamento dos seus dados, executando consultas e transações, sendo responsável por manter a integridade e a consistência dos dados. b) SQL Server Agent: é o serviço que permite trabalhar com agenda de tarefas automáticas, fazer configuração sobre providências a serem tomadas no caso de ocorrência de erros e prover comunicação entre os operadores do sistema via e-mail. Além desses serviços, o SQL Server Agent também participa do processo de Replicação dos Dados em um ambiente distribuído. c) Microsoft Distributed Transaction Coordinator (MS-DTC): é o serviço que gerencia a integridade transacional das operações executadas em sistemas

22 distribuídos, garantindo, assim, que todas as tarefas efetuadas sejam exatamente iguais para todos os servidores envolvidos no processo, além de manter a integridade e consistência nos dados. Quando o SQL Server é instalado, são configurados os Metadados que compõem as suas estruturas lógicas e de controle, Dentre esses Metadados, as estruturas mais importantes são: Master, Model, Tempdb, Msdb (fazem parte dos Metadados do sistema) e Distribution, que faz parte do BD do usuário. O Distribution será criado no servidor de distribuição somente quando for configurado o processo de Replicação, sendo utilizado para o armazenamento dos históricos das transações a serem replicadas.

23 3 REPLICAÇÃO DE DADOS 3.1 Introdução De acordo com Silberchatz e Korth (1991), Replicação é manutenção de diversas réplicas (cópias) de um mesmo dado em diferentes locais, mantendo relação entre as informações destas fontes. Para entender tal afirmação, é necessário conhecer os conceitos: Editor, Distribuidor, Assinante, Autonomia e Latência, essenciais para o sucesso da Replicação. 3.2 Problemas que Requerem Replicação A Replicação pode resolver uma variedade de problemas, a saber: a) Vários locais necessitam acessar a cópia de um mesmo dado. Esta situação é muito comum a usuários remotos e localizações distantes. b) Necessidade de melhorar o desempenho local. Indicado para unir BD que estão fisicamente separados; melhorar o tempo de resposta para busca e agregação de dados; distribuir processamento através servidores múltiplos; escalonar o acesso para leitura e dividir informações baseadas nas necessidades de cada uma das unidades de uma empresa. 3.3 Vantagens da Replicação Segundo Gomes, Santos e Rosário (2003), as vantagens da replicação são: aumento considerável da disponibilidade dos dados, já que os mesmos podem ser acessados em vários locais diferentes; aumento da confiabilidade, uma vez que os dados podem ser acessados mesmo que haja indisponibilidade de determinado local; redução do tráfego de rede em horários de pico, já que a replicação pode ser programada em horário com menor tráfego de dados, por exemplo, à noite; aumento do paralelismo, pois as informações podem ser acessadas no site mais próximo de onde a transação está sendo executada e desta forma minimizar o movimento de dados entre os diversos locais.

24 3.4 Desvantagens da Replicação Segundo Gomes, Santos e Rosário (2003), as desvantagens da replicação são: redundância de operação, pois é necessário um tempo adicional para operações de atualização das réplicas; aumento da propagação de atualização de dados, pois para assegurar a consistência das informações, toda atualização deve ser propagada a todos os locais que contém suas réplicas; espaço adicional para armazenamento e, conseqüentemente, um maior espaço em memória, discos e unidades de backup; aumento do custo de operação (apesar deste estudo não detalhar os custos da replicação) uma vez que existe maior complexidade no tratamento da Replicação e, em alguns casos, a aquisição de softwares licenciados será necessária. 3.5 Conceito Editor, Distribuidor e Assinante A Replicação pode ser representada por um modelo simbólico (conforme descrito na figura 4), em que o editor publica, o distribuidor entrega e o assinante lê. O Editor envia a informação, um exemplo hipotético seria a revista. Em termos práticos: mantém a fonte de dados; faz a publicação dos dados a partir das fontes de dados disponíveis; detecta as mudanças realizadas nos dados e envia as mudanças para os assinantes. O Distribuidor entrega a informação, ou seja, distribui a revista, sendo responsável por conter o BD de distribuição; armazenar Metadados, dados históricos e transações; prover suporte para um ou mais assinantes. O Assinante usa a informação, ou seja, lê a revista, recebe as mudanças das publicações e mantém uma cópia do dado.