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