PUC - BD3 IBM DB2 Sistemas de Banco de Dados Distribuídos Carlos Henrique Rafael Siqueira
Introdução Primeiro SGBD relacional multiplataforma, multimídia e pronto para Web. Robusto e flexível. Escalonamento inigualável. Mais de 60 milhões de usuários e 300 mil empresas.
Escalabilidade: - DB2 roda em hardware IBM, SUN e HP, com sistemas Unix, Windows, Linux, NUMA-Q e OS/2. - Suporte de conectividade com sistemas de handheld Windows CE, Linux e Palm OS.
Projeto de BD-Distribuído Arquitetura DRDA - Distributed Relational Database Architecture (Arquitetura de Banco-de-dados Relacional Distribuído). Tabelas Grandes – 64 bilhões de bytes. Recuperação integrada.
Projeto de BD-Distribuído – Fragmentação Suporte à fragmentação somente horizontal - Hash partitioning (balanceamento) e Partition maps (paralelismo). Usa o termo “partição”.
Projeto de BD-Distribuído - Partition maps
Projeto de BD-Distribuído – Mecanismos de Replicação Ferramenta: DataPropagator Interface de programação: asnCapture e asnApply Componentes Administration Interfaces Change-Capture Apply Program
Projeto de BD-Distribuído – Administration Interfaces São usadas para criar tabelas de controle que armazenam o critério de replicação. As tabelas de controle são usadas para que os componentes de replicação possam se comunicar e também para gerenciar as tarefas de replicação. Atributos definidos ao criar um subscription set: A name for the subscription set The source server and the target server The Apply qualifier When to start replication, how often to replicate, and whether to use interval timing, event timing, or both Data blocking, if you expect large volumes of changes Atributos definidos ao criar um subscription set member: The source table or view and a target table or view The structure of the target table or view The columns that you want replicated (subselect columns) The rows that you want replicated (SQL predicates) LINK: http://www-3.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/document.d2w/report?fn=db2v7e0overview.htm#HDRDESAPLOV
Projeto de BD-Distribuído – Change-capture mechanisms Capture program Captura as modificações pelo log. Armazena temporariamente em tabelas. Roda continuamente (eventuais paradas). Capture triggers
Projeto de BD-Distribuído – Apply Program Inicialmente acessa diretamente a tabela de origem para popular a tabela de destino (full-refresh copy). Copia as mudanças das tabelas temporárias. Associado a um Control Server Verificam as atualizações nas Control Tables. Atributos definidos ao criar um subscription set: A name for the subscription set The source server and the target server The Apply qualifier When to start replication, how often to replicate, and whether to use interval timing, event timing, or both Data blocking, if you expect large volumes of changes Atributos definidos ao criar um subscription set member: The source table or view and a target table or view The structure of the target table or view The columns that you want replicated (subselect columns) The rows that you want replicated (SQL predicates) LINK: http://www-3.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/document.d2w/report?fn=db2v7e0overview.htm#HDRDESAPLOV
Projeto de BD-Distribuído – Schedule for Apply Program Synchronous replication Asynchronous replication Interval timing Event timing On-demand timing
Projeto de BD-Distribuído – Servidores Lógicos Todo componente de replicação reside em um servidor lógico. Existem 3 tipos: Source server Change-capture mechanisms Source tables Control tables Target server Target tables Control server
Projeto de BD-Distribuído – Configurações de Replicação Data distribution Data consolidation Update anywhere Occasionally connected
Data distribution
Data consolidation
Update Anywhere
Occasionally connected
Projeto de BD-Distribuído – Resolução de conflitos A resolução padrão de conflito considera que se ocorre um conflito entre a origem e o destino, a origem ganha. É aconselhado modelar a aplicação de forma que não ocorram conflitos. Para isso é sugerido que se utilize o update anywhere nas seguintes condições: Fragmentação por chave Fragmentação por tempo Você tem a opção de ignorar os conflitos e rejeitar qualquer alteração conflitante. Levels of conflict detection Conflict detection pertains only to update-anywhere replication configurations. It is the process of detecting if the same row was updated in the source and target tables during the same replication cycle. With standard conflict detection, the Apply program searches for conflicts in rows that are already captured in the CD tables. With enhanced conflict detection, the Apply program locks all of the target tables, thus ensuring that all changes are considered when checking for conflicts. Row-replica conflict detection applies only to tables that are maintained by DataPropagator for Microsoft Jet; where conflicts are detected on a row-by-row basis instead of a transaction-by-transaction basis. LINK: http://www-3.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/document.d2w/report?fn=db2v7e0overview.htm#HDRDESAPLOV
Update Anywhere sem risco de conflitos
Controle do ambiente distribuído Gerenciamento de View. Controle de Segurança. Controle de Integridade.
Controle do ambiente distribuído – Controle de segurança Pode ser especificado o tipo de autenticação. SERVER O login e o password são validados no servidor do DDCS. CLIENT O login e o password são validados no cliente do DDCS. DCS O login e o password são validados no “host system”. LINK: http://www.redbooks.ibm.com/redbooks/GG244155.html [Capítulo 6] + Snapshot de tabelas de permissões e acessos.
Transparência Transparência de distribuição Transparência de replicação Transparência de fragmentação
Controle do ambiente distribuído – Transparência de distribuição Utiliza o padrão DRDA (Distributed Relational Database Architecture) Esse DDCS possui a vantagem da interface gráfica. LINK: http://www-3.ibm.com/software/data/datajoiner/booksv2/djxg7m19.htm OUTRO LINK: http://www.redbooks.ibm.com/redbooks/GG244155.html
DB2 federated database system Baseado em “apelidos” Bancos Suportados DB2 Universal Database DB2 for OS/390 Version 5 with PTF PQ07537 DB2 for MVS V2R3 with APAR PN43135, UN75958, UN54600, and UN56735 DB2 for MVS V3R1 with APAR PN70612, UN42626, UN54601, and UN73393 DB2 for MVS V4R1 with APAR PN70612 SQL/DS DB2 for Common Servers V2 DB2 Parallel Edition Oracle V7.0.16 or later Any OLE DB provider
Processamento Distribuído de Consulta O otimizador de consultas do DB2 conhece características do ambiente de hardware, do dado, tabelas, particionamento. Além dos processos, o intervalo de tempo entre geração de estatísticas no DB2 é de 30 minutos. RUNSTAT manual.
Processamento Distribuído de Consulta - O BD2 trabalha com planos de acesso estáticos e dinâmicos. - Paralelismo - Suporta níveis múltiplos de consultas em paralelo.
Processamento Distribuído de Consulta - Custo medido em “timeron”.
Processamento Distribuído de Consulta - Visual Explain - Explain
Processamento Distribuído de Transação - Transaction logging centralizado. - Transaction Manager e TP Monitor distribuído. - Utiliza two-phase commit.
Suporte replicação e acesso a dados de SGBD Heterogêneo - DataPropagator. - DataJoiner. Replicação Dados
FIM