Você está na página 1de 15

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

VLDB: Very Large Data Bases Persistncia: os dados persistem no tempo, esto presentes antes do processamento e depois tambm de forma consistente H SGBDs memria primria Em outras reas da computao normalmente todos os dados envolvidos cabem na memria A complexidade e o volume de dados continuam crescendo Mercado de trabalho para rea de BD garantida

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

LDD ou DDL: Data Definition Language LMD ou DML: Data Manipulation Language No caso relacional, SQL faz o papel das duas linguagens H tambm linguagens hospedeiras (host) de 3a (3GL) ou 4a (4GL) gerao para desenvolvimento de aplicaes SQL no computacionalmente completa Exemplos conhecidos so Cobol e C, alm das ferramentas 3GL prprias de cada fornecedor, e.g, PL/SQL do Oracle Boa parte do custo de um SGBD est relacionada ao fato de ser um sistema multi-usurio Lembrar que no caso de SGBDs, so sistemas para os quais os dados - e no os processos - so a alma do negcio

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

Em quantidade modelo relacional maioria, em volume de dados ainda no! Tecnologia de redes consolidada Sistemas C/S BD Distribudos existem desde meados dos anos 80 MS Access distribudo com pacote Office: SGBD Jet + interface de usurio Vrios outros fornecedores tm verses personal MS SQL Server verso 2000 com timo custo/benefcio Complexidade de dados: textos, vdeos, imagens, som, etc. BLOBs (binary Large Objects) e objetos no controlados pelo SGBD Necessidade de Modelos de dados estendidos

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

Sistemas de fato transacionais Multi (mesmo!) usurio On-line Tanto consultas como atualizao contra-exemplo: sistema de bibliotecas Satlites NASA: vrias imagens da ordem de alguns megabytes por dia, necessidade de armazenamento e manuteno para anlise futura Sistemas de Informao Geogrficas: mapas, por exemplo Projeto Genoma e biologia computacional: VLDB ainda sem previso de tamanho nem complexidade

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

Arquitetura ANSI SPARC (Standards Planning And Requirements Committee) 1978 Nvel ou Esquema externo: programas de aplicao, vises, terminais, etc. Nvel ou Esquema conceitual ou lgico: definio do banco Nvel ou Esquema interno ou fsico: organizao fsica de alto nvel, existncia de ndices e outras estruturas de acesso Banco de dados propriamente dito: seqncia de bits... Princpio de Independncia de Dados Independncia fsica: fortemente desejvel Mudanas no esquema interno no devem implicar em alteraes no esquema conceitual bvio porm no tanto para sistemas em geral, de BD em particular, principalmente no relacionais Independncia lgica: desejvel mas nem sempre possvel Alteraes no esquema conceitual no acarretam modificaes nos esquemas externos No caso de incluso de novos atributos, vivel de realizar; para o caso de excluso, programas e vises precisam ser adaptados

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

Trata-se de um caso particular de SGBD distribudo Cliente-servidor funcionamento tpico de redes corporativas e departamentais atuais Exemplos: servidor de impresso, servidor de mail, servidor de web, servidor de fax, telefonia, etc. A idia bsica especializar os servios para mquinas especficas Implementao presente com freqncia nos principais SGBDs comerciais Normalmente apenas um servidor e vrios clientes Padro de comunicao SGBDs relacionais: SQL Caractersticas especficas, por exemplo, stored procedures Clientes podem ter diferentes funcionalidades mas pelo menos respondem pelo servio de interface do usurio No caso de duas camadas (two-tier), o SGBD executa no servidor e as aplicaes no servidor e eventualmente no cliente J na abordagem em trs camadas (three-tier), o servidor de banco de dados, h uma camada intermediria servidora de aplicaes e os clientes

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

Cada site inclui um processador e memria prpria porm nesse caso especfico, limitados em termos de capacidade de processamento O SGBD est operacional em apenas um dos sites, onde esto localizados todos os dados Pode haver acesso remoto porm todo o servio de banco de dados realizado no site centralizador Normalmente no h processamento algum nos sites onde o SGBD no est operando Em geral, at mesmo a gerncia da interface do usurio nos sites remotos feita a partir do site centralizador

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

Dados podem estar localizados em diversos sites Alguns sites podem no ter dados locais As consultas e atualizaes podem ser requisitadas de qualquer site, independente da localizao dos dados Conceito fundamental: transparncia Transparncia tem analogia com princpio de independncia Principal diferena: transparncia de localizao Dados podem estar fragmentados e/ou replicados, total ou parcialmente Para o usurio comum o SGBD se comporta como se fosse centralizado

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

A interao principal atravs de comandos SQL Armazena-se no somente os dados mas tambm ndices, log, metabase, entre outros Processadores e controladores internos fazem parte do que se costuma chamar de subsistema de armazenamento As vezes os SGBDs fazem uso de servios de terceiros para as funcionalidades esperadas O caso tpico seria o gerente de transaes - TP monitor Alguns controles podem ser desativados em alguns sistemas, como o log, locks

10

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

Para VLDBs sempre vale a pena otimizar Para bases pequenas, o tempo de processar fora bruta diretamente mais eficiente em geral Otimizao complexa - problema combinatrio Na prtica, heursticas e no algoritmos exatos Faz-se tambm verificao sinttica e semntica Planos de acesso aos dados so determinados, sendo escolhido aquele de menor custo estimado

11

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

GM: alocao de pginas em memria principal GA: localizao e acesso a blocos em disco No h como ignorar o sistema operacional, que continua responsvel principal pelas tarefas de I/O Por isso, entre outras razes, as diferentes verses de SGBDs comerciais para ambientes distintos: Unix, Windows, Linux, MacOS...

12

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

Tudo para um SGBD uma transao Uma consulta simples uma transao Uma atualizao de valor em uma nica tupla uma transao Transaes implementam requisies dos mltiplos usurios O SGBD simula multi-processamento quando h apenas um processador, otimizando os recursos disponveis No caso de ambiente multiprocessador, pode-se realizar algum paralelismo Propriedades ACID desejveis para transaes Atomicidade a mais conhecida e simples: tudo ou nada Alguns SGBDs comerciais burlam at atomicidade Casos conhecidos: transaes com seqncia de inseres para carga de dados se forem muitas e aps 90% delas realizadas acontecer algum problema, semanticamente falando no h necessidade de se ignorar tudo e recomear

13

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

Utilizada pelo SGBD para processamento de consultas e para a operao Utilizada pelo DBA para administrao dos BDs e para a gerncia do SGBD Objetos tabelas e colunas; regras de integridade ndices e valores default triggers e procedimentos planos Usurios e Autorizao: IDs e Grupos; Papis e Privilgios Estrutura e Sistema: Bancos de Dados e Tablespaces reas de memria, Estatsticas, Back-up e Log Acesso: SELECT * FROM EMP WHERE ID = 321 Verifica: tabelas; colunas; restries de integridade; ndices; posicionamento; autorizao; bloqueios; registro de transao; etc

14

PUC-Rio - Departamento de Informtica

Srgio Lifschitz

H tambm o DA - Data Administrador DBA as vezes tambm faz papel de DA DA responsvel principalmente pela padronizao das informaes no banco de dados DBA responsvel pela operao sem interrupes do SGBD, pelo controle de acesso, segurana e eficincia de modo geral Em muitos casos as empresas no tem um DBA e a tarefa do DBA dividida, as vezes compartilhada, por vrios analistas

15