• Nenhum resultado encontrado

Banco de dados

N/A
N/A
Protected

Academic year: 2022

Share "Banco de dados"

Copied!
85
0
0

Texto

(1)

Banco de dados

´ Prof. Dr. Vladimir Costa de Alencar

´ bit.ly/valencar

´ twitter: @valencar

´ v

ladimir.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)

• É 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.

(23)

• 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.

(24)

• Surgimento da XML

• Crescimento do “Data Mining”

• Crescimento dos “Data Warehouse”

• Big Data

• Machine Learning – Predictive Analytics

(25)

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

(26)

Big Data – Empresa SkyBox

SkyBox

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

estacionamento

(27)

Big Data – Projeto Global Pulse - ONU

Análise de mensagens e posts para prever:

Desemprego

Esfriamento econômico

Epidemias de doenças

(28)

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

(29)

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

(30)

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

(31)

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

(32)

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

(33)

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

(34)

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

(35)

M-Health (saúde com dispositivos móveis)

(36)

Os SGBD Relacionais

(37)

• 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.

(38)

Modo Texto

(39)

Ferramenta Gráfica

(DbDesigner)

(40)

Ferramenta Gráfica

(mysql Workbench)

(41)

• 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

(42)
(43)

-Produzido pela microsoft -Multiplataforma/multiusuário

-Roda exclusivamente em Windows

-É um SGBD bastante interativo, uma ótima interface

(44)
(45)

-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

(46)
(47)

- 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)

(48)
(49)

- Produzido pela IBM, nasceu dos ambientes de grande porte

-Foi posteriormente portado outras plataformas (microcomputadores)

- Um dos primeiros SGBD a usar a linguagem SQL

(50)
(51)

- 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.

(52)
(53)

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)

(54)

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

(55)

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

Volume de dados crescente

Disponiblidade dos dados (tempo real)

(56)

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.

(57)

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.

(58)

Escalabilidade Horizontal

Adicionar máquinas em Paralelo

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

(ex. Cluster)

(59)

NoSQL - Escalabilidade

(60)

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

(61)

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.

(62)

Banco de Dados Não-Relacionais (NoSQL)

´ Facebook

q Nível de petabytes (em 2011)

q Este volume de dados ultrapassou 30 petabytes

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

(63)

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

Grafos

Tipos (NoSQL)

(64)

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

(65)

Cache de conteúdo

(grande quantidade de dados, carregamento massivo)

Pesquisas rápidas Logging

(registro de eventos relevantes)

NoSQL – Chave/Valor - Aplicações:

(66)

NoSQL – Chave/Valor - uso:

(67)

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

(68)

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

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

NoSQL – Orientados a Colunas

(69)

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

Ex. Facebook

NoSQL – Orientados a Colunas -

Aplicação

(70)

NoSQL – Orientados a Colunas - Uso

(71)

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

(72)

{“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

(73)

Aplicações Web

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

NoSQL – Orientados a Documentos –

Aplicação

(74)

NoSQL – Orientados a Documentos - Uso

(75)

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

(76)

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

NoSQL – Grafos

(77)

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

(78)

NoSQL – Grafos - Uso

(79)

SGBD’s NoSQL

(80)

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

(81)

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 performancea 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)

(82)

Panorama de uso - SGBD

(83)

Fonte: THE REAL WORLD OF THE DATABASE ADMINISTRATOR.

Unisphere Research and sponsored by Dell Software. 2015.

(84)

Fonte: THE REAL WORLD OF THE DATABASE ADMINISTRATOR.

Unisphere Research and sponsored by Dell Software. 2015.

(85)

Fonte: THE REAL WORLD OF THE DATABASE ADMINISTRATOR.

Unisphere Research and sponsored by Dell Software. 2015.

Referências

Documentos relacionados

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 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

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

seria usada para o parafuso M6, foram utilizadas as equações 14 e 15, referentes aos parafusos de 8 mm de diâmetro e folga entre parafuso e furo de 0,5 mm, que definem,

No entanto, os resultados apresentados pelo --linalol não foram semelhantes, em parte, aos do linalol racêmico, uma vez que este apresenta um efeito vasorelaxante em anéis de

Resumo: O presente trabalho corresponde a um estudo empírico descritivo e exploratório que aborda comportamentos e falas de atores políticos que participaram do processo legislativo

As micotoxinas são compostos químicos tóxicos provenientes do metabolismo secundário de fungos filamentosos e conhecidas pelos danos causados à saúde humana e

onde Qe são as forças de origem externa ao sistema e Qc são as forças de reação. Estas equações não podem ser utilizadas diretamente, pois as forças de