A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Banco de dados distribuídos

Apresentações semelhantes


Apresentação em tema: "Banco de dados distribuídos"— Transcrição da apresentação:

1 Banco de dados distribuídos
Fernando Governatore Henrique Sawada Pedro Sol Pegorini Bem, primeiramente meu nome é Pedro, esse é o Henrique e esse é o Fernando. Nós vamos apresentar sobre Banco de dados distribuídos. Esse é um assunto bem complexo e ainda em fase de pesquisa, por isso a nossa idéia aqui é somente dar um introdução ao assunto.

2 Roteiro - BDDs Introdução Definição Promessas Problemas
A apresentação está dividida basicamente em 4 partes: Introdução Definição Promessas dos Bancos de Dados Distribuídos E ao final, seus Problemas

3 Sistema de Arquivos Inicialmente no modelo de processamento de dados, cada aplicativo definia e mantinha seus próprios dados.

4 Sistema de Banco de Dados
Já com o advento dos Banco de Dados, os dados são agora definidos e administrados de forma centralizada, como vocês podem ver figura. Essa nova orientação resulta em independência de dados, por meio da qual os programas ficam imunes a mudanças na organização lógica ou física dos dados.

5 Motivação Estrutura organizacional Dividir para conquistar
Um pergunta razoável que devemos formular nesse momento é: por que distribuir? As respostar clássicas a essa pergunta indicam que o processamento distribuído corresponde melhor à estrutura organizacional das empresas amplamente distribuídas de hoje, e que tal sistema é mais confiável. E a motivação fundamental por trás do processamento distribuído é ser capaz de resolver da melhor maneira os grandes e complexos problemas, usando uma variação da famosa regra de dividir para conquistar.

6 Surgimento dos SBDDs A tecnologia de sistemas de bancos de dados distribuídos é a união daquilo que consideramos duas abordagens opostas para processamento de dados: as tecnologias de sistemas de bancos de dados e redes de computadores.

7 Computação Distribuída
Conceito de definição difícil por ser amplamente (mal) utilizado 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 termo processamento distribuído (ou computação distribuída) talvez seja o termo mais excessivamente utilizado em informática nos últimos anos. Ele foi empregado para se referir a sistemas diversos, como por exemplo: sistemas de multiprocessamento. A definição funcional que usamos para um sistema de computação distribuída estabelece que ele consiste em diversos elementos autônomos de processamento (não necessariamente homogêneos) que estão interconectados por uma rede de computadores e que cooperam entre si na execução de uma tarefa.

8 O que está distribuído? Lógica de Processamento Funções Dados Controle
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? 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.

9 O que é um SBDD? Base de Dados Distribuída - BDD
É 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 - 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 é um Sistema de Banco de Dados Distribuído? Podemos definir um banco de dados distribuído como uma coleção de vários banco de dados logicamente inter-relacionados, distribuídos por uma rede de computadores. Já um sistema de gerenciamento de banco de dados distribuído é definido como um sistema de software que permite o gerenciamento do banco de dados distribuídos e que torna a distribuição transparente ao usuário. Ao fim, a expressão sistema de banco de dados distribuídos é empregada para se referir ao conjunto dos dois últimos.

10 O que não é um SBDD? Sistema de Banco de Dados que reside em um dos nós da rede de computadores Um sistema de banco de dados distribuído não é um sistema no qual, apesar da existência de uma rede, o banco de dados reside em apenas um nó da rede. Nesse caso, os problemas de gerenciamento de bancos de dados não são muito diferentes dos problemas encontrados em um ambiente de banco de dados centralizado. Tendo os atrasos de transmissão como única consideração adicional.

11 Principais Características de um SBDD
Dados armazenados em diversos locais (ou nós) Processadores dos nós interconectados através de uma rede de computadores Estamos interessados em um ambiente no qual os dados estão distribuídos entre vários locais (ou nós). E esses nós são interconectados através de uma rede de computadores.

12 Um Ambiente de SBDD Como vocês pode ver nessa figura.

13 Aplicações Companhias Aéreas Redes de Lojas Cadeias de Hotéis
Qualquer organização que possua uma estrutura descentralizada Como possíveis aplicações pode-se citar: Companhias Aéreas Redes de Lojas Cadeias de Hotéis E qualquer organização que possua uma estrutura descentralizada.

14 Promessas de SBDDs 1) Transparência na Gerência dos Dados Distribuídos, Fragmentados e Replicados 2) Confiabilidade através de Transações Distribuídas 3) Aumento de Desempenho 4) Facilidade de Expansão Nos próximos slides nós vamos ver as promessas dos banco de dados distribuídos, que são: Transparência na Gerencia dos Dados Distribuídos, Fragmentados e Replicados Confiabilidade através de Transações Distribuídas Aumento de Desempenho Facilidade de Expansão

15 1) Transparência Transparência é a separação entre a semântica de alto nível de um sistema e seus detalhes de implementação A questão fundamental é prover Independência de dados no ambiente distribuído Desta forma, os usuários do banco de dados enxergariam uma única imagem da base de dados logicamente integrada, embora ela estivesse fisicamente distribuída A transparência se refere à separação entre a semântica de nível mais alto de um sistema e questões de implementação de nível mais baixo. Em outras palavras, um sistema transparente “oculta” dos usuários os detalhes de implementação.

16 Transparência - níveis
Transparência da rede Transparência da replicação Transparência da fragmentação Existem vários níveis de transparência, sendo eles: Transparência da rede Transparência da replicação Transparência da fragmentação O objetivo de todos esses níveis é que ao final, deseja-se que não haja diferença entre aplicativos de bancos de dos que fossem executados em um banco de dados centralizado e aqueles que fossem executados em um banco de dados distribuído. Ocultando, por exemplo, a presença da rede, ou a organização dos dados, que podem estar replicados e/ou fragmentados em vários nós.

17 Exemplo Para exemplificar tudo isso: considere uma empresa de engenharia com escritórios em Boston, Tókio, Paris, Nova Iorque e Montreal. Ela desenvolve projetos em cada um desses locais e gostaria de manter um banco de dados de seus funcionários (mostrar tabela), dos projetos e de outros dados inter-relacionados (mostrar tabela ASG).

18 Acesso Transparente Dada a natureza distribuída dos negócios da empresa, é preferível, sob essas circunstâncias, localizar cada um grupo de dados de tal forma que os dados sobre os funcionários do escritório de Boston estejam armazenados em Boston, os dados sobre o escritório de Paris estejam armazenados em Paris, e assim por diante. O mesmo se aplica ás informações sobre projetos e salários. Desse modo, estamos engajados em um processo no qual particionamos cada uma das relações e armazenamos cada partição em um local diferente. Isso é conhecido como fragmentação. Além disso, talvez seja preferível duplicar alguns desse dados em outros locais (mostrar: projetos de Boston também em Nova Iorque) por razoes de desempenho e confiabilidade. O resultado é um banco de dados distribuído que é fragmentado e replicado. O acesso totalmente transparente significa que os usuários ainda podem formular a consulta da maneira já conhecida, sem qualquer preocupação com a fragmentação, a localização ou a replicação de dados, e deixar a cargo do sistema a resolução dessas questões.

19 Base Distribuída – visão do usuário
Para o usuário fica um visão como se fosse um banco de dados centralizado.

20 SBDD - realidade Na realidade os dados estão distribuídos pela rede.

21 2) Confiabilidade Espera-se que os SBDDs ofereçam confiabilidade por trabalharem com componentes replicados, eliminando assim pontos únicos de falha Os sistemas distribuídos são planejados para melhorar a confiabilidade, pois têm componentes replicados e, portanto, eliminam pontos únicos de falha. A falha de um único nó da rede ou a falha de um link de comunicação que torne um ou mais nós inacessíveis não é suficiente para deixar inativo o sistema inteiro

22 3) Potencial aumento de desempenho
Proximidade dos dados de seus pontos de uso Execução Paralela Paralelismo entre consultas Um sistema gerenciador de banco de dados distribuído fragmenta o banco de dados conceitual, permitindo que os dados fiquem armazenados próximo a seus pontos de utilização. Isso reduz os atrasos de transmissão. O sistema distribuído também permite que seja possível explorar uma execução paralela. Podendo executar várias consultas ao mesmo tempo, cada uma sendo executada em um nó diferente.

23 Para tirar proveito do paralelismo
Ter os dados distribuídos pelos processadores envolvidos no processamento paralelo Como tratar atualizações? Atualizações sobre dados replicados implica na implementação de controle de concorrência distribuído e protocolos de finalização (commit) Se o acesso do usuário ao banco de dados distribuído consistisse apenas em consultas (isto é, acesso somente de leitura), então a maior parte do banco de dados deveria ser replicada. Porém, como a maioria dos acessos ao banco de dados não é somente de leitura, a mistura de operações de leitura e atualização exige a implementação de protocolos elaborados de controle de concorrência e de finalização (commit)

24 4) Expansão do Sistema Facilidade: aumentando-se a capacidade de processamento e armazenamento da rede Custo: custa muito menos formar um sistema usando computadores menores com capacidade equivalente a uma única máquina de grande porte Em um ambiente distribuído, é muito fácil acomodar tamanhos crescentes de banco de dados. Raramente, são necessárias revisões importantes do sistema. Em geral, a expansão pode ser manipulada aumentando-se a capacidade de processamento e armazenamento da rede. Um aspecto de maior facilidade de expansão do sistema é o aspecto econômico. Normalmente, custa muito menos formar um sistema usando vários computadores menores com capacidade equivalente a uma única máquina de grande porte.

25 Fatores de complicação
Complexidade: problemas não resolvidos Custo: replicação da forca de trabalho Distribuição de controle: sincronização e coordenação Segurança: problemas de segurança em uma rede de computadores Agora vamos falar dos problemas relacionados ao projeto de banco de dados distribuídos. Complexidade: os problemas de gerenciamento dos BDD são muito mais complexos que os problema de gerenciamento dos BD centralizados, pois eles incluem um novo conjunto de problemas ainda não resolvidos (como veremos em seguida). Custo: o componente de custo mais importante é a replicação do esforço de trabalho. Quando as instalações de computadores são configuradas em diferentes locais, torna-se necessário empregar mais pessoas para manter essas instalações. Distribuição de controle: esse ponto já foi enunciado como uma vantagem. Infelizmente, a distribuição cria problemas de sincronização e coordenação. Segurança: um dos benefícios mais importantes dos banco de dados centralizados é o controle que eles oferecem sobre o acesso aos dados. É possível controlar a segurança com facilidade em uma localização central. No entanto, em um sistema de banco de dados distribuído, há uma rede envolvida, e essa rede é um meio que tem seus próprios requisitos de segurança. E sabemos, que existem sérios problemas para se manter uma segurança adequada sobre rede de computadores.

26 Principais áreas de problemas
Projeto de banco de dados distribuídos Separação do banco de dados em fragmentos e a distribuição ótima desses fragmentos – problema NP-difícil Processamento distribuído de consultas Decidir um estratégia para a execução das consultas através da rede da maneira mais econômica – problema NP-difícil Principais áreas de problemas. Projeto de banco de dados distribuído: separação do banco de dados em fragmentos e a distribuição ótima desses fragmentos – problema NP-difícil. Processamento distribuído de consulta: Decidir um estratégia para a execução das consultas através da rede da maneira mais econômica – problema NP-difícil.

27 Principais áreas de problemas
Controle distribuído da concorrência Sincronização de acessos para que a integridade do BD seja mantida Gerenciamento distribuído de impasses (ou Deadlocks) Competição entre usuários pelo acesso aos dadoa Controle distribuído da concorrência: sincronização de acessos para que a integridade do BD seja mantida. Gerenciamento distribuído de impasses (ou Deadlocks): O problema de impasses em banco de dados distribuídos é semelhante ao que encontramos em sistemas operacionais. A competição entre usuários pelo acesso a um conjunto de recursos pode resultar em um impasse, se o mecanismo de sincronização se basear em bloqueios.

28 Bibliografia utilizada
Özsu, M.T. Valduriez, P. "Principles of Distributed Database Systems", Prentice Hall, 1999, 2ª edição Mattoso, M.L.Q. " Introdução a Banco de Dados Distribuídos", 2003 A bibliografia utilizada nessa apresentação foi, principalmente, o livro “Principles of Distributed Database Systems” do Önzu. Quem tiver mais interesse no assunto pode encontrar o livro na biblioteca da Engenharia Mecânica.

29 FIM Obrigado pela atenção Perguntas?


Carregar ppt "Banco de dados distribuídos"

Apresentações semelhantes


Anúncios Google