• Nenhum resultado encontrado

Banco de dados

N/A
N/A
Protected

Academic year: 2022

Share "Banco de dados"

Copied!
99
0
0

Texto

(1)

Banco de dados

Prof. Dr. Vladimir Costa de Alencar

bit.ly/valencar

twitter: @valencar

vladimir.uepb@gmail.com

(2)

Histórico

- A necessidade de registrar informações

- O uso de Inscrições rupestres, barro, etc.

(3)

Histórico

- O uso de Pinturas, esculturas, etc.

(4)

Histórico

- Nos últimos séculos, o papel tem sido o tipo de registro mais comum

Gutemberg – Criador do livro impresso em escala (1430)

(5)

Histórico

- Recentemente uma boa parte do papel está sendo substituída por armazenamento em mídias (HD, fitas, CD, etc)

- Os Leitores de livros digitais (e-Readers) têm

estimulado também ao uso das mídias ao invés

de utilizar o papel.

(6)

Histórico

- Os programas de banco de dados foram os programas pioneiros na computação (1950-60) - Surgiram para atender para atender

equipamentos de grande porte

(7)

Histórico (Década de 50 e início de 60)

Fitas magnéticas foram desenvolvidas para o armazenamento de dados.

- Tarefas de processamento de dados, como folha de pagamento, eram automatizadas com dados armazenados em fitas.

- As fitas podiam ser lidas apenas sequencialmente

- O processamento consistia em ler os dados e armazenar em uma nova fita (Fita Mestre).

(8)

Histórico – Arquitetura nos primórdios

-Não havia controle de acesso concorrente

-Não era possível executar mais de um processo ao mesmo tempo num arquivo de dados

-A estrutura do arquivo estava inserida no próprio código do aplicativo

Ruim para manutenção

-O programas controlavam o acesso ao banco de dados

-Inconsistência, redundância, dificuldade de acesso, isolamento dos dados

-Problemas com Segurança

(9)

Histórico – Arquitetura nos primórdios

Definição de estrutura

Rotinas gerais do aplicativo

Arquivo de dados

(10)

Histórico – Arquitetura nos primórdios

Arquivo de Dados

O acesso ao Arquivo era feito de forma direta

(11)

• Cenário mudou drasticamente com o uso dos discos rígidos

• Acesso direto ao dados em qualquer lugar do disco

• Os bancos de dados poderiam armazenar estruturas de dados mais complexas (como listas e árvores)

• Um documento revolucionário de Codd [1970] definiu o

modelo relacional e os métodos procedurais para consultar os dados  Origem os Bancos de Dados Relacionais

(12)

• Os bancos de dados Relacionais não podiam se igualar aos banco de dados de Rede e Hierárquico, devido as suas

desvantagens de desempenho.

• Um projeto inovador da IBM (System R), levou ao primeiro produto de banco de dados relacional da IBM, o SQL/DS.

• Os primeiros SGBD´s relacionais comerciais, como o System R, Oracle, Ingres e DEC RDB, desempenharam papéis

fundamentais no melhoramento da performance.

• O SGBD´s relacionais, por sua facilidade de manipular, começaram a reinar.

(13)

Arquivo de dados

• Os aplicativos não tem conhecimento sobre os métodos de Gravação e Leitura física dos dados

• Eles recuperam ou armazenam registro

Sistema Gerenciador De Banco de

Dados (SGBD)

(14)

• A linguagem SQL foi projetada para aplicações de suporte à decisão (concentradas na consulta)

• Os bancos de dados da década de 1980 tinham foco nas aplicações de processamento de transação (atualização de dados)

• As ferramentas para analisar grandes quantidades de dados tiveram um elevado crescimento de uso

• Os fornecedores acrescentarem suporte relacional de objeto a seus banco de dados

(15)

• Com a explosão de Web, os SGBD´s foram mais exigidos:

1. Propiciar altas taxas de processamento de transação 2. Alta confiabilidade

3. Disponibilidade 24x7 (24 horas, 7 dias por semana)

• Também precisavam aceitar interfaces da Web para Dados

• A amazon.com foi uma das primeiras empresas que

começou a usar comércio eletrônico para vender livros na internet (1998)  usando SGBD´s 24x7

(16)

Utiliza técnicas de “Data mining”

(17)

• Surgimento da XML

• Crescimento do “Data Mining”

• Crescimento dos “Data Warehouse”

• Big Data

• Machine Learning – Predictive Analytics

(18)

• O XML é um formato para a criação de documentos com dados organizados de forma hierárquica

• Ex. Documentos de texto formatados, imagens vetoriais (ex. Mapas) ou bancos de dados.

• Pela sua portabilidade, já que é um formato que não depende das plataformas de hardware ou de software

• Um banco de dados pode, através de uma aplicação, escrever em um arquivo XML, e um outro banco distinto pode ler então estes mesmos dados.

(19)

<?xml version="1.0" standalone="yes" ?>

<DBMODEL Version="4.0">

<SETTINGS>

<GLOBALSETTINGS ModelName="Agencia-Cliente"

IDModel="0" IDVersion="0" VersionStr="1.0.0.0" Comments=""

UseVersionHistroy="1" AutoIncVersion="1"

DatabaseType="MySQL"

<DATATYPEGROUPS>

<TABLES>

<TABLE ID="2441" Tablename="Cliente" ...

<COLUMNS>

<COLUMN ID="2447" ColName="Cod_Cliente" PrevColName=""

Pos="0" idDatatype="5" DatatypeParams="" Width="-1" Prec="- 1" PrimaryKey="1" NotNull="1" AutoInc="1" IsForeignKey="0"

DefaultValue="" Comments="">

....

(20)

• É o processo de analisar de forma semi-automática grandes bancos de dados para encontrar padrões úteis.

• Usando a Inteligência artificial e a Estatística, são utilizados os dados do BD para descobrir regras e padrões.

• É a “descoberta de conhecimento de Banco de dados”

• Alguns tipos de conhecimento podem ser representados por um conjunto de regras.

• Outros tipos de conhecimento são representados por equações relacionando diferentes variáveis entre si.

• Ou por outros mecanismos de prever resultados

(21)

• Ex. Rede Walmart

• Foi descoberta a regra que “ às sextas-feiras, as vendas

de cervejas cresciam na mesma proporção que as de fraldas”

• Motivo: ao comprar fraldas para seus bebês, os pais

aproveitavam para abastecer as reservas de cerveja para o final de semana.

(22)

Mineração de Dados

Processo realizado através de estratégias automatizadas que tem por objetivo a descoberta de conhecimento valioso em grandes bases de dados.

• Ex. Usando mineração numa base de dados de um centro de oncologia, observamos que:

65% das mulheres internadas com neoplasia mamária tem Escolaridade = Baixa e Idade = entre 30 e 49 anos

(23)

Mineração de Dados

É uma linha de pesquisa multidisciplinar

 Resolve o problema da descoberta de conhecimento escondido em grandes bases de dados

Banco de Dados Inteligência

Artificial Data Mining

Estatística Treinamento/Teste

Frequência/Médias

(24)

Mineração de Dados

(25)

Mineração de Dados

(26)

Mineração de Dados

(27)

Mineração de Dados

Tipos de modelo

Preditivo

Faz predição acerca de valores de dados usando resultados conhecidos de outros dados

Em geral, a modelagem é baseada em dados históricos, para fazer predição (ou previsão) sobre novos dados

ex. Previsão do volume de açudes através da base de dados de volumes mensais

Descritivo

Identifica padrões ou relacionamentos em dados, históricos ou não (Importante para se conhecer os dados)

ex.65% dos pacientes internados com câncer são do sexo feminino e idade > 40 anos

(28)

Mineração de Dados

O Que a mineração pode fazer ?

Classes de Problemas

1. Descoberta de associações

2. Descoberta de padrões sequenciais 3. Classificação

4. Determinação de agrupamentos

(29)

1.Descoberta de Associações

Descobrir combinações de itens ou valores de atributos que ocorrem com frequência significativa em uma base de dados.

Exemplo - Mineração do BD de um supermercado:

“A compra do produto milho verde aumenta em 5 vezes a chance de um cliente comprar ervilhas”.

Representação (regra de associação):

{milho verde} => {ervilhas}

(30)

1.Descoberta de Associações

Exemplo – Sistemas de recomendação

(31)

2.Descoberta de padrões sequenciais

Descobrir sequências de eventos frequentes (temporal)

Exemplo - Mineração do BD de uma loja de suprimentos de eletrônica:

“50% dos consumidores que adquirem um

ultrabook compram um hard disk externo de

2 a 4 meses após a aquisição do ultrabook”.

(32)

3. Classificação

 A partir de um banco de dados contendo objetos pré-classificados, construir um modelo que seja capaz de classificar automaticamente novos objetos em função de suas características.

Exemplo - Mineração do BD de uma seguradora:

Sexo feminino : “não se envolve em acidente”

Sexo masculino e idade superior a 25 anos : “não se envolve em acidente”.

Sexo masculino e idade igual ou inferior a 25 anos: “se envolve em acidente”

(33)

4.Determinação de agrupamentos

Dividir automaticamente um conjunto de objetos em grupos (clusters) de acordo com algum de tipo de relacionamento de similaridade existente

(34)

4.Determinação de agrupamentos

Clusterização (K-Médias)

(35)

Mineração de Dados

 Cada tarefa (classe de problemas) de mineração de dados possui um conjunto de técnicas associadas, que representam os algoritmos que podem ser empregados para a sua execução.

(36)

• É o processo de reunir de forma organizada e eficiente dados de diferentes fontes

• O desenho da base de dados favorece os relatórios, a análise de grandes volumes de dados e a obtenção de informações estratégicas que podem facilitar a tomada de decisão

• Atualmente, por sua capacidade de sumarizar (“limpar”) e analisar grandes volumes de dados, o data warehouse é o núcleo dos sistemas de informações gerenciais e apoio à decisão das principais soluções de business intelligence do mercado.

(37)

• Ex. Usando técnicas de “data mining”

num “data warehouse, é possível:

• Uma companhia de cartões de crédito pode analisar seu data warehouse de transações ao consumidor para identificar os consumidores que têm maior probabilidade de estarem

interessados em um novo produto de crédito (Ex. IPAD).

• Utilizando uma pequena correspondência de teste, os

atributos dos consumidores com afinidade com o produto podem ser identificados.

• Projetos recentes indicam que há uma redução de cerca de 20% nos custos em campanhas direcionadas sobre as

campanhas tradicionais.

(38)

• Surgimento da XML

• Crescimento do “Data Mining”

• Crescimento dos “Data Warehouse”

• Big Data

• Machine Learning – Predictive Analytics

(39)

Big Data

Todos os dispositivos conectados

Em 2008 foram produzidos cerca de 2,5 quintilhões de bytes todos os dia

90% dos dados no mundo foram criados nos últimos dois anos

Adesão das grandes empresas à internet

Redes sociais, dados dos GPS, dispositivos embutidos e móveis

Utiliza também posts do facebook, vídeos, geolocalização e comportamento de clientes

Agregar, analisar e tirar conclusões a partir dos dados

(40)

Big Data – Empresa SkyBox

SkyBox

Tira fotos de satélite vende a seus clientes em tempo real Sobre a disponibilidade de vagas em estacionamento

(41)

Big Data – Projeto Global Pulse - ONU

Análise de mensagens e posts para prever:

Desemprego

Esfriamento econômico Epidemias de doenças

(42)

Big Data – Varejista Dollar General

Monitora as combinações de produtos que seus clientes põem nos carrinhos

Ganhou eficácia

Descobriu curiosidades: Quem bebe Gatorade compra laxante

(43)

Big Data –Sprint Nextel

Saltou da última para a primeira posição do ranking de satisfação dos usuários de celular nos EUA

Integrou os dados de todos os seus canais de relacionamento

De quebra, cortou pela metade os gastos com call center

(44)

Big Data – Terremoto do Haiti

Pesquisadores americanos perceberam antes do todo mundo a diáspora de Porto Príncipe

Usou meio os dados de geolocalização de 2 milhões de chips Sim de celulares

Facilitou a atuação da ajuda humanitária

(45)

Big Data – Hospital do Canadá

Monitoramento em tempo real de dezenas de indicadores de saúde de bebes prematuros.

O cruzamento permitiu aos médicos antecipar ameaças às vidas das crianças

(46)

Big Data – Vestas Wind

Para instalar turbinas eólicas, a empresa analisou petabytes de dados climáticos, de nível de marés, mapas de desmatamento, etc

O que costumava durar semanas, durou algumas horas

(47)

Big Data – Biologia Molecular

O EMBL (Laboratório Europeu de Biologia Molecular), mantem acervos de dados com dezenas de petabytes que dobram de tamanho a cada ano

.

Um micro-array de subtipos de cancer de mama, para pesquisas de novas drogas

(48)

Dispositivos Vestíveis

Monitoramento de sinais vitais Fotos a partir de comandos de voz, enviar mensagens instantâneas e realizar vídeoconferências

Monitoramento de sinais vitais

(49)

M-Health

(saúde com dispositivos móveis)

(50)

Os SGBD Relacionais

(51)

• Possui versões para vários sistemas operacionais (Windows, Unix, Linux, FreeBSD)

• É Gratuito

• É usado em muitas aplicações Web.

Ex. Como servidor de dados para comércio eletrônico

• É usado em muitos web sites como: nokia.com, google, facebook, youtube, Wikipédia, FotoLog, etc.

(52)

Modo Texto

(53)

Ferramenta Gráfica

(DbDesigner)

(54)

Ferramenta Gráfica

(mysql Workbench)

(55)

• Um SGBD bastante antigo (1979) e muito poderoso

• Multiplataforma/multiusuário

• Seguro

• É o principal SGBD em banco de dados corporativos (cliente/servidor)

• Variedade de distribuições, abrangendo:

Macintosh;

PC (Windows, Unix, Linux, FreeBSD);

Computadores de grande porte

• SGBD padrão SQL

(56)
(57)

-Produzido pela microsoft

-Multiplataforma/multiusuário

-Roda exclusivamente em Windows

-É um SGBD bastante interativo, uma ótima interface

(58)
(59)

-Um SGBD gratuito de bastante aceitação

-Inicialmente concebido para o sistema operacional Linux

-Muito utilizado em aplicações web (comércio eletrônico, utilizando a linguagem PHP)

-Multiplataforma/multiusuário

-Em 2008 foi agraciado como o melhor produto de BD (Developer.com) -Clientes:

Yahoo!, MySpace, Sony, Basf, Skype, Sun

(60)
(61)

- Seu sucesso vêm da inclusão do SGBD nas ferramentas de desenvolvimento da Borland (Delphi, C++ Builder,

Jbuilder, ...)

-Outro fator para sua maior aceitação foi a liberação de uma Versão open source (código fonte aberto)

(62)
(63)

- Produzido pela IBM, nasceu dos ambientes de grande porte

-Foi posteriormente portado outras plataformas (microcomputadores)

- Um dos primeiros SGBD a usar a linguagem SQL

(64)
(65)

- O Firebird é um SGBD relacional de código aberto

-Roda em Linux, Windows, MacOS e uma gama de SO Unix-Like

- Baseado no código do Interbase (2000), mas a partir da versão 1.5 o código foi reescrito

-É amplamente utilizado em todo o mundo, com a maior base de usuários no Brasil, Rússia e Europa.

(66)
(67)

SQLite é uma biblioteca em linguagem C que implementa um banco de dados SQL embutido.

• Programas que usam a biblioteca SQLite podem ter acesso a banco de dados SQL sem executar um processo SGBD separado.

• o SQLite funciona como um “mini-SGBD”, capaz de criar um arquivo em disco e ler e escrever diretamente sobre este

arquivo.

• Usado em dispositivos móveis (celulares, tablets) e sistemas embarcados (Equipamentos médicos, Automotivos,

Aviônicos, etc)

(68)

Banco de Dados Relacionais

Armazena dados em tabelas

Possuem atributo tipo chave

implementam funcionalidades simples do tipo CRUD (do inglês Create, Read, Update e Delete)

controla o armazenamento, recuperação, exclusão, segurança e integridade dos dados

Tabela Empregado

(69)

Banco de Dados Não-Relacionais (NoSQL) Escalabilidade

Volume de dados crescente

Disponiblidade dos dados (tempo real)

(70)

Escalabilidade

Característica de Aumentar a capacidade do sistema (seja processamento, armazenamento, E/S)

Há um Aumento da Performance depois da adição de Hardware ou Serviço.

(71)

Escalabilidade Vertical

Adicionar novos componentes na máquina.

É quando você coloca mais memória, mais disco, mais CPU no seu servidor.

Geralmente requer desligar a máquina, adicionar recursos e ligar novamente.

(72)

Escalabilidade Horizontal

Adicionar máquinas em Paralelo

Coloca mais servidores para atender a demanda Carga é balanceada entre os servidores

(ex. Cluster)

(73)

NoSQL - Escalabilidade

(74)

NoSQL – Não Relacionais

São Facilmente escaláveis Horizontalmente

Trabalham com quantidades maciças de dados Não utilizam o modelo relacional para suas

estruturas de dados

NoSql – Not Only Sql

(75)

Banco de Dados Não-Relacionais (NoSQL)

Gerenciar os grandes volumes de dados

Buscar alto desempenho e disponibilidade

Permitem uma escalabilidade mais barata e menos trabalhosa Características de poder trabalhar com dados semi-estruturados ou crus vindos de diversas origens

(arquivos de log, web-sites, arquivos multimídia, etc...).

Modelos Baseados em Documentos, Chave-Valor, Grafos, etc.

(76)

Banco de Dados Não-Relacionais (NoSQL)

Facebook

Nível de petabytes (em 2011)

Este volume de dados ultrapassou 30 petabytes

Sendo que menos de um ano antes o volume era de 20 petabytes

(77)

Chave/Valor (Key/Value) Orientados a Documentos Orientados a colunas

Grafos

Tipos (NoSQL)

(78)

O modelo chave-valor é o mais simples e fácil de implementar

Usa uma tabela hash na qual há uma chave única e um indicador de um dado ou de um item em particular

NoSQL – Chave/Valor

(79)

Cache de conteúdo

(grande quantidade de dados, carregamento massivo)

Pesquisas rápidas Logging

(registro de eventos relevantes)

NoSQL – Chave/Valor - Aplicações:

(80)

NoSQL – Chave/Valor - uso:

(81)

Armazenar e para processar grandes quantidades de dados distribuídos em muitas máquinas.

É um pouco mais complexo que o modelo chave-valor Muda-se o paradigma de orientação a registros ou

tuplas (como no modelo relacional) para orientação a atributos ou colunas (modelo NoSQL).

NoSQL – Orientados a Colunas

(82)

Ainda existem chaves, mas elas apontam para colunas múltiplas.

As colunas são organizadas por família da coluna

NoSQL – Orientados a Colunas

(83)

Aplicações distribuídas com uso intensivo de dados

Ex. Facebook

NoSQL – Orientados a Colunas -

Aplicação

(84)

NoSQL – Orientados a Colunas - Uso

(85)

Um documento é:

-um objeto

-tem um identificador único

- tem um conjunto de campos, que podem ser strings, listas ou documentos aninhados

Em cada documento temos um conjunto de campos (chaves) e o valor deste campo

NoSQL – Orientados a Documentos

(86)

{“screen name”: “@infomagazine”

"text": “The 8 most stressful jobs in tech. Is yours one of them?”

"url": "https://t.co/qOfPJJrfcw",

“screen name”: @infomagazine

"lang": “En",

"created_at": "Fri Feb 05 02:31:38 +0000 2016",

"place": “United States“,...

}

NoSQL – Orientados a Documentos

Documento: arquivo .JSON

(87)

Aplicações Web

(Similar ao armazenamento chave-valor) Tolerante a dados incompletos

NoSQL – Orientados a Documentos –

Aplicação

(88)

NoSQL – Orientados a Documentos - Uso

(89)

Possuem:

os nós (são os vértices do grafo)

os relacionamentos (são as arestas)

e as propriedades (ou atributos) dos nós e relacionamentos

NoSQL – Grafos

(90)

“Quais cidades foram visitadas anteriormente por pessoas que viajaram para o Rio de Janeiro?”

NoSQL – Grafos

(91)

Manipulação de dados estatísticos, frequentemente escritos mas raramente lidos

(como um contador de hits na Web)

Aplicações que exigem alto desempenho em consultas com muitas junções (Tabelas)

Redes Sociais, Recomendações (Foco em modelar a estrutura dos dados – interconectividade)

NoSQL – Grafos - Aplicação

(92)

NoSQL – Grafos - Uso

(93)

SGBD’s NoSQL

(94)

50 GB de dados para armazenar

Mysql (Relacional)

 300 ms – Write

 350 ms – Read

Cassandra (NoSQL)

 0.12 ms – Write

 15 ms – Read

 Diferença:

Write – 2.500 vezes mais rápido o NoSQL

Read – 23 vezes mais rápido o NoSQL

(95)

Quando Usar?

SGDB-Relacional NoSQL

O armazenamento deve ser capaz de lidar com carregamentos

pesados Armazenamento é esperado para

apresentar carregamento pesado também, mas consiste

principalmente na leitura de operações

Você executa muitas operações de escrita no armazenamento

Você prefere performance a uma

estrutura de dados sofisticada Você quer um

armazenamento que seja escalável horizontalmente Você precisa de uma linguagem

SQL query poderosa Simplicidade é bom, como em

uma linguagem query bem simples (sem joins)

(96)

Panorama de uso - SGBD

(97)

Fonte: THE REAL WORLD OF THE DATABASE ADMINISTRATOR.

Unisphere Research and sponsored by Dell Software. 2015.

(98)

Fonte: THE REAL WORLD OF THE DATABASE ADMINISTRATOR.

Unisphere Research and sponsored by Dell Software. 2015.

(99)

Fonte: THE REAL WORLD OF THE DATABASE ADMINISTRATOR.

Unisphere Research and sponsored by Dell Software. 2015.

Referências

Documentos relacionados

A não uniformização quanto ao método de referência pode promover diferenças entre as curvas de calibração geradas por laboratórios de dosimetria citogenética, que podem

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

A variação do pH da fase móvel, utilizando uma coluna C8 e o fluxo de 1,2 mL/min, permitiu o ajuste do tempo de retenção do lupeol em aproximadamente 6,2 minutos contribuindo para

Conclui-se que o conhecimento do desenvolvimento ponderal evidenciou um padrão racial, que o perímetro torácico está altamente associado ao peso corporal e que equações de

As principais indicações para a realização foram a suspeita de tuberculose (458 pacientes) e uso de imunobiológicos (380 pacientes).. A maior prevalência de resultado positivo

No caso de uma apresentação de Artigo em formato Áudio, o arquivo deverá ser enviado em CD por correio postal para:.. Comitê Editorial INFEIES - RM

Essa publicação (Figura 6) destaca a “grande ameaça” que está por trás do pânico moral: a destruição da família nuclear (pai, mãe e filhos).Em seguida o pastor

Entretanto cabe dizer que a prática dessa modalidade esportiva tem como maior benefício a integração social do indivíduo, colaborando para a criação de uma