Sistemas de Informação e Banco de Dados

Propaganda
Sistemas de Informação e
Banco de Dados
Prof. Carlos Henrique Santos da Silva, MSc
PMP, PMI-RMP, CSM, ITIL & CobiT Certified
Módulo 2
Bancos de Dados
Prof. Carlos Henrique Santos da Silva, MSc
PMP, PMI-RMP, CSM, ITIL & CobiT Certified
Carlos Henrique Santos da Silva, MSc
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Mestre em Informática em Sistemas de Informação – UFRJ/IM
Pós-Graduado em Análise, Projeto e Gerência de Sistemas – PUC
Pós-Graduado em Engenharia de Sistemas de Computação – UNESA
Pós-Graduado em Gerência de Sistemas Cliente/Servidor – UFRJ/NCE
Pós-Graduado em Projeto de Software Orientado a Componentes - PUC
Certificado em Project Management Professional (PMP) – PMI
Certificado em Risk Management Professional (PMI-RMP) – PMI
Certificado em Scrum Master (CSM) – pela Star Alliance
Certificado em IT Services Management – ITIL Foundations – Exin
Certificado em ISO/IEC 20.000 Foundations – Exin
Certificado em COBIT Foundations pelo ISACA
Membro do Project Management Institute (PMI)
Membro da Sociedade Brasileira de Computação (SBC)
Instrutor dos cursos de gerenciamento de projetos da Projectlab
Professor de Cursos de MBA / Pós-Graduação da UFRJ
Assessor-chefe do Escritório de Projetos da IplanRio (Prefeitura do Rio)
Abril/2012
Sistemas de Informação e Banco de Dados
3
BANCO DE DADOS
Abril/2012
Sistemas de Informação e Banco de Dados
4
Banco de Dados
• Coleção de dados relacionados
– fatos conhecidos que podem ser registrados e que
possuem um significado implícito
– Exemplo: nomes, números de telefone e
endereços das pessoas que você conhece
• Importante
– Qualquer coleção de dados não é um banco de
dados
Abril/2012
Sistemas de Informação e Banco de Dados
5
Cliente: 1234
Nome:Cliente:
Álvaro 1234
Pereira
Nome:
Álvaro
Telefone: Pereira
Telefone:
Residencial
021- 2344324
Residencial
2344324
Escritório 021021- 254-1213
Escritório
- 254-1213
Escritório
021021
- 254-0909
Fax
Escritório 021
254-0909
Fax
.....
.....
Abril/2012
Pedido: No 122/94
Pedido: 1234
No 123/94
Cliente:
1234
ProdutoCliente:Quant.
Produto
Quant.
Pitza
Napol G
01
Pitza Napol G
01
Big Coke
02
Sistemas de Informação e Banco de Dados
6
Cliente: 1231
Nome:Cliente:
Álvaro 1232
Pereira
Cliente:
1233
Nome:
Álvaro
Cliente:
- - - Nome:
- - - - - Álvaro
- - - - Pereira
- 1234
---Pereira
- -- -- - - ----Nome:
------ -- -- -Álvaro
------ --- -Pereira
- -- -- -- - - -- -- -- -- -- -- -- -- -- -- -- -- --- --- --- -- -- - - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - ---------------------------------
Telefone Residencial
021-234-4324
Telefone Escritório 1
021-254-1213
Telefone Escritório 2
021-254-0909 Fax
Pedido: 121/94
Pedido:1234
122/94
Cliente:
Pedido:1234
123/94
Cliente:
Nome:
A.Pereira
Cliente:
1234
Nome:
A.Pereira
Nome: A.Pereira
Pedido: 123/94
Item: 01
Produto: Pitza Napolitana G.
Quantidade: 1 Unid.
Pedido: 123/94
Item: 02
Produto: Big Coke
Quantidade: 2 Unid.
Abril/2012
Sistemas de Informação e Banco de Dados
7
Evoluindo em direção ao
SGBD
PROGRAMA COM DADOS ARMAZENADOS
PROGRAMA
PROGRAMA
ARQUIVO
SGBD
BD
Limitações do Gerenciamento de
Dados em Sistema de Arquivos
• Exige programação extensiva
• Não é capaz de executar consultas AdHoc
• A administração de sistema pode ser complexa e
difícil
• É difícil fazer alterações nas estruturas existentes
• => Um sistema de arquivos apresenta estrutural
– O acesso a um arquivo é dependente da sua estrutura
Abril/2012
Sistemas de Informação e Banco de Dados
9
Sistema Gerenciador de Banco de
Dados (SGBD)
• Sistema que permite o armazenamento,
manutenção, manipulação e apresentação de
dados, preservando sua integridade e
assegurando sua segurança.
• É um conjunto de programas que gerenciam a
estrutura do banco de dados e controlam o
acesso aos dados armazenados
Abril/2012
Sistemas de Informação e Banco de Dados
10
Sistema Gerenciador de Banco de
Dados (SGBD)
• Utilizado para organizar dados, permite aos
usuários consultar e atualizar dados.
• Serve como intermediário entre o usuário e o
banco de dados.
• Gerenciamento de Dados
– é uma disciplina que foca na geração, no
armazenamento e na recuperação adequada dos
dados.
Abril/2012
Sistemas de Informação e Banco de Dados
11
SGBD - Vantagens
• Aprimoramento do compartilhamento de
dados
• Aprimoramento da segurança de dados
• Melhoria na integração dos dados
• Aprimoramento do acesso aos dados
• Aprimoramento da tomada de decisão
• Aumento da produtividade do usuário final
Abril/2012
Sistemas de Informação e Banco de Dados
12
SGBD - Desvantagens
• Aumento de custos
–
–
–
–
•
•
•
•
Licenciamento
Treinamento
Manutenção
Operação
Complexidade do gerenciamento
Manutenção do banco de dados atualizada
Dependência do fornecedor
Ciclos frequentes de atualização substituição
Abril/2012
Sistemas de Informação e Banco de Dados
13
Funções do SGBD
• Gerenciamento do
– dicionário de dados
– elementos de dados e
– Relacionamentos
•
•
•
•
•
•
•
•
Gerenciamento de armazenamento de dados
Transformação e apresentação de dados
Gerenciamento de segurança
Controle de acesso multiusuário
Gerenciamento de backup e recuperação
Gerenciamento de integridade de dados
Linguagem de acesso a BD e interfaces de programação SQL
Interfaces de comunicação ao Banco de Dados
Abril/2012
Sistemas de Informação e Banco de Dados
14
Linguagens de Bancos de Dados
• LDD (linguagem de definição de dados)
– descrições das construções do esquema
– armazenamento da descrição do esquema
• LMD (linguagem de manipulação de dados)
– para manipular a instância
– busca
– Modificação
• Inserção
• Exclusão
• atualização
Abril/2012
Sistemas de Informação e Banco de Dados
15
REFERÊNCIAS
Abril/2012
Sistemas de Informação e Banco de Dados
16
Sites dos Vendedores de SGBD
•
•
•
•
•
•
•
Oracle: www.oracle.com
MS SQL Server: www.microsoft.com/sql/default.asp
IBM DB2: www.ibm.com/software/data/db2/
Informix: www.ibm.com/software/data/informix
Sybase: www.sybase.com
MySQL: http://www.mysql.com/ (SUN)
Ingres: http://www.ingres.com/
Sites dos SGBD
•
•
•
•
Postgresql: www.postgresql.org
Interbase: www.borland.com
Firebird: www.firebirdsql.org/
Adabas:
http://www.softwareag.com/corporate/products/adabas_201
0/
• OODBMS:
– UniSQL: www.unisql.com
– Poet: www.poet.com
– Object Store: www.odi.com
– Ontos: www.ontos.com
– Jasmine: www.ca.com
• XML-Native:
– Tamino: www.softwareag.com/tamino/
Ferramentas de Modelagem
•
•
•
•
•
•
•
•
•
ERWin (CA): www.ca,com
DeZign for DB: www.datanimic.com
Embarcadero: www.embarcadero.com
MS Visio Enterprise: www.microsoft.com
Oracle designer: www.oracle.com
System Architect: www.popkin.com
Rational Rose: www.rational.com
Visible Analyst: www.visible.com
Power Design: www.sybase.com
Magazines
• Oracle Magazine:
www.oracle.com/oramag/index.html
• DB2 Magazine: www.db2mag.com
• SQL Server Magazine: www.sqlmag.com
• Sybase Magazine: www.sybase.com/inc/sybmag
• Database Trends and Applications: www.dbta.com
• Data Management Review: www.dmreview.com
• Exploring Oracle: www.elementkjournals.com/dbm
• SQL Magazine: www.devmedia.com.br/sqlmagazine
Portais
•
•
•
•
DBAzine.com: www.dbazine.com
Searchbase.com: www.searchbase.com
Data Administration newsletter: www.tdan.com
Oracle:
– www.lazydba.com
– www.orafans.com
– www.oraworld.com
• DB2:
– www.ruban.de
– db2usa.hypermart.net/cindex.htm
– www7b.boulder.ibm.com/dmdd/
• SQL Server:
– www.sqlservercentral.com
– www.sql-server-performance.com
– www.swynk.com/sql
Portais
• Padronização
(www.jcc.com/SQLPages/jccs_sql.htm):
– ANSI: www.ansi.org
– ISO: www.iso.ch
– NIST: www.nist.gov
• DAMA (Data Management Association:
www.dama.org
User Groups
•
•
•
•
•
Oracle: www.ioug.org
DB2: www.idug.org
SQL Server: www.sqlpass.org
Informix: www.iiug.org
Sybase: www.sybase.com/ISUG/
MODELO DE DADOS
Abril/2012
Sistemas de Informação e Banco de Dados
24
Modelo de Dados
• Modelo é uma abstração de um objeto ou evento
real de maior complexidade
• Modelo de Dados
– é uma representação relativamente simples,
normalmente gráfica, de estrutura de dados reais
mais complexas
– representa estruturas de dados e suas
características, relações, restrições e outros
elementos que tenham finalidade de dar suporte
ao problema específico de um domínio
Abril/2012
Sistemas de Informação e Banco de Dados
25
Modelos de Dados
• Auxilia na descrição da estrutura do banco de
dados numa determinada etapa do projeto
• Classificação segundo o nível de abstração
– Modelo conceitual
– Modelo lógico
– Modelo físico
Abril/2012
Sistemas de Informação e Banco de Dados
26
Modelo Conceitual
• Descreve a estrutura de um BD de forma
independente de qualquer implementação
• Exemplo
– Modelo Entidades-Relacionamentos
– Representado pelo diagrama E-R
Notação tradicional do Peter Chen
Abril/2012
Sistemas de Informação e Banco de Dados
27
Blocos Básicos de Modelos de Dados
• Entidade
– Algo (pessoa, lugar, objeto, evento)
– representa um tipo particular de objeto do mundo
real
• Atributo
– Uma característica de uma entidade
• Relacionamento
– Descreve associação entre entidades
• Restrição
– Limitação imposta aos dados
Abril/2012
Sistemas de Informação e Banco de Dados
28
Tipos de Relacionamento
• Um-para-um (1:1): uma entidade em A está associada
a no máximo uma entidade em B, e uma entidade em
B está associada a no máximo uma entidade em A.
• Um-para-muitos (1:N): uma entidade em A está
associada a qualquer número de entidades em B,
entretanto uma entidade em B está associada a no
máximo uma entidade em A.
• Muitos-para-muitos (N:N): uma entidade em A está
associada a qualquer número de entidades em B, e
uma entidade em B está associada a qualquer número
de entidades em A.
Relacionamento Um-para-um (1:1)
a1
b1
a2
b2
a2
a3
b3
a4
b4
Relacionamento Um-para-Muitos (1:N)
a1
a2
b1
b2
a2
b3
b4
a3
b4
Relacionamento Muitos-para-Muitos (N:N)
a1
b1
a2
b2
a2
a3
b3
a4
b4
Modelo Lógico
• Descreve a estrutura do banco de dados em
função de uma futura implementação
– para perseguir a implementação ideal
– primar pela qualidade
• Exemplo
– Modelo Relacional
• baseado em relações
• representação tabular (plana)
Abril/2012
Sistemas de Informação e Banco de Dados
33
Modelo Físico
• Descreve os detalhes de armazenamento
(interno) dos dados e das formas de acesso a
esses dados
– para garantir a implementação possível
– primar pelo desempenho
• Derivado a partir do respectivo modelo lógico
• Como?
– detalhes de armazenamento: organização de arquivos
– acesso aos dados: utilização de índices
Abril/2012
Sistemas de Informação e Banco de Dados
34
Importância da Modelagem
– A informação é a matéria-prima de um modelo
ótimo.
– A modelagem de um sistema é como “a plantabaixa de um edifício”. Garante a estabilidade do
sistema.
MER
CONCEITUAL
LÓGICO
FISICO
BD (Tabelas)
Abril/2012
Sistemas de Informação e Banco de Dados
35
Normalização
"O que é?"
• É o processo formal que examina passo a passo
os atributos de uma entidade, que tem como
objetivo, evitar anomalias que possam aparecer
no decorrer dos processos de inclusão, exclusão e
alteração de atributos de uma entidade,
minimizando redundâncias e inconsistências e
facilitando a manipulação do Banco de Dados e a
manutenção do Sistema de Informações.
Abril/2012
Sistemas de Informação e Banco de Dados
36
Benefícios do uso da
Normalização
• Estruturação da informação e melhoria da qualidade de
representação relacional;
• Eliminação das possibilidades de ocorrência de anomalias na
manipulação dos dados (que comprometem sua integridade);
• Economia de espaço de armazenamento e de custos de
manipulação;
• Exemplos de custos evitados: Manipulação de maior volume de
dados, do que os efetivamente necessários, atualização de dados
redundantes e etc;
• Potência a estabilidade do modelo lógico relacional, ao aumentar a
capacidade de um modelo, se mantém inalterado mesmo
ocorrendo mudanças que venham a ser percebidas ou introduzidas
no ambiente que tenha sido modelado;
• Não é um processo com finalidade restritiva e sim com um caráter
organizativo.
Abril/2012
Sistemas de Informação e Banco de Dados
37
Primeira Forma Normal – 1FN
• Quando todos os domínios básicos não possuem valores
multivalorados e sim valores atômicos.
• Objetivo
– Eliminar os domínios multivalorados.
• Procedimentos
– Identificar a chave primária da entidade.
– Identificar o atributo multivalorado e removê-lo da entidade.
– Criar uma nova entidade com a chave primária da entidade
anterior e com os atributos multivalorados que foram
removidos da entidade.
– A chave primária da nova entidade será obtida pela
concatenação da chave primária da entidade inicial junto com os
atributos multivalorados.
Abril/2012
Sistemas de Informação e Banco de Dados
38
Exemplo – 1FN
• Não Normalizada:
– Projeto (cod_proj, tipo, descr, (cod_emp, nome,
cat, sal, data_ini, temp_aloc))
• Primeira Forma Normal:
– Projeto (cod_proj, tipo, descr)
– Projeto_Emp (cod_emp, nome, cat, sal, data_ini,
temp_aloc, cod_proj)
Abril/2012
Sistemas de Informação e Banco de Dados
39
Segunda Forma Normal – 2FN
•
•
•
•
Quando além de encontrar-se na 1 FN, cada atributo não não-chave
depende da chave primária completa.
Uma tabela que não se encontra na 2 FN contém dependências funcionais
parciais, ou seja, contém colunas não-chave que dependem apenas de
uma parte da chave primária. Toda tabela que está na 1 FN e que possui
apenas uma coluna como chave primária já está na 2 FN, pois não existirá
dependência parcial.
Objetivo
– Dependência do atributo determinante.
Procedimentos
– Identificar os atributos que não são funcionalmente dependentes de
toda a chave primária.
– Remover da entidade todos esses atributos identificados e criar uma
nova entidade com eles.
Abril/2012
Sistemas de Informação e Banco de Dados
40
Exemplo – 2FN
• Projeto (cod_proj, tipo, descr)
• Projeto_Emp ( cod_proj, cod_emp, data_ini,
temp_aloc)
• Emp (cod_emp, nome, cat, sal)
Abril/2012
Sistemas de Informação e Banco de Dados
41
Terceira Forma Normal – 3FN
• Dependência Transitiva
– Quando uma coluna, além de depender da chave-primária
da tabela, depende de outra coluna ou conjunto de colunas
da tabela.
• Objetivo
– Eliminar Dependência Transitiva entre os atributos.
• Procedimentos
– Identificar todos os atributos que são funcionalmente
dependentes de outros atributos não-chave.
– Removê-los e criar uma nova entidade com os mesmos.
Abril/2012
Sistemas de Informação e Banco de Dados
42
Exemplo – 3FN
• Projeto (cod_proj, tipo, descr)
• Projeto_Emp (cod_proj, cod_emp, data_ini,
temp_aloc)
• Emp (cod_emp, nome, cat)
• Cat (cat, sal)
Abril/2012
Sistemas de Informação e Banco de Dados
43
Administrador de Dados
• Desenvolve e administra centralizadamente
estratégias, procedimentos, práticas e planos
capazes
de
disponibilizar
os
dados
corporativos necessários, quando necessários,
com integridade, privacidade, documentação
e compartilhamento.
Abril/2012
Sistemas de Informação e Banco de Dados
44
Tarefas do AD
• Principais Tarefas dos Administradores de Dados
– Separar os aspectos de negócio da gestão de dados dos aspectos
tecnológicos.
– Entender o negócio e traduzir para um modelo conceitual e lógico
– Fazer coleta de requisitos, análise e projeto de BD
– Identificar e catalogar os dados requeridos por usuários do negócio
– Produzir modelos de dados conceitual e lógico com a visão global da
empresa, e dos diversos relacionamentos entre dados para processos
de negócio
– Política de dados para a organização
– Estabelecimento de padronização
– Documentação, compartilhamento e implementação dos dados
– Uso de um repositório para metadados
ABD - Administrador de BD
– Principal meta de um ABD: configurar o manter o BD
de modo a torná-lo robusto, seguro e rápido nos
serviços prestados
– Cada banco de dados requer pelo menos um ABD
– A tarefa de um Administrador de Banco de Dados
(ABD) pode ser exercida por uma única pessoa ou por
um grupo de pessoas, dependendo do tamanho da
empresa
– DBA deve ser pró-ativo: implementar práticas e
procedimentos para evitar que ocorram problemas.
Tarefas de um ABD
• Entender os modelos de dados produzidos pelo DA e
comunicar estes modelos com os desenvolvedores de
aplicações
• Instalar e fazer upgrades do SGBD
• Inicializar e Finalizar o SGBD
• Alocar memória e planejar futuros requisitos de memória
(crescimento)
• Criar estruturas de armazenamento de banco de dados
(tablespaces) para as aplicações
• Criar tabelas, visões e índices
• Modificar esquemas
• Atribuir papéis a usuários e manter segurança
Tarefas de um ABD
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Fazer Auditoria
Controlar e monitorar acesso dos usuários
Migrar Banco de Dados para outras tecnologias
Manter ambientes de BD de Teste e Produção
Monitorar e otimizar performance
Assegurar disponibilidade do SGBD
Fazer backup e recuperação a falhas
Manter a Integridade dos dados
Realizar a migração de dados
Contactar fabricante para suporte
Participar de reuniões estratégicas e de projeto
Descobrir e testar novas tecnologias
Tunning
Etc, etc, etc.
INSTALAÇÃO
Criando o Ambiente de BD
•
Definir a estratégia da organização
•
Qual SGBD é desejável para a empresa?
•
Deve-se procurar minimizar o número de SGBDs diferentes na empresa.
•
Deve-se procurar os grandes fabricantes (IBM DB2, Oracle, MS SQLServer)
•
Se a empresa adota a política de software open-source então as escolhas
são: Postgresql e MySQL
•
Se há requisitos específicos do tipo:
– Uso para BD muito grandes (Very Large DB) => NCR Teradata
– Uso exclusivo para XML => Tamino
– Uso de SGBD OO => ObjectDesign e Versant
•
Importante saber se o fornecedor proverá no futuro novas funcionalidades
Criando o Ambiente de BD
• Na escolha de um BD são importantes os seguintes
aspectos:
–
–
–
–
–
–
–
Suporte ao Sistema Operacional
Tipo da organização
Benchmarks
Escalabilidade
Disponibilidade de ferramentas de software de apoio
Peopleware
TCO (custo da licença + custo de software extra requerido +
custo de profissionais + suporte + administração do SGBD)
– Política de Releases
– Referências de outros clientes
Avaliando BenchMark
•
•
Benchmark
– Teste usado para comparar performance de hardware e/ou software
– Existem vários benchmarks, em BD TPC é o mais respeitado
TPC – Transaction Processing Performance Council
– É um organização independente e que não visa lucro que gerencia e
administra testes de benchmark
– Testes de benchmark medem performance baseados no número de
transações que um dado sistema e SGBD podem executar por unidade de
tempo (ex. num. de transações por minuto)
– TPC tem os seguintes benchmarks:
• TPC-App: Application Server e Web services benchmark
• TPC-C: Workload de produção planejado num ambiente de transações
• TPC-H: processamento ad-hoc no qual transações não são conhecidas
• TPC-R: ambiente de suporte à decisão
• TPC-W: Processamento de transações na Web
– Ver: http://www.tpc.org
Arquiteturas de SGBD
•
•
•
•
Enterprise:
– Projetado para escalabilidade e performance
– Capaz de suportar grande volumes de dados, múltiplas transações e múltiplos tipos de
aplicação
– Executa numa máquina robusta (mainframe ou servidor UNIX, Linux ou Windows)
– Suporte para múltiplos processadores, queries paralelas e outras feautures avançadas
– Ex. Oracle Enterprise Edition
Departamental:
– Também conhecido como Workgroup DBMS
– Para empresas de médio a pequeno porte
– Executa em UNIX, Linux e Windows
– Ex. Oracle Standard One
Personal:
– Projetado para usuário único
– Roda em plataformas do tipo PC com Linux ou Windows
– Ex. Microsoft Access, Personal Oracle
Mobile
– Projetado para usuários utilizarem remotamente sem conexão
– Plataformas laptop, PDA e mobile phones
– Ex. Personal Oracle Lite
Arquiteturas de SGBD
• Clustering de SGBD
– Clustering é o uso de computadores independentes
trabalhando conjuntamente num único sistema,
altamente disponível. Visa aumentar disponibilidade e
escalabilidade
– Presta-se para load balancing e failover
– Há duas arquiteturas:
• shared-disk : todos os computadores compartilham os
dispositivos de disco. Cada processador tem sua memória
privada.
• shared-nothing: cada sistema tem seus próprios recursos
privados (memória, disco, etc.) e os processadores se
comunicam a através da troca de mensagens na rede.
TUNNING
Abril/2012
Sistemas de Informação e Banco de Dados
55
Tuning
• Tuning diz respeito ao ajuste do SGBD para
melhor utilização dos recursos deste,
provendo um uso eficaz e eficiente do SGBD.
• Requer conhecimento de:
– Desenvolvimento de Aplicações
– SGBD
– Sistema operacional
– Hardware
Tuning
• Em Tuning, comumente serão utilizadas
informações de estatísticas de uso de HW:
– Utilização do processador
– Atividade de I/O
– Paginação
– Memória utilizada
– ...
Tarefas de um ABD: Tuning
• Princípios básicos de Tuning (Shasha 2003):
– Pense global, aja pontual
– Particione os gargalos
– Custos de inicialização são altos, custos de execução são
baixos
– Coloque no servidor apenas o que diz respeito ao servidor
– Esteja preparado para trade-offs
Tuning - Princípio 1
• Princípio 1: Pense global, aja pontual
– Tunning eficaz requer a identificação do problema e uma
intervenção mínima
– Como os médicos devem ( ou deveriam) fazer
– Exemplo de falha deste princípio: consertar uma query
que está rodando lentamente, mas que raramente é
executada ou que ocupa 1% do tempo de CPU.
Tuning - Princípio 2
• Princípio 2: Particionar Gargalos
– O sistema fica lento geralmente porquê há algum(uns)
componentes limitando a performance como um todo.
Agir nesta parte é o correto.
– Particionar permite reduzir a carga de um certo
componente do sistema.
– Lição: quando encontrar um gargalo, primeiro tente
agilizar o componente que causa o gargalo, se não
conseguir sucesso particione.
Tuning - Princípio 3
• Princípio 3: Custos de inicialização são altos,
custos de execução são baixos
– Uma operação de leitura é cara para iniciar, mas menos
cara enquanto se lê. Portanto, tente fazer leituras mais
longas, colocando tabelas que sofrem scan
constantemente serem armazenadas de forma contígua
– O mesmo raciocínio vale para abertura de conexões com o
SGBD, parsing de consultas muito usadas, envio de
mensagens na rede (tamanho das mensagens)
Tuning - Princípio 4
• Princípio 4: Coloque no servidor apenas o que diz
respeito ao servidor
– Saber fazer o load-balancing, permitindo não
sobrecarregar o servidor de banco de dados com tarefas
que poderiam estar em outras camadas.
Tuning - Princípio 5
• Princípio 5: Esteja preparado para trade-offs
– Adição de índices
– Verificar as vantagens/desvantagens entre a compra de
mais recursos versus a agilidade que se irá obter destas
aquisições.
Tuning - Performance
• Cinco fatores influem na performance:
–
–
–
–
–
Workload (carga)
Throughput (Vazão)
Recursos
Otimização
Contenção
Tuning - Workload
• Define a demanda do BD. Combina transações
online, batch jobs, consultas ad hoc, data
warehousing, consultas analíticas, e comandos
dirigidos ao SGBD
• Pode variar drasticamente de dia para dia, hora para
hora, minuto para minuto, segundo para segundo.
• Algumas vezes é previsível (Rodar a folha de
pagamento no final do mês), mas muitas vezes é
imprevisível
• Tem grande impacto na performance do SGBD
Tuning - Throughput
• Define a capacidade do hardware/software
para processar os dados
• É composto de velocidade de I/O, velocidade
de CPU, capacidades de paralelismo, e
eficiência do SO.
Tuning - Recursos
• Kernel do DB, espaço em disco, memória
principal, controladores de cache, e
microcode são exemplos dos recursos a
serem avaliados para computar throughput
Tuning – Otimização
• Refere-se à análise das solicitações ao BD com
custo de query que geram diferentes planos de
acesso aos dados.
Tuning – Contenção
• Quando a demanda (workload) para uma recurso
particular é alta então contenção acontece.
• É a condição na qual dois ou mais componentes
de workload estão tentando usar um recurso em
modo conflitante.
• À medida que a contenção
throughput diminui.
aumenta,
o
Tuning - Resumindo
• Performance de BD pode ser definida como a
otimização de uso de recursos para aumentar
a throughput e minizar a contenção,
possibilitando o maior workload possível ser
processado.
• Um monitoramento efetivo de performance e
estratégia de tuning requer não apenas
expertise no SGBD mas conhecimento que
vai além da administração de BD.
Inteligência na Gestão de Negócios
BUSINESS INTELLIGENCE,
DATAWAREHOUSE E DATAMINING
Abril/2012
Sistemas de Informação e Banco de Dados
71
Inteligência na Gestão do Negócio
• Recursos de Tecnologia de Informação
destinados ao armazenamento e
disponibilização de informações voltadas à
tomada de decisões (estratégicas ou táticas).
• Como parte deste conceito, temos:
– DSS / EIS
– Datawarehouse
– Olap
– Dataminning
Abril/2012
(Ferramentas de
Gestão Avançada)
Sistemas de Informação e Banco de Dados
72
Inteligência na Gestão do Negócio
“a informação certa,
no momento certo,
para a pessoa certa”
Abril/2012
Sistemas de Informação e Banco de Dados
73
Pirâmide Empresarial
Planejamento (Níveis de Decisão)
Estabelece o rumo da
empresa.
Otimiza determinada
área de resultado ou
função.
Define padrões de
funcionamento
diários.
Abril/2012
Sistemas de Informação e Banco de Dados
74
Pirâmide Empresarial
Nível Hierárquico
Nível da Informação
Alta
Administração
Em Grupo
Gestor
No
Detalhe
Técnico
Abril/2012
Macro
Sistemas de Informação e Banco de Dados
75
Pirâmide Empresarial
Efeito (Tempo)
Efeito Financeiro
Longo Prazo
Alto
Médio Prazo
Médio
Baixo
Imediato
Abril/2012
Sistemas de Informação e Banco de Dados
76
Níveis de Conhecimento
Que fatores influenciaram a
variação de vendas de livros de
informática no ano ?
Vendas de livros de informática por
assunto, mês e por região ?
Qual o preço de um livro
de BI ?
Abril/2012
Sistemas de Informação e Banco de Dados
77
Business Intelligence
• Termo utilizado para descrever um conjunto
amplo coeso e integrado de ferramentas e
processos utilizados para captar, coletar,
integrar, armazenar e analisar dados para
geração e apresentação de informações que
deem suporte à tomada de decisões de
negócios.
Abril/2012
Sistemas de Informação e Banco de Dados
78
Business Intelligence
• Trata da criação da inteligência sobre um
negócio.
• Baseia-se no aprendizado e na compreensão
de fatos sobre o ambiente de negócios.
Abril/2012
Sistemas de Informação e Banco de Dados
79
Business Intelligence
• BI não é, por si só, um produto, mas um
modelo de conceitos, práticas, ferramentas e
tecnologias que auxiliam a empresa a
compreender melhor seus recursos centrais,
fornecer um retrato instantâneo da situação
da organização e identificar oportunidades
fundamentais
para
criar
vantagem
competitiva.
Abril/2012
Sistemas de Informação e Banco de Dados
80
Business Intelligence
Abril/2012
Sistemas de Informação e Banco de Dados
81
Business Intelligence
• Não há arquitetura única!
• Recursos de BI
– Simples coleta e extração de dados
– Complexas aplicações de análise e apresentação
• Principal foco:
– Coletar
– Integrar
– Armazenar
dados de negócio
• Agregar valor ao negócio!
Abril/2012
Sistemas de Informação e Banco de Dados
82
Etapas do BI
1) Coleta e armazenamento de dados operacionais
2) Agregação de dados operacionais em dados de
suporte a decisões
3) Análise de dados de suporte a decisão para
gerar informações ao usuário final para dar
apoiar a tomada de decisões de negócios
4) Tomada de decisão de negócios, o que por sua
ves, gera mais dados, que são coletados, ...
5) Monitoramento para auxiliar os resultados das
decisões.
Abril/2012
Sistemas de Informação e Banco de Dados
83
Componentes Básicos
• Ferramentas de extração, transformação e
carga de dados (ETL)
• Armazenamento de dados
• Ferramentas de consulta e análise de dados
• Ferramentas de apresentação e visualização
de dados.
Abril/2012
Sistemas de Informação e Banco de Dados
84
Business Intelligence
Abril/2012
Sistemas de Informação e Banco de Dados
85
Ferramentas de BI
FERRAMENTA
DESCRIÇÃO
ALGUNS FORNECEDORES
O sistema de suporte a decisões (SSD) é uma combinação de ferramentas
computacionais utilizadas para auxiliar a tomada de decisões gerenciais no âmbito
comercial. Esses sistemas foram os precursores dos modernos sistemas de BI. Um
SSD normalmente possui um foco e um alcance bem mais restrito do que a
solução BI.
SAP
Teradata
IBM
Proclarity
Painéis de
monitoramento
de atividade dos
negócios
Os painéis utilizam tecnologias com base na web para apresentar os principais
indicadores ou informações de desempenho dos negócios em uma visualização
única e integrada, geralmente utilizando gráficos de modo claro, conciso e de fácil
compreensão.
Salesforce
VisualCalc
Cognos
BusinessObjects
Information Builders
Actuate
Portais
Os portais propiciam um ponto de entrada unificado para a distribuição de
informações. Provida de uma tecnologia com base na web que utiliza navegadores
para integrar dados de diversas fontes em uma única página da web. Tipos
diferentes de recursos BI podem ser acessados por meio de um portal.
Oracle Portal
Actuate
Microsoft
Sistemas de
suporte
a decisões
Ferramentas de
análise de
dados e
relatório
Abril/2012
Ferramentas avançadas utilizadas na consulta de várias fontes de dados distintas
para a criação de relatórios integrados.
Sistemas de Informação e Banco de Dados
Mircrosoft Reporting
Services
Information Builders
Eclipse BIRT
MicroStrategy
86
Ferramentas de BI
FERRAMENTA
DESCRIÇÃO
Ferramentas de
Ferramentas avançadas utilizadas na consulta de várias fontes de dados distintas
análise de dados e
para a criação de relatórios integrados.
relatório
Ferramentas de
mineração de
dados
Ferramentas que fornecem análise estatística avançada para revelar problemas e
oportunidades ocultos no interior dos dados de negócios.
Data warehouses
O data warehouse é o fundamento sobre o qual é construída a infraestrutura de BI.
Os dados são capturados a partir do sistema OLTP e posicionados no DW em base
quase de tempo real. O BI proporciona integração de dados de toda a empresa e
recursos para responder a questões de negócios no tempo oportuno
Ferramentas OLAP
Abril/2012
O processamento analítico on-line proporciona análise de dados
multidimensionais.
Sistemas de Informação e Banco de Dados
ALGUNS FORNECEDORES
Mircrosoft Reporting
Services
Information Builders
Eclipse BIRT
MicroStrategy
MicroStrategy Intelligence
Server
MS Analytics Services
Microsoft
Oracle
IBM
MicroStrategy
Cognos
BusinessObjects
Oracle
Microsoft
87
Necessidades dos Executivos
•
•
•
•
•
•
Decisões rápidas
Medições
Relatórios Padrões
Análises
Acesso a dados externos
Correspondências
Abril/2012
Sistemas de Informação e Banco de Dados
88
Fontes de Dados
Dados dos Clientes
Dados de Compras
Comentários e
Reclamações
Pedidos de Produtos
Abril/2012
Sistemas de Informação e Banco de Dados
89
Diferentes Visões de Negócio
Gerente de Produto
VENDAS
M
E
R
C
A
D
O
Gerente Regional
TEMPO
Ad Hoc
Gerente Financeiro
Abril/2012
Sistemas de Informação e Banco de Dados
90
Dados Operacionais x
Dados Informacionais
Características
Conteúdo
Organização dos
dados
Natureza dos
dados
Formato das
estruturas
Dados Operacionais
Dados Informacionais
Valores correntes e
no detalhe
Por aplicação
/sistema
Valores históricos e
sumarizados
Dinâmica
Estática
Modelagem
Relacional
Modelagem Dimensional
Por Assuntos /Negócios
Tempo de resposta
Otimizado (2 a 3 seg) Tempo maiores
Atualização dos
dados
Atualizado campo a
campo
Abril/2012
Somente acesso sem
update
Sistemas de Informação e Banco de Dados
91
Data Warehouse (DW)
• Uma das tecnologias que implementa o conceito de BI
• Definição:
– Um ambiente para adequadamente organizar, gerenciar, e
disponibilizar informações oriundas de diversas fontes,
fornecendo uma visão única de parte ou de todo o negócio com
o objetivo de dar suporte a decisões gerenciais
• Na prática:
– Um conjunto de ferramentas que permite extrair, transformar,
limpar e carregar num grande Banco de Dados (ARMAZÉM DE
DADOS), informações de diversas fontes, conciliado com uma
ferramenta
para
análises
históricas,
estatísticas
e
sumarizadas(Processamento Analítico)
Abril/2012
Sistemas de Informação e Banco de Dados
92
Data Warehouse (DW)
Dados operacionais
Contabil
Folha
Metadados
Módulos
de
extração,
transformação,
E carga
(ETL)
DW
Mining
DM
DM
DM
DM – Datamarts Setoriais
Abril/2012
Sistemas de Informação e Banco de Dados
93
Data Warehouse (DW)
Exemplos de perguntas a serem respondidas :
• Aumento no total de vendas de um
determinado produto, durante a promoção
XPTO no período de janeiro a março de 2012?
• Total de vendas de um determinado produto,
na região nordeste no mês de setembro de
2011 ?
Abril/2012
Sistemas de Informação e Banco de Dados
94
Estruturação de Bancos de Dados
Aplicação
ORACLE
ORACLE
Aplicação
ACCESS
ACCESS
Aplicação
DELPHI
Aplicação
COBOL
PARADOX
ASCII
Aplicações de Migração de Dados
DATA WAREHOUSE
Aplicação
EIS
Abril/2012
Aplicação
DataMining
Sistemas de Informação e Banco de Dados
Planilhas,
aplicações
multidimencionais
95
Definição de Datamarts
• Datawarehouses orientados / especializados
por departamento ou processo, com vistas a
elevação de performance e detalhamento de
consultas destes postos de trabalho.
• Os dados do Datamarts são consolidações e
partes do Datawarehouse Corporativo.
Abril/2012
Sistemas de Informação e Banco de Dados
96
Estruturação de Datamarts
Aplicação
ORACLE
Aplicação
ACCESS
ORACLE
ACCESS
Aplicação
DELPHI
PARADOX
Aplicação
COBOL
ASCII
Aplicações de Migração de Dados
DATA WAREHOUSE
Aplicações de Migração de Dados
DATAMART
FINANCEIRO
Aplicação
EIS
Abril/2012
DATAMART
COMERCIAL
Aplicação
DataMining
Sistemas de Informação e Banco de Dados
DATAMART
PRODUÇÃO
Planilhas,
aplicações
multidimencionais
97
MODELAGEM DIMENSIONAL
Abril/2012
Sistemas de Informação e Banco de Dados
98
Dados Multidimensionais
ASIA
EUROPA
US
Produto 1
9
27
57
Produto 2
2
13
60
Produto3
11
4
69
Q1
Q2
Q3
Vendas
Exmplo de consulta OLAP: Em relação ao meu produto de
maior crescimento, qual foi o crescimento dos meus
outros produtos nos últimos 12 meses?
Abril/2012
Sistemas de Informação e Banco de Dados
99
Sistemas de Análise Multidimencional
OLAP (On-line Analytical Processing)
• Conjunto de tecnologias especialmente
projetadas para dar suporte ao processo
decisório através de consultas, análises e
cálculos sofisticados nos dados corporativos,
estejam armazenados em um datawarehouse,
ou não, realizados pelos seus usuários
(analistas, gerentes e executivos).
Abril/2012
Sistemas de Informação e Banco de Dados
100
Principais Características de
um OLAP
• Permitir uma visão multidimensional dos dados.
• Possuir inteligência de tempo (saber reconhecer,
por exemplo, os dias da semana, os dias úteis e
não-úteis e os feriados).
• Realizar cálculos complexos.
• Criar agregações e consolidações.
• Fazer análises de tendências e comparações.
• Fazer cálculos e manipular dados através de
diferentes dimensões.
Abril/2012
Sistemas de Informação e Banco de Dados
101
Principais Características de um OLAP
• Navegar com extrema facilidade entre os diversos níveis
de agregação dos dados.
• Anallisar os dados, através de qualquer combinação
possível entre os mesmos, possibilitando as mais
variadas visões possívels do negócio.
• Formar, trabalhar e analisar subgrupos dos dados com a
mesma possibilidade do conjunto inteiro.
• Analisar os dados de acordo com regras de negócio:
crescimento, porcentagem, mudanças ou alterações e
análises de mercado.
Abril/2012
Sistemas de Informação e Banco de Dados
102
Principais Características de um OLAP
• Permitir aos usuários uma grande variedade de opções
de relatórios que lhes possibilite traduzir melhor suas
necessidades de informações, incluindo documentos p/
web.
• Trabalhar com múltiplas fontes de dados como data
warehouse, data marts, bancos de dados operacionais e
outras fontes externas de dados.
• Ter interface com ferramentas comuns e de grande
utilização pelos usuários, como planilhas eletrônicas,
ferramentas geradoras de consultas e relatórios, de
análises estatísticas e de visualizaçào gráfica.
Abril/2012
Sistemas de Informação e Banco de Dados
103
Comparativo entre ambientes
OLTP e OLAP
On line Transaction Processing
Dão suporte as funções associadas à
execução do negócio da empresa:
sistemas administrativos, controle de
estoques, sistemas de expedição
On line Analitycal Processing
Dão suporte as funções associadas à
concepção do negócio;
Baseado em transação; voltado para
velocidade e automação de funções
repetitivas; mantém usualmente situação
corrente; atualização e consultas em
grande número; trabalha com alto nível
de detalhe
Pequeno número de consultas variáveis;
aplicações dinâmicas; operações de
agregação e cruzamentos; atualizações
quase inexistentes; dados históricos são
relevante; consistência é fundamental
Tempo de resposta; segurança;
recuperação de falhas; muitos usuários
concorrentes
Flexibilidade; consultas complexas
,enormes volumes de dados; exame do
dado em diferentes níveis de detalhes;
acesso aos dados de fontes diversas
Abril/2012
Sistemas de Informação e Banco de Dados
104
Tipos de Ferramentas OLAP
Ferramentas OLAP -> para a extração e análise dos
dados contidos nos DataWarehouses e DataMarts
Armazena os dados em formato
multidimensional; não usa SQL como
linguagem de acesso aos dados; tem
formato proprietário
Consolida
Sumariza
Armazena dados em formato
relacional; comandos SQL são
gerados para acesso aos dados
As operacões de consolidações e
sumarizações são realizadas
online,diretamente a partir do
DW(relacional)
Sistemas de Informação e Banco de Dados
Etapas da Modelagem
• Relacionar as métricas (medidas) e dimensões
do negócio ou da área de negócio
• Definir a granularidade e agrupamento das
informações
• Identificar os cruzamentos possíveis entre
dimensões e medidas
• Gerar o modelo dimensional através de
esquema relacional, definindo as tabelas de
fato e dimensão e seus relacionamentos
Abril/2012
Sistemas de Informação e Banco de Dados
106
Medidas e Dimensões
• Medidas ou métricas
– Indicadores (fatos numéricos) importantes para uma
área de negócio que devem ser analisados
– Ex: valor da venda, quantidade de itens, custo médio,
% participação, etc...
• Dimensões
– Atributos (parâmetros textuais) que definirão como as
métricas serão analisadas.
– Ex: Produto, Geografia, Tempo(implícita), etc...
Abril/2012
Sistemas de Informação e Banco de Dados
107
Granularidade e Agrupamento
• Granularidade
– Qual o nível mais baixo de detalhe da métrica para
cada dimensão ?
– Ex: a métrica <total de vendas> deve ser avaliada pela
dimensão <tempo> por ano, mês ou dia ? e pela
dimensão <produto>, será categoria ou item ?
• Agrupamento
– Quais as sumarizações necessárias para cada métrica
em relação às dimensões ?
– Ex: a métrica <total de vendas> será sumarizada na
dimensão <geografia> por loja, bairro ou estado ?
Abril/2012
Sistemas de Informação e Banco de Dados
108
Graficamente representando o
DW
Dimensão Tempo
Dimensão Produto
Dimensão Geografia
Ano
Categoria
Região
Mês
Linha
Estado
Dia
Item
Loja
Fato Vendas
Total de Vendas, Quant. Itens, (Custo Médio)
Abril/2012
Sistemas de Informação e Banco de Dados
109
Cruzamento entre
Dimensões x Medidas
Dimensions
HOW?
TEMPO
PRODUTO
GEOGRAFIA
TOTAL DE VENDAS
X
X
X
QTD ITENS VENDIDAS
X
X
X
CUSTO MEDIO DE FABRICAÇÃO
X
X
WHAT?
Measures
Abril/2012
Sistemas de Informação e Banco de Dados
110
Transposição para o Modelo
Dimensional
Tabela Dimensão
Tabela Fato
Tabela Dimensão
Produto
Vendas
Geografia
idProduto(PK)
idProduto(FK)
idGeografia(PK)
Item
idGeografia(FK)
Loja
Linha
idTempo(FK)
Estado
Categoria
------------------
Região
Hierarquia
Total Venda
Métricas
Qtd Itens Vendidos
Tempo
idTempo(PK)
Data
Modelo Star Schema ( Kimball )
Mês
* Outra Abordagem : SnowFlake ( Inmon )
Ano
Abril/2012
Sistemas de Informação e Banco de Dados
111
Cuidado com a granularidade
desnecessária
Tabela Fato : VENDAS
idProduto
idGeografia
idTempo
Total
Venda
Qtd Itens
Vendidos
1
3
2
R$ 55,23
45
1
2
1
R$ 35,56
36
9855
199
345
R$ 67,22
75
Dúvida: “Considerando 5 anos de análise (na granularidade
produto-loja-dia), com 10.000 produtos e 200 lojas, qual o
espaço necessário para armazenar esta tabela ? ”
Resposta : (5x365)x10000x200 = 3,65 bilhões de registros
Considerando que cada campo tenha 5 bytes, teremos :
25 bytes x 3,65 bilhões = 91,25 Gigabytes
Abril/2012
Sistemas de Informação e Banco de Dados
112
DataBase Marketing
Publicidade de Massa
x
Publicidade Confiável
“investir numa propaganda direcionada para clientes
que tenham real potencial de compra”
• Banco de Dados (não basta ter, é preciso utililizá-lo)
• “os clientes são mais importantes que o próprio produto”
• “o comportamento do passado como indicador do futuro”
• “alguns clientes são mais importantes que outros”
Abril/2012
Sistemas de Informação e Banco de Dados
113
DM – Dados Valiosos
“Diariamente as empresas acumulam
diversos dados em seus bancos de
dados,
tornando-se
verdadeiros
tesouros de informação sobre os
processos da empresa, dados e hábitos de
seus clientes, suas histórias de sucesso e
fracasso”
Abril/2012
Sistemas de Informação e Banco de Dados
114
Datamining (DM)
O conceito de “garimpagem de dados” está
relacionado com a “nova” tendência (para
aplicações comerciais) de se buscar
correlações escondidas em altos volumes
de dados, e dessa forma se capitalizar em
cima dessas informações, tentando
descobrir padrões de comportamento dos
clientes.
Abril/2012
Sistemas de Informação e Banco de Dados
115
O que é Datamining?
• Tecnologia formada por um conjunto de
ferramentas, que por meio do uso de
algoritmos de aprendizado ou baseados em
redes neurais e análises estatísticas, são
capazes de explorar um grande conjunto de
dados, extraindo destes, conhecimentos na
forma de hipóteses e regras.
Abril/2012
Sistemas de Informação e Banco de Dados
116
DM apoiando Database
Marketing
• Encontrar padrões e relações entre os dados
para construir modelos, isto é, representações
abstratas da realidade
• Elaborar modelos que sirvam para entender o
negócio e para tomar decisões
• Criar regras que possam ser generalizadas
• Fazer previsões
• Gerar cenários
Abril/2012
Sistemas de Informação e Banco de Dados
117
DM – Exemplos de Utilização
• criação de parâmetros para comportamento
dos clientes;
• análise do perfil dos consumidores de
determinados produtos ou serviços,
destacando seus hábitos de compra;
• propaganda eficiente;
• Ex: Mastercard – de todos os clientes como
identificar ou prever possíveis compradores de
um determinado produto ?
Abril/2012
Sistemas de Informação e Banco de Dados
118
DM – Exemplos de Utilização
Aplicações não comerciais
Na medicina, informações em databases sobre
sintomas, resultados de exames, diagnósticos,
tratamentos e cursos das doenças para cada
paciente, após a mineração leva a novos
conhecimentos como a relação entre algumas
doenças e certos perfis profissionais, sócios
culturais, hábitos pessoais e local de moradia. Essas
relações são usadas para melhor entendimento das
doenças e seus tratamentos.
Abril/2012
Sistemas de Informação e Banco de Dados
119
Referências Bibliográficas
• Laudon, Keneth; Laudon, Jane – Sistemas de Informações
Gerenciais; [tradaução] 9ª Ed. Pearson, 2010.
• Rob, Peter – Sistemas de Banco de Dados: Projeto,
Implementação e Administração; [tradaução all tasks]. São
Paulo: Cenage Learning, 2011.
• DATE, C. J ; Introdução a Sistemas de Bancos de Dados, Rio
de Janeiro; Editora Campus: 2004.
• Castilho, Marcelo de Souza – Slides da disciplina Gerência
Estratégica de Dados (DW/DM) da UFG.
• Baptista, Cláudio de Souza – Apostila da disciplina Adm. de
SGBD’s da UFCG. http://www.lsi.dsc.ufcg.edu.br.
• Pires, Aldo – Apostilas de curso da UFRJ e FGV
Abril/2012
Sistemas de Informação e Banco de Dados
120
CONTATOS
Carlos Henrique, MSc, CSM, PMI-RMP, PMP
Site: www.carloshenrique.info
Email: [email protected]
Twitter: @caiquerj
Abril/2012
Sistemas de Informação e Banco de Dados
121
Download