Sei sulla pagina 1di 47

BANCOS DE DADOS DISTRIBUDOS

Algumas questes a serem respondidas nesta disciplina:


O que so os bancos de dados? Quais os tipos de bancos de dados? Quais suas aplicaes? O que so BDDs?
1

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados:
Dados so observaes documentadas ou resultados de medio. D-se o nome de Banco de Dados ao conjunto de arquivos integrados que atendem a um conjunto de sistemas (Heuser, 1998); De acordo com Date (1999), Banco de dados um repositrio para armazenar informaes de maneira integrada ou ainda compartilhada Anos 60 dados armazenados em arquivos que geralmente integravam a aplicao;

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados:
Anos 70 surgem os primeiros SGBDs com a funo de separar os dados da aplicao e, o modelo relacional de Edgard Cood; Baseado no modelo relacional, surge a linguagem SQL Anos 80 devido ao grande volume de informaes, surgem bancos de dados mais confiveis dentre eles destaque para Oracle e Microsoft SQL Server; Final dos Anos 80 evoluo das aplicaes e necessidade de se tratar dados mais complexos (ex: multimdia, dados espaciais, cientficos etc);

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados:
Seguindo uma linha paralela de pensamento e perante a necessidade de atender a aplicaes mais complexas surgem os Bancos de Dados Orientados a Objetos (por volta de 1985); A partir de 2004 existe a popularizao dos Bancos de Dados Orientados a Objetos em virtude do surgimento dos BDOOs livres;

BANCOS DE DADOS DISTRIBUDOS


Tipos de Bancos de Dados:
Bancos de dados relacionais; Bancos de dados orientados a objetos; Bancos de dados objeto-relacional

BANCOS DE DADOS DISTRIBUDOS


Tipos de Bancos de Dados:
Bancos de dados relacionais;
Consiste em uma coleo de tabelas, que podem ser relacionadas atravs de seus atributos, ou seja uma linha de uma tabela pode estar sendo relacionada com uma outra linha em uma outra tabela.

Bancos de dados orientados a objetos;


Tem base na teoria de orientao a objetos.

Bancos de dados objeto-relacional


Segue o padro SQL (gerncia de transaes, otimizao de consultas etc) e agrega identidade de objeto (encapsulamento, herana e polimorfismo).
6

BANCOS DE DADOS DISTRIBUDOS


Tipos de Bancos de Dados:
Bancos de Dados Relacionais:
Modelo idealizado em 1970; Em virtude de sua facilidade e desempenho, tornou-se um padro para todas as aplicaes; Formado por uma coleo de tabelas (cada uma com um nome nico); As linhas (ou registros) so denominadas Tuplas; As colunas, so os atributos; As chaves primrias atestam a consistncia entre as informaes.
7

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Relacionais:
Silberschatz et al (2001) afirmam que este tipo de BD (Banco de Dados) tem grande eficincia ao trabalhar com processamento de dados. Exemplo: aplicaes bancrias (que trabalham com o gerenciamento de contas correntes nmeros, texto e datas).

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Orientados a Objetos:
De acordo com Ramez (2003) uma aplicao que aceita que um sistema escrito em linguagem OO (Orientada a Objetos) acesse diretamente seus dados sem a necessidade do uso da linguagem SQL; Trabalham para atender a aplicaes com tipos de dados mais complexos (dados espaciais, de telecomunicaes, de multimdia, biologia molecular, etc); E por fim visam atender ao crescente mercado de aplicaes construdas com linguagem OO (como: C#, Java, Delphi entre outras).

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Orientados a Objetos:
Alguns autores como Rumbaugh (1994), ainda defendem que este tipo de BD mais eficiente, coerente e menos propenso a erros de atualizao devido a grande interao com as linguagens OO.

10

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Objeto-Relacional:
caracterizado por suprir a carncia do modelo relacional agregando a tecnologia de orientao a objetos ao mesmo; So Bancos de Dados Relacionais com suporte a dados mais complexos e com novas funcionalidades para suportar tais tipos de dados, possui suporte a herana e possibilitam a manipulao de objetos; O detalhe que ainda possui o implementao atravs de tabelas (como no modelo relacional) e no atravs de objetos.

11

BANCOS DE DADOS DISTRIBUDOS


Entre os tipos mais conhecidos de Bancos de Dados utilizados atualmente, destacam-se:
Microsoft Access; MySQL; PostgreSQL; Firebird; Microsoft SQL Server; Oracle; Sybase.

J entre os BDOOs, os mais conhecidos so:


Cach; Jasmine; GemStone; JoDB; DB4Objects; O2; ObjectivityDB; Versant;

12

BANCOS DE DADOS DISTRIBUDOS


Alguns Bancos de Dados relacionais ...

MS-Access Verso: 2010 Verso: 5.5.15

PostgreSQL Verso: 9.0.4-1

Verso: 11g Firebird Verso: 2.5.0


13

Verso: 2008 - denali

BANCOS DE DADOS DISTRIBUDOS


Aplicaes para Bancos de Dados:
So utilizados para muitas aplicaes devido a confiabilidade e facilidade quanto ao armazenamento de informaes;
Aplicaes comerciais; Aplicaes empresariais (fabris); Aplicaes de IA (Inteligncia Artificial); Aplicaes de Bio-medicina; Aplicaes de multimdia; Aplicaes de Geoprocessamento Enfim, qualquer aplicao que manipule informaes.

14

BANCOS DE DADOS DISTRIBUDOS


Algumas questes a serem respondidas nesta aula:
O que so as redes de computadores? Porque utilizar bancos de dados distribudos? Quais os tipos de SGBDDs e quando eles surgem? E como so classificados os usurios de SGBDDs?

15

BANCOS DE DADOS DISTRIBUDOS

16

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Distribudos:
Dados no necessariamente devem ser mantidos em um mesmo local; Uma pergunta:
Onde esto armazenadas as mensagens que voc visualiza no Gmail? Ou no Hotmail? Yahoo, Terra, UOL, etc?

Distribuio uma tendncia ao se tratar de bancos de dados (Raghu, 2008); Logo, BDDs (Bancos de Dados Distribudos) so uma coleo de diversas bases de dados interligadas logicamente atravs de uma rede;

17

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Distribudos:
Surgimento dos Bancos de Dados Distribudos.

18

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Distribudos:
A distribuio permite que os dados sejam acessados localmente e gerenciados globalmente; SGBDDs so sistemas que possibilitam a gerncia de Bancos de Dados Distribudos com aspectos que encapsulam o processamento (o usurio no percebe que est neste ambiente).

19

BANCOS DE DADOS DISTRIBUDOS


O que so as redes de computadores?

20

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Distribudos:
Diferena entre um sistema centralizado e um sistema distribudo:

21

BANCOS DE DADOS DISTRIBUDOS


O que so as redes de computadores? A figura acima a representao de uma idia de estrutura de BDD, onde cada site possui seu respectivo SGBD, todos trabalhando de forma local (trocando informaes quando necessrio) atravs de uma rede de comunicao. Neste modelo de arquitetura todos SGBDs podem ser iguais em todos os sites (arquitetura de BDD homognea) ou diferentes em um ou mais sites (arquitetura de BDD heterognea).

22

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Distribudos:
Raghu (2008) cita trs fatores que motivam a distribuio dos dados so:
Maior disponibilidade se um site (unidade da empresa) para de funcionar, a relao continuar disponvel (backup de um determinado site menos complexo de se gerenciar do que backups de um sistema global); Acesso distribudo aos dados consulta global a peculiaridades locais sobre um determinado assunto; Anlise de dados distribudos necessidade de se explorar todas as informaes disponveis (armazenadas em sites e aplicaes diferentes);

23

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Distribudos:
Alguns outros autores citam:
Razes organizacionais descentralizao das organizaes;

Interconexo de BDs j existentes aplicaes globais necessitam acessar informaes de diversos BDs; Crescimento incremental suporte ao crescimento da organizao com o mnimo impacto aos sites j existentes; Reduo da sobrecarga de comunicao reduzem as despesas com comunicao; aplicaes locais

Consideraes de desempenho distribui a carga de processamento. Sistemas distribudos tem performance maior que um sistema centralizado.

24

BANCOS DE DADOS DISTRIBUDOS


Tipos de SGBDs Distribudos:
Podem ser divididos em 2 grupos: Homogneos
Quando todos os ns tem o mesmo SGBD ou tem estruturas idnticas (Tabelas, Consultas etc) em seus ns.

Heterogneos
Quando os ns possuem diferentes SGBDs interagindo. Este tipo de arquitetura tambm conhecida por estrutura hbrida.
25

BANCOS DE DADOS DISTRIBUDOS


Tipos de SGBDs Distribudos:
Exemplos:
Homogneo Heterogneo

26

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Distribudos:
Classes de Usurios: Quanto aos usurios de BDDs, os mesmos podem ser divididos em:
Usurios locais: Possuem interao apenas com o banco de dados local ao n onde residem. Usurios globais: Aqueles que observam o banco de dados distribudo como um todo e acessam os dados atravs das interfaces do SGBD global.

27

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Distribudos:
Classes de Usurios: Estes usurios ainda podem ser classificados em:
Administradores do Banco: Responsveis pela definio e manuteno do banco. Analistas programadores: Responsveis pelo desenvolvimento de aplicaes sobre o banco de dados. Usurios casuais: Como gerentes, que usualmente no so programadores treinados e fazem uso do banco irregularmente Usurios paramtricos: Apenas fazem uso do banco de dados atravs de transaes paramtricas pr-programadas.

28

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Distribudos:
Requisitos funcionais de um SGBDD:

29

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Independncia fsica de dados; Independncia de localizao e replicao; Autonomia local; Interfaces de muito alto nvel; Otimizao automtica; Reestruturao lgica do banco e suporte a vises; Segurana dos dados e, Suporte a administrao dos dados.
30

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Independncia fsica de dados:
Os detalhes quanto a forma de armazenamento dos dados deve ser transparente (chegando at mesmo a ser irrelevante) aos programadores e analistas, O que importa a forma como os dados esto estruturados, Esta caracterstica do SGBDD permite a mudana na forma de armazenar o banco sem alterar as aplicaes conectadas ao mesmo.
31

BANCOS DE DADOS DISTRIBUDOS


Bancos de Dados Distribudos:
Independncia fsica de dados:
Forma de estruturao dos dados

32

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Independncia de localizao e replicao:
Prov a independncia fsica dos dados um significado especial em razo da distribuio das informaes, A variao no tempo de acesso aos dados uma caracterstica a ser considerada neste caso, A replicao dos dados no um requisito obrigatrio neste tipo de SGBDD, O SGBDD deve conseguir localizar os dados e atualizar as cpias (quando h replicao) sem que o usurio perceba a operao. Esta uma caracterstica de reestruturao deste tipo de SGBD.
33

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Autonomia local:
Requisito relacionado a estruturao do SGBDD, SGBDDs locais devem manter sua autonomia local ("sem depender" dos que esto em outros ns da rede), Cada SGBDD local deve manter controle sobre seus prprios dados pois as responsabilidades neste tipo de implementao tambm distribuda e, Aplicaes que acessam dados locais devem ser executadas localmente sem a necessidade de consultar outros ns.

34

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Exemplo do conceito de autonomia local:

35

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Interfaces de muito alto nvel:
A linguagem para acessar os dados deve ser de muito alto nvel (no procedural pois interessa apenas o que ir ser acessado e no como ser acessado), Os comandos de acesso ao banco devem manipular conjuntos de objetos e no um objeto por vez, Os comandos da linguagem devem ser independentes da forma de armazenamento (sinnimo de produtividade), Linguagens com esta caracterstica aumentam a eficincia do SGBDD com a manipulao de conjuntos de objetos.
36

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Interfaces de muito alto nvel:
Exemplos de linguagens de alto nvel: C++ C# Java Python Visual Basic ...
37

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Interfaces de muito alto nvel:
Exemplos de linguagens de alto nvel: SQL PHP.

38

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Otimizao automtica:
Caracterstica do SGBDD de otimizao do caminho de menor custo para acesso aos dados, A otimizao uma das maiores dificuldades do SGBDDs, a otimizao que viabiliza a utilizao de interfaces de alto nvel (fazendo o banco ganhar em performance).

39

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Reestruturao Lgica do Banco:
Em virtude da caracterstica dos SGBDDs de independncia fsica dos dados, de localizao e replicao; reestruturaes so necessrias para otimizar a forma de armazenamento dos dados, ainda a caracterstica de modificao da estrutura lgica de um banco existente (criao de uma nova verso a partir da antiga), Via de regra causa impacto nas aplicaes. Criar vises (views) via linguagem de programao tende a diminuir este impacto causado pelas reestruturaes.

40

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Segurana:
Caracterstica crtica ao se implementar o uso aplicaes distribudas, Em relao a segurana em um ambiente distribudo, se faz necessrio: A criao de critrios rgidos de acesso a dados e, Regras muito bem definidas de acesso para as aplicaes.

41

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Exemplo quanto a segurana em ambientes distribudos:

42

BANCOS DE DADOS DISTRIBUDOS


Requisitos funcionais de um SGBDD:
Suporte a administrao dos dados:
Como a estrutura bastante complexa (so tipos de objetos diferentes armazenados de diferentes formas), a tarefa de suporte requer o uso de ferramentas especiais. So elas: Dicionrio de dados (so metadados de estrutura do banco como o conj. de tabelas e views acessados atravs de SQL), Ferramentas de acesso a este dicionrio (exclusividade do administrador do banco) como: DBTools, PGExplorer, Toad entre outras) e, Utilitrios de manuteno do banco (sqlmaint, Gfix, DBDesginer, etc).
43

BANCOS DE DADOS DISTRIBUDOS


Especificaes de Interface de SGBDD:
Interfaces globais e locais:
Podem ser classificados em: Administradores, Analistas / Programadores, Casuais, Paramtricos,
44

BANCOS DE DADOS DISTRIBUDOS


Especificaes de Interface de SGBDD:
Visando suprir a necessidade destes tipos de usurios, os SBGBDs oferecem :
Uma linguagem LDD (Data Definition Language), Uma ou mais linguagens LMD (Data Manipulation Language), Opcionalmente uma LGR (Report Generation Language) e, Utilitrios de manuteno de BD.

45

BANCOS DE DADOS DISTRIBUDOS


Especificaes de Interface de SGBDD:
LDD (Data Definition Language):
Linguagens que definem as estruturas lgicas do banco e indica como as informaes devem ser armazenadas fisicamente, Tambm prov comandos de definio de critrios de autorizao de acesso a dados, Permitem que o administrador do banco realize todas as intervenes necessrias para manter o sistema ntegro.
46

BANCOS DE DADOS DISTRIBUDOS


Especificaes de Interface de SGBDD:
LMD:
Linguagem de acesso ao contedo do banco, So comandos necessrios para a manuteno dos dados armazenados nas estruturas definidas, Podem indicar quando comea e termina uma transao no banco de dados e se a mesma ser visvel aos usurios ou no, Tambm podem ser utilizadas por usurios paramtricos.
47

Potrebbero piacerti anche