Arquitetura de TI, DW, Sistemas Legados e Avaliação de Desempenho
Classificado em Computação
Escrito em em
português com um tamanho de 24,5 KB
Metodologia OCSI: Mix de Cascata, Espiral e Prototipagem
Por que nem sempre a solução de TI apresentada vale e minimiza o custo para esse tipo de negócio ou alcança o futuro desejado e nos dá vantagens competitivas no ramo.
4 - A metodologia proposta para a construção das aplicações OCSI é um mix de 3 outras metodologias mais antigas, a saber, cascata, espiral e prototipagem. Pesquise as características destas metodologias e explique como são aplicadas na metodologia proposta em aula.
Características dos Modelos
- Cascata: Estrutura rigorosa; uma etapa só começa quando a anterior estiver totalmente concluída; inflexível (não se adapta bem a mudanças de requisitos); requer requisitos bem conhecidos; cliente só possui o produto ao final.
- Prototipagem: Bom para o desenvolvedor (codificação rápida); bom para o cliente (versão desenvolvida rapidamente); aspecto negativo: cliente não vê “remendos”.
- Espiral: Similar a outros processos; diferença: análise e resolução de riscos, como o uso de nova linguagem, ferramentas não disponíveis ou com problemas; problema: difícil gerenciar todos os incrementos produzidos.
Aplicação na Metodologia OCSI
- Passo 1: Requer um estudo iterativo (aquilo que vai e se repete, é um ciclo).
- 4 fases: Análise, projeto, implementação e implantação.
- A Análise tem a ver com o levantamento de necessidades/requisitos, o que se quer fazer, qual a necessidade a ser alcançada.
- O projeto da arquitetura é o resultado da análise.
- Passo 2: Iteração nº 1: É um plano geral, que focaliza no negócio. Sempre partimos do negócio, não dá para saber, por exemplo, a arquitetura da rede/ferramentas, pois vai depender do processo.
- Negócio – Aplicação – Infraestrutura (dependências)
- Passo 3: Modelagem OO: É a fundamentação das aplicações que temos visto. Essa metodologia tem 4 fases, sendo a primeira fase a análise, tendo como próximas a arquitetura, implementação e implantação.
Aula 04: Arquitetura de Dados Corporativos
1 - Defina e exemplifique Dados Corporativos.
São dados compartilhados por vários processos do negócio. Eles podem constituir o “ponto fraco” de muitas aplicações e serviços nos atuais ambientes computacionais.
Exemplo: Informações sobre clientes usadas em várias aplicações como processamento de pedidos, cobrança, contabilidade, etc.
2 - Defina e exemplifique Normalização de Tabelas.
É uma técnica utilizada em bancos de dados relacionais, com o objetivo de garantir a integridade dos dados, evitando que informações sem sentido sejam inseridas, organizar e dividir as tabelas da forma mais eficiente possível, diminuindo redundância e permitindo a evolução do BD com o mínimo de efeito colateral.
Exemplo: Uma única tabela contendo todas as informações de uma nota fiscal: dados do produto, dados do cliente, campos calculados, etc. Teremos uma enorme redundância e inconsistência, pois não haveria um cadastro de cliente nem de produtos.
4 - O que é coerência dos dados? Dê exemplos.
Ter as mesmas informações nos lugares que foram particionados. São cópias iguais em máquinas diferentes.
Exemplo: Ao trabalhar a redundância de dados é necessário garantir a atualização em todos os ambientes. Não teremos a coerência caso algum dos ambientes não for atualizado.
Aula 05: Interoperabilidade e Portabilidade
1 - No exemplo estudado, explique o que seria a interoperabilidade com o sistema ERP e como você entende que poderia ser alcançada.
A interoperabilidade é a troca de informações entre o sistema de pedidos corporativos e o sistema ERP corporativo. A interoperabilidade poderia ser alcançada permitindo que as estações de trabalho acessem as informações que estão no banco de dados. Isso é possível, pois o sistema é baseado em MVS/DB2 (característico do Mainframe - UNIX).
2 - Por que a portabilidade é importante e como pode ser obtida?
A portabilidade é importante porque atualmente há um avanço muito rápido das tecnologias, ou seja, quanto maior a portabilidade de uma aplicação, melhor ela será aceita no mercado, pois o usuário não é totalmente dependente de uma mesma tecnologia.
Para alcançar uma boa portabilidade é necessário que sejam desenvolvidos sistemas bem estruturados, que seus componentes (Interface com Usuário, Aplicação e Banco de Dados) sejam desenvolvidos de forma independente e que possam ser facilmente migrados.
Aula 06: Definição e Estratégias para Sistemas Legados
1 - A empresa siderúrgica COSIPA possui um sistema de automação para o laminador de placas montado em meados da década de 60. Explique se ele pode ser considerado um sistema legado e qual a estratégia que você recomendaria para este caso.
Sim, ele é um sistema legado, pois é muito antigo e desenvolvido em uma tecnologia provavelmente não muito utilizada atualmente.
A estratégia seria analisar o processo do negócio antes de mudar o sistema legado, pois caso o plano de negócio venha a mudar, o sistema legado já seria trocado junto.
2 - Defina e exemplifique Sistemas Legados.
Sistemas legados são aplicações úteis e importantes que pertencem a uma geração tecnológica mais antiga, mas que continuam a ter valor para a organização.
Exemplo: Sistema de compras desenvolvido há 40 anos.
3 - Além da dependência operacional do negócio pelo sistema legado, qual outro motivo que o torna importante para a organização? Exemplifique.
São repositórios de informações históricas. Por exemplo, as vendas que foram realizadas no passado.
Aula 07: Conceitos Fundamentais de Data Warehouse (DW)
1 - Defina Data Warehouse.
Grande repositório de dados que contém informações para suporte à decisão. Permite que níveis gerenciais tomem decisões de forma mais rápida e precisa. As fontes de informações para os DWs são os bancos de dados organizacionais e outras fontes externas não estruturadas, como memorandos, minutas de reunião, etc.
2 - Qual a função e necessidade dos programas extratores? Como eles podem funcionar?
A função dos programas extratores é concentrar (popular) todos os dados de diversos sistemas no DW. Existe a necessidade, pois há a facilidade de buscar as informações de forma concentrada, rápida, dinâmica e organizada. Eles podem funcionar por período de tempo (iniciam às 3 da manhã) ou por eventos (quando ocorre algum evento importante).
3 - Pesquise 3 exemplos de aplicação de DW.
- Um site de vendas quer que, quando seu cliente entre no site, ele veja produtos similares ao que ele já havia comprado ou olhado. Então, ele deverá armazenar o trajeto do cliente pelo site para que consiga traçar o perfil do cliente.
- Uma agência de veículos, que pode descobrir, por meio da utilização dos dados de um repositório Data Warehouse, que a maioria de seus carros esportivos pequenos é comprada por mulheres jovens cuja renda anual está acima de 50 mil dólares.
- Uma transportadora que deseja saber a quantidade de produtos entregues por cidade.
4 - Quais as diferenças entre as consultas entre os sistemas operacionais e os de suporte à decisão?
Consultas de Sistemas Operacionais: São questões necessárias, baseadas no presente, no dia a dia. (Ex: Quantos rádios estão no estoque?). Ação: Ir até a tabela e resgatar o valor registrado.
Consultas de Suporte à Decisão: São questões necessárias, baseadas no passado, no histórico, que servem para tomada de decisões futuras. (Ex: Qual o melhor mês de venda de rádios do ano passado?). Ação: Temos que ir até o histórico e resgatar o maior.
5 - Quais as diferenças entre os usuários dos sistemas operacionais e de suporte à decisão?
Usuários dos Sistemas Operacionais:
- Tarefas rotineiras; procedimentos pré-descritos são apenas seguidos em um passo a passo.
- Modo Previsível; Operadores de Linha de Staff.
- Concorrência Alta; Atualização frequente dos dados; Tempo de resposta rápido; Pequena quantidade de dados para consulta.
Usuários de Suporte à Decisão:
- Trabalham com históricos, com consultas, necessárias diversas consultas.
- Modo de Descoberta; Tomadores de Decisão.
- Baixos Requisitos de concorrência; Consultas Frequentes; Tempo de resposta alto; Grande quantidade de dados para consulta.
6 - Por que os dados operacionais não são adequados para a tomada de decisão?
Resposta: Porque os dados operacionais são detalhados e não sumarizados, são orientados à aplicação, atualizados com frequência e contêm atualização em tempo real, o que acaba não servindo para a tomada de decisão.
7 - Por que há a necessidade de integração dos dados para os DSS?
Para se padronizar as informações. Quando se resgata os dados das bases operacionais, cada base pode conter uma armazenagem do dado diferente de outra base, então se faz necessário a padronização. Exemplo: CPF: XXX.XXX.XXX-XX em uma base e XXXXXXXXXXX (sem ponto e traço) em outra.
8 - Exemplifique uma aplicação de Data Mining.
Mineração de Dados (Data Mining): Possui um volume enorme de dados e, a partir daí, busca-se estabelecer um padrão de comportamento baseados em Inteligência Artificial. Exemplo: No mercado Walmart, observou-se que um consumidor que iria comprar fralda, consequentemente, já comprava uma cerveja. Então, trocaram o stand da cerveja para perto da fralda.
Aula 08: Arquiteturas de Data Warehouse e Data Marts
1 - Por que os Data Marts são independentes uns dos outros?
Os Data Marts são independentes porque são específicos a um determinado assunto, são referentes a uma determinada área específica. São obtidos do DW desnormalizado, isto é, pega todos os bancos, joga no DW, mas não faz a correlação.
2 - Discuta o modelo único dos dados em um DW centralizado.
É a forma mais comum de se utilizar os DWs. Todos os usuários têm acesso aos dados, que são provenientes de vários bancos de dados que são centralizados, sumarizados e correlacionados.
Vantagens:
- Apenas um logon de acesso para aquilo que é necessário. Não é preciso verificar o usuário em vários sistemas em vários lugares.
- O ambiente é único e ele tem uma maior facilidade em manter a consistência das informações porque é único e ele é também mais fácil de administrar porque ele tem uma administração centralizada.
Desvantagens:
- Definição do nível de detalhamento e formatação e nomeação dos dados.
- Desempenho.
3 - Explique o que é um Front End.
Software que faz a consolidação dos dados para o DW. Ele é um DW distribuído onde ele guarda os processamentos que devem ser executados para consolidar os dados e guarda os índices dos BDs externos para localizar as informações e consolidar os dados quando solicitados.
4 - O que é um DW Virtual?
É um conjunto de Data Marts em uma única estrutura lógica. Ele simplesmente repassa as consultas dos usuários para os DWs respectivos.
5 - Por que um DW distribuído tem maior escalabilidade (capacidade de crescimento)?
Porque é possível colocar quantos BDs externos forem necessários. Ele não tem limite de crescimento como um DW centralizado e permite balanceamento de carga.
6 - Que impacto as comunicações podem ter sobre um DW distribuído?
As técnicas dependem do sistema de comunicação. Portanto, se o sistema de comunicação atuar em baixo desempenho, o tempo de resposta vai ser muito grande.
7 - Como se obtém a granularidade grossa?
É um nível de detalhamento menor, onde as informações são obtidas em cima do processamento e consolidação das informações finas. Exemplo: PIB do País.
8 - Defina “scape ratio”.
É uma saída, acesso fora, quando a informação não está no DW. O sistema busca nos BDs externos para localizar informações. Ratio = taxa de comunicação. Usa uma unidade de medida para informar quanto é buscado fora, deve ser no máximo 5%.
9 - Explique a estrutura de dados cumulativa simples.
Sumariza os dados diariamente. O programa de extração retira diariamente os dados, os sumariza e carrega no DW.
Aula 09: Fatores, Carga de Trabalho e Métricas de Desempenho
2) Defina e exemplifique fator e nível.
- Fator: É um parâmetro que pode variar os níveis durante a avaliação. Devemos restringir aqueles que possuem maior impacto.
- Nível: São os possíveis valores para um fator.
Exemplo: A capacidade de um Banco de Dados pode variar de acordo com os recursos alocados pelo Sistema Operacional.
3) Defina e exemplifique carga de trabalho.
Carga de trabalho é a lista dos serviços requisitados ao sistema. Exemplo: Comparação de BD, um script, conjunto de consultas. Ela dependerá da técnica escolhida: Analítica (probabilidades das requisições); Simulação (rastros do sistema real); Medição (scripts do usuário).
Exemplo 2: Percorrer 10 metros com uma Ferrari ou quantidade de transações por segundo que um BD tem a capacidade de processar.
4) Quais as três técnicas de análise estudadas e em que diferem em relação às ferramentas?
- Técnica Analítica: O analista usa modelos matemáticos (teste de mesa). Ferramentas: prancheta, calculadora. Ex: Rede de computador (modelo Markov – filas).
- Técnica Simulação: Além do modelo matemático, utiliza-se um software para simular o sistema real. Ex: Simulação nuclear.
- Técnica Medição: No sistema real. Utiliza-se scripts do usuário. É necessário instrumentos HW/SW para coletar dados do sistema real para análise de desempenho. Ex: Põe na pista uma Ferrari e uma Porsche cronometradas.
5) Por que as mesmas métricas não podem ser utilizadas para todos os problemas?
Porque os problemas são únicos. Requerem abordagens próprias para sua análise.
6) Quais são as 3 categorias de métricas básicas? Exemplifique.
- Tempo de resposta: Tempo entre o usuário apertar a tecla de retorno e receber na tela o último caractere.
- Vazão (Throughput): Exemplos: BATCH SYSTEMS: jobs por segundo; INTERATIVO: requisições por segundo; CPU: MIPS ou MFLOPS; REDES: pacotes por segundo (pps); TRANSACIONAL: transações por segundo (TPS).
- Valor Nominal: Uma rede de computadores de 100Mbps que esteja usando apenas 85Mbps tem uma eficiência de 85%.
7) O que se avalia em um sistema? Dê um exemplo.
- Velocidade (Se há resposta e correta):
- Tempo (responsabilidade): tempo entre chegada e despacho.
- Razão (produtividade): número de respostas por unidade de tempo.
- Utilização: uso dos recursos.
- Confiabilidade (Se há resposta incorreta):
- Probabilidade das classes de erro - Tempo entre erros.
- Disponibilidade (Sem resposta):
- Probabilidade das classes de falhas - Duração da falha - Tempo entre falhas.
8) O que é carga de trabalho? Dê um exemplo.
Carga de trabalho é a lista dos serviços requisitados ao sistema. Exemplo: Comparação de BD, um script, conjunto de consultas.
Exemplo 2: Para medir em quanto tempo a Ferrari chega de 0 a 100, leva ela à pista, faz ela andar várias vezes (10 por exemplo), soma-se o tempo e tira a média.
9) Em quais técnicas a variabilidade dos dados é importante? Por que? ***
Em Timesharing. A variabilidade da razão de duas medidas é maior que a variabilidade individual e deve ser evitada. Os dados são fonte primária de estudos. Análises anteriores, casos similares, etc., podem ser usados como fontes complementares, mas cada problema é único. Resultados de medições e simulações são aleatórios. Será necessário considerar a variabilidade dos resultados. A análise produz resultados e não conclusões.
10) Compare as 3 técnicas estudadas em relação ao tempo, precisão e dificuldade.
| CRITÉRIO | ANALÍTICO | SIMULAÇÃO | MEDIÇÃO |
|---|---|---|---|
| TEMPO | POUCO | MÉDIO | VARIA |
| PRECISÃO | BAIXA | MODERADA | VARIA |
| DIFICULDADE | FÁCIL | MODERADA | DIFÍCIL |
11) O que fazer quando o sistema retorna respostas incorretas?
Serve para medir a probabilidade do erro acontecer e o tempo entre os erros acontecerem, o que mede a confiabilidade.
12) Defina e exemplifique vazão.
Número de respostas por unidade de tempo. Exemplo: Boca do cano de água, o volume que está passando é a vazão.
13) O que é o tempo de reação?
É o tempo entre a chegada e o despacho de solicitação. Exemplo: Após o enter do usuário e o início do processamento da resposta pelo sistema.
14) O que significa SMART.
Especificação das medidas:
- Específica: determina valores claros;
- Mensurável: determina verificações possíveis;
- Aceitável: demanda decisões arquiteturais cujos requisitos sejam elevados;
- Realizável: demanda limites nas configurações para requisitos mínimos;
- Completa: determina todos os resultados possíveis ou pontos de falha.
Aula 10: Benchmarking, MIPS, MFLOPS e Carga de Teste (CT)
1) Por que uma carga de trabalho real não serve para avaliação?
Porque não pode ser repetida e não serve para testes, pois na carga real o sistema oscila muito. Em alguns momentos teremos 100 usuários utilizando o sistema, em outros podemos ter apenas 5. Devido a isso, o resultado seria muito instável.
2) Por que a instrução ADD foi usada como CT?
Nos primórdios da computação, o processador era o componente mais caro e usado do sistema. Seu conjunto de instruções era pequeno e a instrução de adição a mais usada. Assim, naquela época, o computador cujo processador tinha a instrução de adição mais rápida era o de melhor desempenho. A instrução de adição era a CT usada e o tempo da execução da instrução a métrica empregada.
3) Como era usado e composto o MIX de Instruções?
Era utilizado através de um subconjunto de instruções mais executadas com o peso relativo à sua frequência de uso.
4) Qual a diferença entre MIPS e MFLOPS?
- MIPS: Milhões de Instruções Por Segundo.
- MFLOPS: Milhões de Instruções de Ponto Flutuante Por Segundo.
5) O que era um Kernel e como podia avaliar o desempenho?
Como a maioria das funções focavam o processador, elas se chamavam processador Kernel. Seu desempenho podia ser avaliado através da inversão de matrizes, pois estava presente em inúmeras aplicações.
6) Defina e exemplifique Benchmark.
Benchmark são aplicações compostas com várias funções, de forma a criar demandas nos recursos do sistema, incluindo processador, memórias, redes, banco de dados, etc. É utilizado para obtenção de dados comparativos. Exemplo: Para comparar as vendas do mês atual com os concorrentes.
7) Qual o limite na execução da função de Ackermann?
A máxima profundidade de chamadas é de A(4, 2), com o espaço da pilha dobrando a cada incremento em n.
8) Se um computador possui 50% a mais DIPS que outro, o que isto significa? ***
Significa que seu desempenho é melhor.
9) Em qual dos benchmarks haveria maior desempenho para um computador paralelo?
SPEC Benchmark.
10) Quantos terminais deveria suportar um sistema transacional com 30 TPS?
Deveria suportar 3000 terminais (assumindo 100 terminais por TPS).
11) O que significa SPECmark4@20?
Essa seria a resposta dada se o Benchmark for executado em uma máquina com 4 processadores e resultar em 1/20 do tempo.
12) Por que não podemos utilizar a métrica MIPS para comparar dois sistemas transacionais?
Porque o desempenho dos sistemas transacionais é medido em termos de frações de TPS (Transações Por Segundo).
13) Defina os serviços, fatores, métricas e CT para comparar processadores. ***
- Serviços: Realização de cálculos e execuções de instruções de processamento.
- Fatores: São os níveis de processamento do processador.
- Métricas: Permitem avaliar uma determinada característica, por exemplo, a performance de um processador tendo por base a velocidade/número de operações que este consegue realizar num determinado espaço temporal.
- CT: Definida pela inter-relação entre as exigências externas, ambientais, instrumentais, organizacionais, impostas ao processador.
14) O que é um registro de uma CT e como pode ser realizado? ***
Esse registro é como se fosse um log para armazenar as informações do que está sendo executado em determinado momento. Pode ser realizado...
15) O que uma CT deve representar e como?
A CT deve representar o ambiente real em estudo:
- Resultado de suas medidas.
- Caracterização no ambiente real.
16) Defina e exemplifique componente de CT.
17) Em um sistema transacional sugira um componente de CT a ser observado. Por quê da escolha?
O Benchmark, pois é voltado a medir desempenho de sistemas transacionais.
18) Para um determinado sistema, observou-se 2 componentes, conforme a tabela. Determine: a. a média e desvio padrão de cada um;
(Nota: A tabela original não especifica os componentes nem os dados brutos, apenas resultados calculados. Abaixo, a formatação dos resultados fornecidos.)
| Média | Desvio Padrão |
|---|---|
| 7488 | 162,6346 |
| 7095 | 96,87363 |
| 7806,5 | 526,441 |
| 6725 | 140,7142 |
| 5774,5 | 370,1704 |
| 5639 | 340,1184 |