68
Soluções clássicas, seus limites e novos desafios em Bancos de Dados João Eduardo Ferreira ([email protected])

Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Soluções clássicas, seus limites e novos desafios em Bancos de Dados

João Eduardo Ferreira ([email protected])

Page 2: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Evolução dos Modelos e SGBDs

62

66

70

74

78

82

86

90

Pré-SGBDs: Estruturas de acesso atendidas pelo SO

TOTAL (Rede limitado)

IMS (Hierárquico)

IDMS (Rede)

Sistema R (Relacional), DATACOM , ADABAS

INGRES, ORACLE (Relacionais)

DB2 (Relacional)

Protótipos • Adaplex • Exodus • SDM

Modelo OO / OR

Modelo E-R

Modelo Relacional

Ontos, O2, Postgres

94

98

SGBDs 'Universais '

02 SGBDs Nat. e Hab. XML

Page 3: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Linha de tempo de BD

3

1970 1980 1990 2000

Page 4: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Pré-história (antes de 1970)

•  Limitações de hardware → – Limitações de software

•  Baixíssimo nível de abstração •  Sistemas de gerência de arquivos

4

Page 5: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Como era a área (70-85)

• Muitos recursos para pesquisa em BD.

5

Page 6: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Como era a área (70-85)

• Muitos recursos para pesquisa em BD.

• Muitos grupos de BD espalhados pelo mundo.

6

Page 7: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Como era a área (70-85)

•  Principal resultado: – Modelo de dados relacional de Codd (IBM) – Técnicas para implementá-lo

7

Page 8: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Principais resultados da pesquisa (70 a 85)

•  Teoria de banco de dados – resultou na formalização do modelo relacional

•  SQL – linguagem declarativa de programação

8

Page 9: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Principais resultados da pesquisa (70 a 85)

• Otimização de consultas – primeira abordagem realista de programação

automática • Gerência de transações

– algoritmos eficientes para concorrência e reconstrução apoiando grandes bases e grande número de usuários

9

Page 10: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Primeiros protótipos e produtos

•  System R (IBM)

•  INGRES (Berkeley)

10

Page 11: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Primeiros protótipos e produtos

•  System R (IBM)

•  INGRES (Berkeley)

11

Page 12: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Primeiros protótipos e produtos

•  System R (IBM)

•  INGRES (Berkeley)

12

Page 13: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Indústria de software

•  Pesquisas na área de BD resultaram em uma importante indústria de software.

•  2007 (IDC): – US$ 19 bilhões

13

Oracle 45%

IBM 21%

Microsoft 15%

Outros 19%

Divisão de mercado

Page 14: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Perfil dos pesquisadores

•  Theory guys

•  System guys

14

Page 15: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

O que era necessário saber para pesquisar na área

•  Theory guys

– Uma boa base de lógica matemática – Muitos pesquisadores de teoria de BD

oriundos da área de teoria da computação

15

Page 16: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

O que era necessário saber para pesquisar na área

•  System guys

– Sistemas operacionais – Rudimentos de arquitetura de computadores

(principalmente, dispositivos de armazenamento)

– Linguagens de programação e compiladores (?)

– Base (tênue) de matemática discreta 16

Page 17: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Áreas de pesquisa compartimentadas

• Mesmo ocorria em outras áreas clássicas da Computação (Redes, Linguagens de programação, Sistemas distribuídos,. . . ).

17

•  Áreas de pesquisa eram bem compartimentadas

•  Pouca cooperação entre pesquisadores de áreas diferentes

Page 18: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

85-95 - Aplicações

•  Software de banco de dados para aplicações “não-convencionais”: – aplicações de projeto (engenharia), – bases de dados espaciais, – aplicações de tempo real, – . . .

18

Page 19: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

85-95 – Para atender aplicações...

•  Software de banco de dados dedutivo •  Software de banco de dados orientado a

objetos – Vários produtos no mercado, desde o fim da

década de 80 •  Fracasso retumbante de mercado:

– Em 2004, todos produtos chamados pós-relacionais tinham ao redor de 1% do mercado

– Sem perspectivas de crescimento

19

Page 20: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

O que era necessário saber para pesquisar na área

•  Theory guys – Uma boa base de lógica matemática – Teoria de BD

•  System guys – O mesmo que antes + conhecimentos de BD

relacional

20

Page 21: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

E no mercado de SGBD?

•  Mercado de SGBDs parou de crescer. •  Grandes usuários de SGBD já o adquiriram:

sistemas legados. •  Novos usuários:

– Grande crescimento de bases de dados baseadas em software livre (MySQL, PostgreSQL).

•  Oracle e Microsoft já distribuem versões gratuitas.

•  Novo foco das divisões de banco de dados de IBM e Oracle: Integração de informações.

21

Page 22: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

SGBD onipresente

• Originalmente: – SGBD era utilizado em sistemas de

informação gerenciais

• Hoje: – SGBD tornou-se sistema de arquivos de alto-

nível – Aparece em todo tipo de aplicações

22

Page 23: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Papéis no mercado (extremos)

•  Função: operário da fábrica de sistemas de informação – Tarefas repetitivas – Uso de ferramentas existentes – Pouca criatividade

•  EUA prevê declínio no seu mercado de trabalho de TI nesta área: – Migração para países em desenvolvimento – Softwares que automatizam o desenvolvimento – Até quanto vai?

23

Page 24: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Papéis no mercado (extremos)

•  “Engenheiro” de dados – Aplicações complexas envolvendo grandes

massas de dados – Web – Data-center

24

Page 25: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

O que é necessário saber para trabalhar e pesquisar na área

•  Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria de BD – Sistemas operacionais – Compiladores – Base de matemática discreta – Rudimentos de arquitetura de computadores

(principalmente, dispositivos de armazenamento) – Conhecimentos de BD relacional (linguagens,

processamento de consultas, processamento de transações)

25

Page 26: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

O que é necessário saber para trabalhar e pesquisar na área

•  ..., e muito mais: – Uma base mais ampla de Matemática (volumes

de dados envolvidos = métodos aproximados): • álgebra, cálculo, estatística...

– Algorítmica (foco não é mais somente o número de acessos a disco);

– Parlelismo; – Recuperação de informações; – Aprendizagem de máquina, . . .

26

Page 27: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Nosso Ponto de Partida

• Dado Semi-Estruturado Um objeto OEM é uma quádrupla

(label,oid,type,value) – label: cadeia de caracteres – oid: identificador do objeto – type: complexo ou atômico(int, string, gif, jpeg …) – value:

• se o tipo é complexo, conjunto de oid ’s • senão um valor atômico

Page 28: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Nosso Ponto de Partida

Fonte: Mello et al: http://www.dcc.ufrj.br/~braganholo/artigos/tutorial.pdf- 2008

Page 29: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

29

Refatoração de BD •  48 refatorações definidas por Scott

Ambler •  Não acrescenta funcionalidade •  Melhora o modelo •  Preserva a semântica informacional

Modelo de Dados

Page 30: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

30

•  Se preocupa com uma arquitetura complexa

Modelo de Dados

Page 31: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

31

Modelo de Dados

Page 32: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

32

–  Codificação específica para cada refatoração

–  Código para evitar circularidade –  Transação lenta, caso muito

processamento –  Possível erro desconhecido para a

aplicação

Modelo de Dados (triggers)

Page 33: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

33

Exemplo de refatoração

•  Dividir tabela

Page 34: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Transações

•  Propriedades de uma transação clássica

•  Atomicidade

•  Consistência

•  Isolamento

•  Durabilidade

Page 35: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Nosso Ponto de Partida

Fonte Ferreira & Finger 2000 : http://www.ime.usp.br/~jef/ec2000.ps

Page 36: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Nosso Ponto de Partida

Fonte Ferreira & Finger 2000 : http://www.ime.usp.br/~jef/ec2000.ps

Page 37: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Nosso Ponto de Partida

Fonte Ferreira & Finger 2000 : http://www.ime.usp.br/~jef/ec2000.ps

Page 38: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Nosso Ponto de Partida

Fonte Ferreira & Finger 2000 : http://www.ime.usp.br/~jef/ec2000.ps

Page 39: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Nosso Ponto de Partida

Fonte Ferreira & Finger 2000 : http://www.ime.usp.br/~jef/ec2000.ps

Page 40: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Nosso Ponto de Partida

Fonte Ferreira & Finger 2000 : http://www.ime.usp.br/~jef/ec2000.ps

Page 41: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Limites das Transações

Page 42: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Limites das Transações

Page 43: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Nosso Ponto de Partida

Álgebra de Processos •  Comportamento de Sistemas: processos e

dados; •  Processos: mecanismos de controle para

manipulação de dados; •  Vários processos executando

concorrentemente;

P -1 P 0 P 1 P 2 ... ...

Page 44: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Nosso Ponto de Partida

Utilização . Representação textual; . Semântica formal; . Mecanismos de análise.

Componentes básicos . Conjunto de ações; . Operador de composição seqüencial (“.”): (a . b); . Operador de composição alternativa (“+”): (a + b); . Axiomas de equivalência de processos; . Regras de transição.

Page 45: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Nosso Ponto de Partida

Axiomas de equivalência x + y = y + x ; x + x = x ; (x . y) . z = x . (y . z)

Processos bissimilares . Devem executar exatamente as mesmas cadeias ações; . Possuem a mesma estrutura de ramificação;

z.(x + y) e z.x + z.y não são bissimilares.

Page 46: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Nosso Ponto de Partida

Page 47: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Contribuições: Grupo de pesquisa

Fonte: Braghetto 2008

Page 48: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Fonte: Oikawa 2008

Page 49: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria
Page 50: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

50

•  bo1 registration received •  bo2 key received •  bo3 money sent •  data states

dsinitial, ds1, ds2 , dsfinal dsinitial initial data state (generated by request) dsfinal (final data state) = ds3

Transactional model based on data states

Page 51: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

51

bo1

Transactional model based on data state

dsinitial ds1 ds2 dsfinal

bo2 bo3

Page 52: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

52

bo1

If

dsinitial ds1x ds2 dsfinal

bo2 bo3

ds1x ds1 ≠ and there is bok

bok

Page 53: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

53

bo1

If

dsinitial ds1x ds2 dsfinal

bo2 bo3

ds1x ds1 ≠ and there is bok+1

bok+1

Page 54: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

54

bo1

However, if

dsinitial ds1x ds2 dsfinal

ds1x ds1 ≠

and the ds1x is non-expected

data state ... exceptions

Page 55: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

55

Scheduling data states: input-output data states

bo1

bo2

bo3

dsi ds1 ds2

data quality

dsinitial < ds1 < ds2 < dsfinal

dsf

Page 56: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Queries

Page 57: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria
Page 58: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Queries

Page 59: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Queries

Page 60: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Queries

Page 61: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Queries

Page 62: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Queries

Page 63: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Queries

Page 64: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Queries

Page 65: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

•  Banco de dados não é mais uma área isolada

•  Antes: – conhecimentos necessários para atuar na

área vinham de alguns poucos livros-texto • Hoje:

– amplo espectro de conhecimentos necessários para atuar com sucesso na área

– projetos bem sucedidos tendem a incluir pesquisadores de várias áreas da computação (IR, ML, IA, paralelismo, ...) 65

Conclusões

Page 66: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

•  A área de banco de dados deixou de tratar apenas o armazenamento de grandes bases de dados.

• O foco da pesquisa na área é: – tratamento de grandes massas de dados em

geral (não necessariamente persistentes); – tratamento de dados que tenham alguma

estrutura.

66

Conclusões

Page 67: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

•  Fomos de

– Gerência de Banco de Dados (database management) para

– Gerência de grandes volumes de Dados (data management).

67

Conclusões

Page 68: Soluções clássicas, seus limites e novos desafios em ...jef/palestra.pdf• Tudo que já era necessário conhecer anteriormente: – Uma boa base de Lógica Matemática – Teoria

Conclusões

•  Banco de dados deixou de ser uma área de pesquisa compartimentada e isolada das demais, para tornar-se uma área de pesquisa multi-disciplinar.

•  Base matemática necessária para atuar na área aumentou muito.

•  Para pesquisar com sucesso na área e necessário montar equipes multi-disciplinares.

68