fabio@ifpb.edu.br Evolução das Aplicações de Bancos de Dados • Primeiras aplicações de bancos de dados: ▪ Os dados eram armazenados e gerenciados por meio de sistemas de arquivos;
▪ Os dados eram manipulados por grandes
computadores;
▪ A única interface era a linguagem de programação;
Evolução das Aplicações de Bancos de Dados • Primeiras aplicações de bancos de dados: ▪ Utilizadas em grandes organizações; ✓ Grandes corporações, universidades, bancos, etc;
▪ Surgiram em meados da década de 1960 e foram
usadas até a década de 1980; Evolução das Aplicações de Bancos de Dados • O modelo relacional: ▪ Surgiu no fim dos anos 70, com os primeiros SGBDs surgindo no início dos anos 80;
▪ Fundamentação matemática para os bancos de dados;
✓ O relacionamento entre os dados é descrito por meio do conceito matemático de relações; Evolução das Aplicações de Bancos de Dados • O modelo relacional: ▪ Os dados podem ser gerenciados por meio de uma linguagem de consulta de alto nível;
▪ Ganhou grande popularidade e foi o modelo mais
usado por mais de trinta anos;
▪ Exemplos de SGBDs relacionais: PostgreSQL, MySQL,
Oracle, DB2; Evolução das Aplicações de Bancos de Dados • Bancos de Dados Orientados a Objetos: ▪ Surgiram devido à popularidade do paradigma de programação orientada a objetos nos anos 80;
▪ Incorporação dos principais conceitos desse paradigma
a aplicações de bancos de dados: ✓ classes, objetos, métodos, encapsulamento, herança, etc; Evolução das Aplicações de Bancos de Dados • Bancos de Dados Orientados a Objetos: ▪ Devido à sua alta complexidade, não conquistaram a mesma popularidade do modelo relacional;
▪ Exemplos de SGBDs orientados a objetos: Vbase, O2,
Orion, Gemstone, Jasmine, ObjectStore; Evolução das Aplicações de Bancos de Dados • Bancos de Dados Objeto-Relacionais: ▪ Bancos de dados que dão suporte tanto ao modelo relacional quanto ao modelo orientado a objetos;
▪ Exemplos de SGBDs relacionais que oferecem suporte
a objetos: PostgreSQL, DB2, Oracle e SQL Server; Evolução das Aplicações de Bancos de Dados • Bancos de Dados NoSQL: ▪ Recentemente, o modelo relacional tem sofrido duras críticas para o desenvolvimento de algumas aplicações: ✓ Dificuldade para processar grandes quantidades de dados em um tempo de resposta curto;
✓ Esquemas de dados rígidos e pouca flexibilidade
para representação dos dados; Evolução das Aplicações de Bancos de Dados • Bancos de Dados NoSQL: ▪ Os bancos de dados NoSQL têm sido propostos como uma alternativa ao modelo relacional;
▪ Os bancos de dados NoSQL diferem quanto ao modelo
usado para a modelagem e armazenamento dos dados; Evolução das Aplicações de Bancos de Dados • Exemplos de Bancos de Dados NoSQL: Evolução das Aplicações de Bancos de Dados • Bancos de dados multimídia: ▪ Um SGBD multimídia oferece estruturas voltadas para o armazenamento e recuperação de dados multimídia;
▪ Exemplos de dados multimídia: documentos, áudios,
fotos e vídeos; Evolução das Aplicações de Bancos de Dados • Bancos de dados espaciais: ▪ Um SGBD espacial oferece suporte ao armazenamento e recuperação de dados geoespaciais;
▪ Oferecem o suporte para o desenvolvimento de
aplicações de SIG; Outras Aplicações de Bancos de Dados • Data Warehouse: ▪ Aplicações que processam e analisam dados históricos de grandes bancos de dados para auxiliar no processo de tomadas de decisão;
▪ O data warehouse é formado a partir de dados
coletados de múltiplos bancos de dados; ✓ A partir de um processo chamado ETL (Extract- Transform-Load); Outras Aplicações de Bancos de Dados • Mineração de Dados (Data mining): ▪ Aplicações que buscam encontrar tendências em grandes volumes de dados;
▪ Também são aplicadas para a realização de análise
preditiva dos dados;
▪ São comumente usadas em conjunto com data
warehouses; Outras Aplicações de Bancos de Dados • Big Data: ▪ Aplicações voltadas para o processamento de dados volumosos e complexos; ✓ Da ordem de terabytes;
▪ Os dados são caracterizados por três dimensões:
Volume, Velocidade e Variedade;
▪ Técnicas de mineração de dados podem ser usadas
para descobrir insights nos dados; Outras Aplicações de Bancos de Dados • Data Lakes: ▪ Aplicações que processam e analisam dados volumosos para auxiliar no processo de tomadas de decisão;
▪ Armazenamento e integração de diversos tipos de
dados: ✓ Bancos de dados relacionais, noSQL, arquivos CSV, mídias sociais, dados de sensores, etc;