SYBASE SGBD-D TRABALHO DE BANCO DE DADOS III THIAGO LIMA ROBERTO SANTOS Introdução Características particulares do SGBD-D SYBASE Funcionamento das operações de um SGBDD. Características particulares Memória distribuída Cada processador tem exclusivo acesso a sua memória e a(s) sua(s) unidade(s) de disco. Vantagens: O baixo custo aliado a uma alta expansibilidade e disponibilidade. Crescimento incremental,consegue suportar um número enorme de processadores. Suporta até 128 nós. Tópicos de discussão Projeto de BD-Distribuído Controle de Ambiente Distribuído Transparência Processamento Distribuído de Consulta Processamento Distribuído de Transação Suporte a acesso a dados de SGBD Heterogêneo Projeto de BD-Distribuído Suporte a fragmentação A aplicação onde muitos sites alteram o mesmo dado no mesmo instante .Sybase recomenda que cada fragmento tenha um único dono. Bds que podem ter primario e replicado, tenha certeza que tabelas com a mesma estrutura existe em ambos , primary e replicado. Criar replicação da definição em qualquer site onde tem o dado primario, se for servidor remoto. Criar assinaturas para cada site de replicação de definições do outro site . Projeto de BD-Distribuído Suporte a fragmentação Horizontal Por função de hashing ou por faixa de valores . Projeto de BD-Distribuído Replicação O dado que será replicado pelo SQL Remote é arrumado em publicações.Cada bd que quiser compartilhar informação da publicação tem que assinar a publicação. A publicação inclui dados da tabelas . Cada contribuição de uma tabela é chamada de Artigo.Cada artigo consiste em tabelas. Projeto de BD-Distribuído Replicação Replication Server Manager (RSM) Conecta os Servidores Remotos com o Replication Server plug-in .Replica o dado em múltiplos bancos de dados assincronamente na rede ,enquanto garante a integridade e consistência dos dados. Replication Command Language (RCL) , oferece grande flexibilidade para replicação customizada. Projeto de BD-Distribuído Replicação Replication Suporta Server Manager (RSM) servidores de dados heterogêneo.. Replicação de tabelas no servidor local oferece ao cliente as vantagens do acesso local: melhor performance e melhor acesso ao dado. Projeto de BD-Distribuído Replicação Existem 3 tipos de replicação: Snapshot Transacional Merge Projeto de BD-Distribuído Replicação Snapshot Fotografia do banco de dados , a qual é replicada para seus assinantes. A copia é completa ,em vez de apenas alterações efetuadas. É ideal quando não existe uma atualização constante . Projeto de BD-Distribuído Replicação Transacional Permite a replicação de tabelas e stored procedures. A copia é completa ,em vez de apenas alterações efetuadas. É ideal quando não existe uma atualização constante . Projeto de BD-Distribuído Replicação Merge Replicação sincronizada. As alterações feitas no bd de destino, atualizam o bd de origem e vice versa . É ideal quando não existe uma atualização constante . Para a publicação de um dado é necessário a criação de uma publicação por intermedio da seleção de tabelas e stored procedures. Controle do Ambiente Distribuído Gerenciamento de view Controle de Segurança Controle de Integração Controle do Ambiente Distribuído Gerênciamento de View View – É uma tabela virtual a qual é criada apartir de tabelas do BD através de query. Essa tabela virtual não é armazenada como uma tabela e sim como um objeto. Assim como no Sql Server , o Sybase Sql Server tem algumas caractrística em comum. A query que forma a View pode implicar em uma consulta distribuída. No caso de uma consulta distribuída o custo pode ser alto. As Views não refletem as atualizações das tabelas da base ou seja ela tem uma visão estática. Controle do Ambiente Distribuído Controle de Segurança Proteção do dado Evita que o conteúdo fisico dos dados possa ser alterado por usuários. Controle de Autorização Somente usuários autorizados podem realizar operações sobre o banco de dados , ou seja existe uma identificação de tipos de acessos e objetos e autenticação de tipos de acesso Controle do Ambiente Distribuído Controle de Integridade Mantém a consistência do banco de dados garantindo que seja atendido um conjunto de restrições definidas sobre o banco de dados. Transparência Transparência de Distribuição Transparência de Replicação Transparência de Fragmentação Transparência Transparência de Distribuição As aplicações não sabem que os dados estão espalhados, elas processam suas consultas como se fosem locais. O programador monta suas consultas , sem precisar saber onde reside fisicamente o dado ,ele requisita os dados e o Sgbd resolve a query. Se o servidor Local não puder responder completamente a consulta , ele resolve a parte que lhe é referente e repassa as subqueries para outros servidores.A partir desse momento ele e chamado de coordenador. Transparência Transparência de Replicação Cada copia é fisicamente separada do banco. Todas as copias remotas estão consistente com o banco consolidado. Cada servidor remoto que requisita a replicação é considerado um usuário remoto do bd consolidado. Aplicações Clientes não precisa saber se esta usando bd remoto ou bd consolidado.Para aplicação não existe diferença. Transparência Transparência de Replicação O sincronismo entre os bds pode ser manual , mas o database extraction utility, automatiza o processo. A publicação e a assinatura são criadas automaticamente no bd remoto, quando vc usa Remote database extraction utility para criar o bd remoto. Sql remote replication é baseado em log de transação . É impossivel replicar todas as alterações, log-base replication tem vantagens sobre outros sistemas de replicação. Transparência Transparência de Fragmentação Apesar dos dados estarem fragmentados em servidores diferentes , isso se torna transparente para o cliente , pois o sgbd retorna a coleção de dados da query para o cliente . O sgbdd busca os fragmentos distribuidos pelos servidores e a consulta executa como se fosse em uma tabela única. Processamento Processamento Distribuído de Consulta O processamento distribuído de consulta é realizado em 4 etapas : Esquema global (Decomposição da consulta) Esquema de Fragmentos (Localização de dados) Estáticas s/ fragmentos Esquemas Globais ( Otimização Global ) Processamento Processamento Distribuído de Consulta Esquema È global (Decomposição da consulta) realizado uma consulta em SQL sobre tabelas globais, e verifica se a sintática e semantica está correta e por fim transforma esta consulta SQL em algebra relacional. Processamento Processamento Distribuído de Consulta Esquema de Fragmentos (Localização de dados) Identifica que sites estão envolvidos na consulta e transforma a consulta global em consultas sobre os sites envolvidos. Processamento Processamento Distribuído de Consulta Estáticas Tentar s/ fragmentos encontrar a melhor estratégia de execução para a consulta. Processamento Processamento Distribuído de Consulta Esquemas È Globais ( Otimização Global ) realizada a consulta local no site envolvido. Processamento Processamento Distribuído de Consulta –Tipos de Otimizadores Pesquisa Exaustiva • Pesquisa todas as soluções possíveis de consulta e utiliza a que tem menor custo . Processsamento Distribuído de transação Suporte ao processamento distribuído de transação Uma transação distribuída é aquela que envolve um ou mais servidores. Processamento de transações tem que garantir : atomicidade : execução correta na presença de várias acessos de usuários . Gerênciamento correto de réplica. Processsamento Distribuído de transação Suporte ao processamento distribuído de Sybase Enterprise Application Server Fica entre aplicação cliente e os servidores Acessa vários servidores Armazena aplicações lógicas na forma de componentes para rodar aplicações clientes . Esses componentes podem ser : Power Builder Componentes, Java Beans ou COM componentes . Processsamento Distribuído de transação Suporte ao processamento distribuído de Sybase Enterprise Application Server Utiliza MS Distributed Transaction Coordinator(DTC) Transações OLE Two-phase-commit Processsamento Distribuído de transação Suporte ao processamento distribuído de Sybase Adaptive Server Anywhere Pode ser usado com o Sybase Enterprise Application Server para transações distribuidas. Pode usar diretamente DTC nas aplicações. Suporta ODBC e OLE DB Processsamento Distribuído de transação Suporte ao processamento distribuído de Sybase Two-phase-commit Gerencia transações distribuídas Se um servidor não responder ou responder não, toda a transação é desfeita . Processsamento Distribuído de transação Sybase ODBC ASE MS Sql Server OBDC driver para XML Oracle driver para Oracle 7.x e 9.x Sybase ASE driver Informixdriver para Informix 7.X e 9.X Processsamento Distribuído de transação Sybase ODBC ASE Sistemas Operacionais Windows 95,98,NT,3.51e 4.0 HPUX 10.10,10.20,11.0 AIX 4.2,4.3 Solaris 2.5,2.6 Processsamento Distribuído de transação Sybase ODBC ASE Suporta Tipos XML de arquivos XML IE5 data Islands ADO persisted XML XML com Schemas Processsamento Distribuído de transação Sybase ODBC ASE Utiliza Tabular Data Stream(TDS) protocol Performance Não e troughput necessita do DBMS middlware instalado no cliente , as bibliotecas necessárias para conectar BDs são instaladas com o ODBC driver Processsamento Distribuído de transação Recovery Recovery Fault Isolation (RFI) recovery parcial isola a corrupção encontrada durante o recovery nas paginas corrompidas restaura a integridade do bd isolando e reparando a corrupção pagina por pagina (consequentemente objeto por objeto) fim