Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados Banco de Dados Distribuídos BDD PROF. LUCIANO F.FLORES Banco de Dados Banco de Dados Distribuídos BDD EMENTA: INTRODUÇÃO AOS CONCEITOS DE DISTRIBUIÇÃO GERÊNCIA DE BASES DE DADOS; ASPECTOS DE ARQUITETURAS DE SISTEMAS DE BASES DE DADOS DISTRIBUÍDAS; APRESENTAÇÃO DE TÉCNICAS ENVOLVIDAS NO CARACTERÍSTICAS DA GERÊNCIA DE TRANSAÇÕES SISTEMAS DE BANCO DE DADOS DISTRIBUÍDOS DADOS DISTRIBUÍDOS. CARACTERÍSTICAS DE BANCO DE DADOS; ALGORITMOS DE PROCESSAMENTO PARALELO AVALIAÇÃO DE DESEMPENHO; ANÁLISE DOS PRINCIPAIS SISTEMAS DE BANCO DE DISTRIBUIÇÃO NO CONTEXTO DAS TECNOLOGIAS DE BANCO DE DADOS DISTRIBUÍDOS. PROJETO DE NO PROCESSAMENTO DISTRIBUÍDO DE CONSULTAS; TRANSAÇÕES. TENDÊNCIAS ATUAIS ENFOCANDO OS DISTRIBUÍDOS ORIENTADOS A OBJETOS E OS SERVIDORES DE PROCESSAMENTO PARALELO EM SISTEMAS DE DE CONSULTAS; DE DADOS COM PROCESSAMENTO PARALELO. OBJETIVOS: • A PRESENTAR AS PRINCIPAIS METODOLOGIAS DE PROJETOS DE BANCO DE DADOS DISTRIBUÍDOS • CONHECER OS PROCEDIMENTOS PARA UM DISTRIBUÍDOS E PARALELOS.DISTRIBUÍDOS E PARALELOS. • A PRESENTAR OS MECANISMOS PARA A IMPLANTAÇÃO • REFLETIR SOBRE A GERÊNCIA, MANUTENÇÃO DE • E LABORAR ALGUMAS VARIEDADES DE BANCO VÁRIOS SGBDS. METODOLOGIAS VOLTADAS PARA A ÁREA DE DESENVOLVIMENTO DISTRIBUÍDOS. ENTENDIMENTO ENTRE OS BANCOS DE DADOS IMPLANTAÇÃO DE BANCO DE DADOS DISTRIBUÍDOS. DE BANCO DE DADOS DISTRIBUÍDOS. BANCO DE DADOS DIFERENTES GERENCIADOS POR CONCEITUAL: SISTEMA DE ARQUIVOS INICIALMENTE NO MODELO DE PROCESSAMENTO DE DADOS, CADA APLICATIVO DEFINIA E MANTINHA SEUS PRÓPRIOS DADOS. INICIALMENTE NO MODELO DE PROCESSAMENTO DE DADOS, CADA APLICATIVO DEFINIA E CONCEITUAL: BANCO DE DADOS JÁ COM O ADVENTO DOS BANCO DE DADOS, ADMINISTRADOS DE FORMA CENTRALIZADA, COMO ESSA NOVA ORIENTAÇÃO RESULTA EM INDEPENDÊNCIA PROGRAMAS FICAM IMUNES A MUDANÇASPROGRAMAS FICAM IMUNES A MUDANÇAS DADOS.. DADOS, OS DADOS SÃO AGORA DEFINIDOS E COMO VOCÊS PODEM VER FIGURA. INDEPENDÊNCIA DE DADOS, POR MEIO DA QUAL OS MUDANÇAS NA ORGANIZAÇÃO LÓGICA OU FÍSICA DOSMUDANÇAS NA ORGANIZAÇÃO LÓGICA OU FÍSICA DOS ARQUITETURA DE UM SGBD – SISTEMA DE GERENCIAMENTO DE BANCO DADOS MODELAGEM DE DADOS UM MODELO DE DADOS É USADO PARA DESCREVER BANCO DE DADOS. OS RELACIONAMENTOS, CONHECIDOS COMO ESSA ESTRUTURA OU NÍVEL ALTO NÍVEL - PODEMOS CHAMAR DE MODELO ENTIDADE-RELACIONAMENTO, O SEU PRINCIPAL QUE DEIXA O MAIS PRÓXIMO POSSÍVEL DA VISÃO BAIXO NÍVEL - CONHECIDO COMO MODELO DE MAS DETALHADA DO MODO COMO OS DADOS SISTEMA DE GERENCIAMENTO DE BANCO DADOS DESCREVER A ESTRUTURA LÓGICA E FÍSICA DE UM RELACIONAMENTOS, TIPOS DE DADOS E RESTRIÇÕES SÃO NÍVEL, SE DIVIDINDO EM 2 TIPOS: MODELO DE DADOS CONCEITUAL OU MODELO PRINCIPAL CONCEITO É UMA PROJEÇÃO DOS DADOS VISÃO QUE O USUÁRIO TEM DOS DADOS. DE DADOS FÍSICO, É O QUE FORNECE UMA VISÃO DADOS ESTÃO ARMAZENADOS NO COMPUTADOR. ARQUITETURA DE UM SGBD – SISTEMA DE GERENCIAMENTO DE BANCO DADOSSISTEMA DE GERENCIAMENTO DE BANCO DADOS CLASSIFICAÇÃO DOS SGBDs � USUÁRIOS: MONOUSUÁRIOS, SÃO MINICOMPUTADORES E MÁQUINAS DE GRANDE � LOCALIZAÇÃO: POSSUEM 2 ESTADOS� LOCALIZAÇÃO: POSSUEM 2 ESTADOS LOCALIZADO TODOS OS DADOS ENCONTRAM DISTRIBUÍDO OS DADOS ESTARÃO EM VÁRIAS � AMBIENTE: POSSUI 2 TIPOS, OS HOMOGÊNEO ÚNICO SGBD E O HETEROGÊNEO QUE SGBDS. UM EXEMPLO É TER UM SISTEMA RODANDO USADOS EM ESTAÇÕES DE TRABALHO, GRANDE PORTE. ESTADOS: LOCALIZADO E DISTRIBUÍDO. QUANDO ÉESTADOS: LOCALIZADO E DISTRIBUÍDO. QUANDO É ENCONTRAM-SE EM UM ÚNICO DISCO, SE FOR VÁRIAS MÁQUINAS. HOMOGÊNEO QUE É O AMBIENTE FORMADO POR UM QUE É O AMBIENTE COMPOSTO POR DIFERENTES RODANDO 2 TIPOS DE BANCO DE DADOS. CLASSIFICAÇÃO DOS SGBDs CLASSIFICAÇÃO DOS SGBDs Exemplos de SGBDs (SUGESTÃO – TRABALHO) IBM Informix PostgreSQL Firebird HSQLDB DB2DB2 mSQL MySQL Oracle SQL-Server TinySQL ZODB JADE Sybase Microsoft Access (Dúvidas nesta concepção) Microsoft Visual Foxpro TRABALHO) (Dúvidas nesta concepção) CLASSIFICAÇÃO DOS SGBDs (SUGESTÃO – TRABALHO) - IDENTIFICAR COMO FUNCIONA CADA SGBD; - APRESENTAR COMO TRATAM A DISTRIBUIÇÃO DOS DADOS (EM OUTROS BANCOS) - VERIFICAR COMO TRATAM A TRANSPARENCIA DESTAS DISTRIBUIÇÕES - ESCALABILIDADE- ESCALABILIDADE - REPLICAÇÃO - BACKUP - USO DE BANCOS HETEROGÊNEOS DENTRO DA ESTRUTURA DO SGBD. IDENTIFICAR COMO FUNCIONA CADA SGBD; APRESENTAR COMO TRATAM A DISTRIBUIÇÃO DOS DADOS (EM OUTROS BANCOS) VERIFICAR COMO TRATAM A TRANSPARENCIA DESTAS DISTRIBUIÇÕES USO DE BANCOS HETEROGÊNEOS DENTRO DA ESTRUTURA DO SGBD. CONTROLE DE REDUNDÂNCIA •NA ABORDAGEM USANDO BANCO DE DADOS, UMA ENTIDADE(POR EXEMPLO ALUNO, FUNCIONÁRIOS,ETC) MESMO REPOSITÓRIO. ELIMINAÇÃO DE ESFORÇOS: ATUALIZAÇÕES DADOS: ATUALIZAÇÕES SÃO REALIZADAS EM CONSISTÊNCIA DOS DADOS: ATUALIZAÇÕES ESPAÇO PARA ARMAZENAMENTO: PROBLEMA •ENTRETANTO, NA PRÁTICA, ALGUMAS VEZES CONTROLADA, PARA MELHORAR A PERFORMANCE UMA CONSULTA QUE É MUITO REALIZADA E TABELAS. TRANSPORTAR OS DADOS DE OUTRAS TABELAS PESQUISA PARA A TABELA QUE CONTÉM MAIS DADOS, SISTEMAS QUE PRECISAM DOS DADOS DE FUNCIONÁRIOS,ETC) SÃO INTEGRADOS E UTILIZAM ATUALIZAÇÕES FEITAS UMA ÚNICA VEZ CONSISTÊNCIA DO EM UM ÚNICO LOCAL ATUALIZAÇÕES SÃO REALIZADAS EM UM ÚNICO LOCAL PROBLEMA SÉRIO PARA GRANDES BANCOS. VEZES É NECESSÁRIO O USO DE REDUNDÂNCIA PERFORMANCE DE ALGUNS PROCESSOS. E UM BANCO DE DADOS E QUE UTILIZA VÁRIAS TABELAS QUE POSSUEM UM CUSTO ALTO DE MAIS DADOS. PROCESSAMENTO DE TRANSAÇÕES •TRANSAÇÃO: É UM PROCESSO QUE INCLUI DADOS, COMO LEITURA E GRAVAÇÃO DE REGISTROS ISOLAMENTO: GARANTE QUE CADA TRANSAÇÃO ISOLADA DE OUTRAS TRANSAÇÕES ATOMICIDADE: GARANTE QUE TODAS AS REALIZADAS OU NENHUMA DELAS SEJAREALIZADAS OU NENHUMA DELAS SEJA EXEMPLO CLÁSSICO : TRANSFERÊNCIA BANCÁRIA •O SGBD DEVE PERMITIR QUE TRANSAÇÕES CORRETAMENTE INCLUI UM OU MAIS ACESSOS NO BANCO DE REGISTROS TRANSAÇÃO POSSA SER EFETUADA DE FORMA OPERAÇÕES DA TRANSAÇÃO SEJAM BANCÁRIA .CRÉDITO DA CONTA DESTINO TRANSAÇÕES CONCORRENTES OPEREM GARANTIA DE BACKUP E RESTAURAÇÃO •FALHA: OCORRE NO NÍVEL MAIS BAIXO DO UMA FONTE QUEIMAR UMA LINHA DE CÓDIGO ERRADA •ERRO: UMA FALHA PODE GERAR UM ERRO FALHA NO UNIVERSO DA INFORMAÇÃO (DADOS) POR CONSEQÜÊNCIA DE UMA FALHA UM •DEFEITO: O DEFEITO É O QUE É PERCEBIDO UM ERRO NO UNIVERSO DO USUÁRIO. O SISTEMA JÁ ESTA COM ERRO E O DADO DO HARDWARE OU SOFTWARE. ERRO. UM ERRO É AREPRESENTAÇÃO DA (DADOS). UM DADO FOI CORROMPIDO PELO USUÁRIO, É A REPRESENTAÇÃO DE DADO JÁ ESTA CORROMPIDO. COMPUTAÇÃO DISTRIBUÍDA � UM GRUPO DE ELEMENTOS AUTÔNOMOS DE PROCESSAMENTO (NÃO NECESSARIAMENTE HOMOGÊNEOS) QUE ESTÃO INTERCONECTADOS POR UMA REDE DE COMPUTADORES E QUE COOPERAM NA REALIZAÇÃO DE TAREFAS A ELES ATRIBUÍDAS UM GRUPO DE ELEMENTOS AUTÔNOMOS DE PROCESSAMENTO (NÃO NECESSARIAMENTE HOMOGÊNEOS) QUE ESTÃO INTERCONECTADOS POR UMA REDE DE COMPUTADORES E QUE COOPERAM NA REALIZAÇÃO DE TAREFAS A ELES ATRIBUÍDAS O QUE ESTÁ DISTRIBUÍDO ? � A PERGUNTA FUNDAMENTAL QUE PRECISA SER FEITA É: O QUE ESTÁ SENDO DISTRIBUÍDO? � LÓGICA DE PROCESSAMENTO? � FUNÇÕES? ONDE CADA PARTE TEM UMA FUNÇÃO ESPECIFICA?� FUNÇÕES? ONDE CADA PARTE TEM UMA FUNÇÃO ESPECIFICA? � DADOS? � CONTROLE? � DO PONTO DE VISTA DE SISTEMAS DE BANCO DE DADOS DISTRIBUÍDOS, ESSES MODOS DE DISTRIBUIÇÃO SÃO TODOS NECESSÁRIOS E IMPORTANTES. A PERGUNTA FUNDAMENTAL QUE PRECISA SER FEITA É: O QUE ESTÁ SENDO DISTRIBUÍDO? FUNÇÕES? ONDE CADA PARTE TEM UMA FUNÇÃO ESPECIFICA?FUNÇÕES? ONDE CADA PARTE TEM UMA FUNÇÃO ESPECIFICA? DO PONTO DE VISTA DE SISTEMAS DE BANCO DE DADOS DISTRIBUÍDOS, ESSES MODOS DE DISTRIBUIÇÃO SÃO TODOS NECESSÁRIOS E IMPORTANTES. O QUE É UM SBDD? � BASE DE DADOS DISTRIBUÍDA - BDD � É UMA COLEÇÃO DE DIVERSAS BASES DE DADOS, INTERLIGADASLOGICAMENTE ATRAVÉS DE UMA REDE DE COMPUTADORES SISTEMA DE GERÊNCIA DE BASE DE DADOS DISTRIBUÍDAS � SISTEMA DE GERÊNCIA DE BASE DE DADOS DISTRIBUÍDAS � É O SISTEMA DE SOFTWARE QUE POSSIBILITA A GERÊNCIA DA BASE DE DADOS DISTRIBUÍDA E TORNA A DISTRIBUIÇÃO TRANSPARENTE PARA O USUÁRIO � SISTEMA DE BANCO DE DADOS DISTRIBUÍDAS � É A COMBINAÇÃO DAS BASES COM O SISTEMA É UMA COLEÇÃO DE DIVERSAS BASES DE DADOS, INTERLIGADAS LOGICAMENTE ATRAVÉS DE UMA REDE DE COMPUTADORES SISTEMA DE GERÊNCIA DE BASE DE DADOS DISTRIBUÍDAS - SGBDDSISTEMA DE GERÊNCIA DE BASE DE DADOS DISTRIBUÍDAS - SGBDD É O SISTEMA DE SOFTWARE QUE POSSIBILITA A GERÊNCIA DA BASE DE DADOS DISTRIBUÍDA E TORNA A DISTRIBUIÇÃO TRANSPARENTE PARA O USUÁRIO SISTEMA DE BANCO DE DADOS DISTRIBUÍDAS - SBDD É A COMBINAÇÃO DAS BASES COM O SISTEMA O QUE NÃO É UM SBDD? � Sistema de Banco de Dados que reside em um dos nós da rede de computadores Sistema de Banco de Dados que reside em um dos nós da rede de INTRODUÇÃO OS BANCOS DE DADOS DISTRIBUÍDOS TRAZEM AS O DOMÍNIO DO GERENCIAMENTO DE BANCO DE CONSISTE EM VÁRIOS ELEMENTOS DE PROCESSAMENTO, QUE SÃO INTERCONECTADOS POR UMA REDE DE CERTAS TAREFAS. COMO UMA META GENÉRICA, DIVIDEM UM PROBLEMA GRANDE E INTRATÁVEL EM EFICIENTE E COORDENADA. PODEMOS DEFINIR UM BANCO DE DADOS DISTRIBUÍDOPODEMOS DEFINIR UM BANCO DE DADOS DISTRIBUÍDO BANCOS DE DADOS LOGICAMENTE INTERRELACIONADOS COMPUTADORES, E UM SISTEMA DE GERENCIAMENTO COMO UM SISTEMA DE SOFTWARE QUE GERENCIA TORNA A DISTRIBUIÇÃO TRANSPARENTE PARA O USUÁRIO UMA COLEÇÃO DE ARQUIVOS ARMAZENADOS EM DE INTER-RELACIONAMENTOS ENTRE ELES VIA HIPERLINKS NA INTERNET, COM OS ARQUIVOS WEB. AS FUNÇÕES COMUNS DE GERENCIAMENTO DE BANCO UNIFORME DE CONSULTAS E O PROCESSAMENTO ESSE CENÁRIO. PORÉM, A TECNOLOGIA ESTÁ SE MODIFICANDO DE DADOS DISTRIBUÍDOS NO WORLD WIDE WEB (WWW AS VANTAGENS DA COMPUTAÇÃO DISTRIBUÍDA PARA DADOS. UM SISTEMA DE COMPUTAÇÃO DISTRIBUÍDA PROCESSAMENTO, NÃO NECESSARIAMENTE HOMOGÊNEOS, DE COMPUTADOR E COOPERAM NA EXECUÇÃO DE GENÉRICA, OS SISTEMAS DE COMPUTAÇÃO DISTRIBUÍDOS EM PARTES MENORES E OS RESOLVEM DE MANEIRA DISTRIBUÍDO (BDD) COMO UMA COLEÇÃO DE MÚLTIPLOSDISTRIBUÍDO (BDD) COMO UMA COLEÇÃO DE MÚLTIPLOS INTERRELACIONADOS DISTRIBUÍDOS POR UMA REDE DE GERENCIAMENTO DE BANCO DE DADOS DISTRIBUÍDOS (SGBD) GERENCIA UM BANCO DE DADOS DISTRIBUÍDO ENQUANTO USUÁRIO. EM NÓS DIFERENTES DE UMA REDE E A MANUTENÇÃO HIPERLINKS SE TORNOU UMA CONFIGURAÇÃO COMUM BANCO DE DADOS, INCLUINDO O PROCESSAMENTO PROCESSAMENTO DE TRANSAÇÕES, NÃO SE APLICAM, CONTUDO, A MODIFICANDO EM UMA DIREÇÃO TAL QUE BANCOS (WWW). COMPOSIÇÃO DE AMBIENTES DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS: COLEÇÃO DE COMPUTADORES ATRAVÉS DE UMA REDE DE COMPUTADORES E COMPARTILHAMENTO DOS RECURSOS DO SISTEMA MODELOS DE COMPUTAÇÃO DISTRIBUÍDA PEER-TO-PEER (P2P) É UMA ARQUITETURA DE SISTEMAS DISTRIBUÍDOS DAS FUNÇÕES NA REDE, ONDE CADA NODO REALIZA DE CLIENTE. OBJETOS DISTRIBUÍDOS SEMELHANTE AO PEER-TO-PEER, MAS COM UM COMUNICAÇÃO. COMPUTADORES AUTÔNOMOS INTERLIGADOS E EQUIPADOS COM SOFTWARE QUE PERMITA O SISTEMA: HARDWARE, SOFTWARE E DADOS. DISTRIBUÍDOS CARACTERIZADA PELA DESCENTRALIZAÇÃO REALIZA TANTO FUNÇÕES DE SERVIDOR QUANTO UM MIDDLEWARE INTERMEDIANDO O PROCESSO DE SOFTWARE FRACAMENTE ACOPLADOS - PERMITEM QUE MÁQUINAS E USUÁRIOS DE UM SISTEMA DISTRIBUÍDO SEJAM FUNDAMENTALMENTE INDEPENDENTES E AINDA INTERAGIR DE FORMA QUANDO ISTO FOR NECESSÁRIO, COMPARTILHANDO DISCOS, IMPRESSORAS E RECURSOS. FORTEMENTE ACOPLADOS - PROVÊ UM NÍVEL DE INTEGRAÇÃO E COMPARTILHAMENTO DE RECURSOS MAIS INTENSO E TRANSPARENTE AO USUÁRIO CARACTERIZANDO S OPERACIONAIS DISTRIBUÍDOS.OPERACIONAIS DISTRIBUÍDOS. SISTEMAS OPERACIONAIS SISTEMAS FORTEMENTE ACOPLADOS NESTE SISTEMA EXISTE VÁRIOS PROCESSADORES COMPARTILHANDO UMA MEMÓRIA, E GERENCIADO POR APENAS UM S.O. MÚLTIPLOS PROCESSADORES PERMITEM QUE VÁRIOS PROGRAMAS SEJAM EXEC MESMO TEMPO E EM TEMPO REAL.COM ISSO SERÁ POSSÍVEL AUMENTAR A CA COMPUTAÇÃO ADICIONANDO APENAS PROCESSADORES. PERMITEM QUE MÁQUINAS E USUÁRIOS DE UM SISTEMA DISTRIBUÍDO SEJAM FUNDAMENTALMENTE INDEPENDENTES E AINDA INTERAGIR DE FORMA LIMITADA QUANDO ISTO FOR NECESSÁRIO, COMPARTILHANDO DISCOS, IMPRESSORAS E OUTROS PROVÊ UM NÍVEL DE INTEGRAÇÃO E COMPARTILHAMENTO DE RECURSOS MAIS INTENSO E TRANSPARENTE AO USUÁRIO CARACTERIZANDO SISTEMAS NESTE SISTEMA EXISTE VÁRIOS PROCESSADORES COMPARTILHANDO UMA MEMÓRIA, E GERENCIADO POR APENAS UM S.O. MÚLTIPLOS PROCESSADORES PERMITEM QUE VÁRIOS PROGRAMAS SEJAM EXECUTADOS AO MESMO TEMPO E EM TEMPO REAL.COM ISSO SERÁ POSSÍVEL AUMENTAR A CAPACIDADE DE COMPUTAÇÃO ADICIONANDO APENAS PROCESSADORES. EXEMPLOS: O GOOGLE DRIVE É UM SERVIÇO ONLINE QUE PERMITE O ARMAZENAMENTO DE ARQUIVOS NA NUVEM DO GOOGLE. O APLICATIVO É UMA RESPOSTA DA GIGANTE AMERICAN PROGRAMAS DO GÊNERO, COMO DROPBOX E UPLOAD E ACESSAR SEUS ARQUIVOS, INCLUINDO VÍDEOS, FOTOS, ARQUIVO DOCS E PDFS. ALÉM DISSO, A LOJA DE APLICATIVOS DO TERCEIROS QUE INTERAGEM COM O PROGRAMA E QUE AUMENTAM A PRODUTIV FERRAMENTA. SISTEMAS DISTRIBUIDOS UM SISTEMA DISTRIBUÍDO É UM CONJUNTO DE COMPUTADORES INDEPENDENT SE APRESENTA A SEUS USUÁRIOS COMO UM SISTEMA ÚNICO E COMO SUPORTAR COMPUTADORES E REDES HETEROGÊNEOS, OFERECENDO UMA SISTEMA ÚNICO? SDS SÃO ORGANIZADOS POR MEIO DE UMA CAMADA DE (MIDDLEWARE) PERMITE O ARMAZENAMENTO DE ARQUIVOS NA NUVEM DO GOOGLE. O APLICATIVO É UMA RESPOSTA DA GIGANTE AMERICANA AOS E SKYDRIVE. COM ELE, É POSSÍVEL FAZER O UPLOAD E ACESSAR SEUS ARQUIVOS, INCLUINDO VÍDEOS, FOTOS, ARQUIVOS DO GOOGLE . ALÉM DISSO, A LOJA DE APLICATIVOS DO CHROME OFERECE PROGRAMAS DE TERCEIROS QUE INTERAGEM COM O PROGRAMA E QUE AUMENTAM A PRODUTIVIDADE DA UM SISTEMA DISTRIBUÍDO É UM CONJUNTO DE COMPUTADORES INDEPENDENTES ENTRE SI QUE SE APRESENTA A SEUS USUÁRIOS COMO UM SISTEMA ÚNICO E COERENTE COMO SUPORTAR COMPUTADORES E REDES HETEROGÊNEOS, OFERECENDO UMA VISÃO DE SÃO ORGANIZADOS POR MEIO DE UMA CAMADA DE SOFTWARE EXEMPLOS: METAS PARA SISTEMAS DISTRIBUIDOS: ACESSO A RECURSOS TRANSPARÊNCIA ABERTURA ESCALABILIDADE ESCALABILIDADE
Compartilhar