CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA

Tamanho: px
Começar a partir da página:

Download "CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA"

Transcrição

1 CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS GUSTAVO HENRIQUE RODRIGUES DE JESUS AVALIAÇÃO DE DESEMPENHO EM UM AMBIENTE DE BANCO DE DADOS DISTRIBUÍDO CONSIDERANDO O TRÁFEGO DE PACOTES LINS/SP 1º SEMESTRE/2013

2 CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS GUSTAVO HENRIQUE RODRIGUES DE JESUS AVALIAÇÃO DE DESEMPENHO EM UM AMBIENTE DE BANCO DE DADOS DISTRIBUÍDO CONSIDERANDO O TRÁFEGO DE PACOTES Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins para obtenção do Título de Tecnólogo (a) em Banco de Dados. Orientador: Prof. Me. Mário Henrique de Souza Pardo LINS/SP 1º SEMESTRE/2013

3 Jesus, Gustavo Henrique Rodrigues de J58Avaliação de desempenho em um ambiente de banco de dados distribuído considerando o tráfego de pacotes / Gustavo Henrique Rodrigues de Jesus. Lins, f.: il. Monografia (Trabalho de Conclusão de Curso de Tecnologia em Banco de Dados) Faculdade de Tecnologia de Lins Prof. Antônio Seabra, Orientador: Prof. Me. Mário Henrique de Souza Pardo 1.Banco de dados distribuído.2.jmeter. 3.Avaliação de desempenho. 4.Replicação. 5.Linked server. 6.Microsoft SQL server 2008.I.Pardo, Mário Hnrique de Souza. II.Faculdade de Tecnologia de Lins Prof. Antônio Seabra. III.Título. CDD Ficha elaboradora pela Biblioteca da Faculdade de Tecnologia de Lins

4 GUSTAVO HENRIQUE RODRIGUES DE JESUS AVALIAÇÃO DE DESEMPENHO EM UM AMBIENTE DE BANCO DE DADOS DISTRIBUÍDO CONSIDERANDO O TRÁFEGO DE PACOTES Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins Prof. Antonio Seabra, como parte dos requisitos necessários para a obtenção do título de Tecnólogo em Banco de Dados sob orientação do Prof. Me. Mário Henrique de Souza Pardo. Data de aprovação: 17 de junho de 2013 Orientador: Prof. Me. Mário Henrique de Souza Pardo Prof. Me. Anderson Pazin Prof. Me. Luiz Fernando de Oliveira Silva

5 Dedicatória Dedico este trabalho, primeiramente, a Deus, pela força dada para superar todas as dificuldades. Em segundo lugar, dedico a minha mãe por todo o apoio que sempre me dá. Dedico também a meu irmão, que faz parte da minha vida e me deu algumas dicas e a minha amiga Rebeca, pelo companheirismo e pela motivação quando tive meus momentos de desânimo. Gustavo Henrique Rodrigues de Jesus

6 AGRADECIMENTOS Neste momento ao qual alcanço um objetivo muito importante para minha vida, quero agradecer as pessoas que fizeram parte durante todo o tempo de estudo e aprendizagem. Agradeço ao prof. Mário Henrique de Souza Pardo, que me orientou e deu dicas importantíssimas para a elaboração deste trabalho e pela amizade durante todos os momentos. Agradeço ao prof. Santarém, o qual tive a honra de conhecer e ter sido aluno. Agradeço ao professor Fábio Lucio Meira, não só pelo fato de ter sido professor, mas mais do que tudo, pela amizade. Ao professor Anderson Pazin, não só pelo profissionalismo e conhecimentos passados durante este período de estudos, mas também pela compreensão e ajuda em um momento difícil na elaboração deste trabalho. Ao professor Alexandre Ponce, por ser um ótimo docente e dar dicas para a composição deste estudo, além dos apontamentos gramaticais e de formatação do mesmo. Ao professor Naylor por se dispor prontamente a ajudar em uma parte deste trabalho. Aos amigos Felipe Maciel e Rafael Hamamura, além da amizade, auxiliaram e muito na parte de montagem do ambiente de testes e disponibilidade para a utilização do mesmo. Ao amigo e chefe Sandro Zamian, que não se opôs a minha ausência quando havia a necessidade de eu realizar testes para este trabalho. Enfim, aos amigos que durante todos os anos de estudos, me permitiu crescer e muito, além da ajuda e amizades verdadeiras. Gustavo Henrique Rodrigues de Jesus

7 A mente que se abre a uma nova idéia jamais voltará ao seu tamanho original (Albert Einstein)

8 RESUMO Este trabalho visa avaliar o desempenho em um ambiente de banco de dados distribuído analisando o tráfego dos dados que tramitam em uma rede que integra os hosts deste tipo de ambiente. Para tanto foram realizadas um grande número requisições de dados em tal banco, através de usuários virtuais, a fim de determinar os fatores que influenciam no tráfego desta rede. Houve uma variação, também, no número de hosts. Desta forma, o tráfego gerado permitiu avaliar o comportamento de um banco de dados deste tipo, levando em consideração todos os fatores que compuseram esta pesquisa.este trabalho expõe conceitos sobre banco de dados distribuído, ferramentas de testes e avaliação de desempenho. Palavras-chave: Banco de dados distribuído. JMeter. Avaliação de desempenho. Replicação. Linked Server. Microsoft SQL Server 2008.

9 ABSTRACT This study aims to evaluate the performance in an environment of distributed databases by analyzing the traffic data that move across a network that integrates the hosts of this type of environment. Therefore, we performed a large number of requests such data bank via virtual user in order to determine the factors that influence the traffic of the network. There was also variation in the number of hosts. Thus, the traffic generated allowed us to evaluate the behavior of a database of this kind, taking into account all factors that composed this search. This work presents concepts on distributed database tools, testing and performance evaluation. Keywords: Database distributed. JMeter. Performance evaluation. Replication. Linked Server. Microsoft SQL Server 2008.

10 LISTA DE ILUSTRAÇÕES FIGURA 1.1 ARQUITETURADEUM SGBDD HOMOGENÊO FIGURA 1.2 ARQUITETURA DE UM SGBDD HETEROGÊNEO FIGURA 1.3 FRAGMENTAÇÃO HORIZONTAL FIGURA 1.4 FRAGMENTAÇÃO VERTICAL FIGURA 1.5 FRAGMENTAÇÃO MISTA FIGURA 1.6 REPLICAÇÃO SNAPSHOT FIGURA 1.7 REPLICAÇÃO TRANSACIONAL FIGURA 1.8 REPLICAÇÃO MERGE FIGURA 1.9 CONFIGURAÇÃO DE SERVIDORES VINCULADOS FIGURA 2.1 EQUAÇÃO PARA FATORIAL SIMPLES FIGURA 2.2 EQUAÇÃO PARA FATORIAL COMPLETO FIGURA 3.1 MODELO DE DADOS RELACIONAL FIGURA 3.2 AMBIENTE DE TESTES FIGURA 3.3 MONITORAMENTO DE PACOTES RECEBIDOS (GRÁFICO) FIGURA 3.4 MONITORAMENTO DE PACOTES ENVIADOS E RECEBIDOS (TABELA) FIGURA 3.5 MONITORAMENTO DE PACOTES ENVIADOS E RECEBIDOS FIGURA 3.6 AMBIENTE FATOR NÚMERO DE HOSTS NÍVEL FIGURA 3.7 AMBIENTE FATOR NÚMERO DE HOSTS NÍVEL FIGURA 4.1 COMBINAÇÕES DOS NÍVEIS DOS FATORES E RESPOSTAS... 72

11 LISTA DE GRÁFICOS GRÁFICO 4.1 COMPARATIVO ENTRE OS VALORES MÉDIOS DE CADA EXPERIMENTO GRÁFICO 4.2 COMPARATIVO LEVANDO EM CONTA O NÚMERO DE USUÁRIOS GRÁFICO 4.3 COMPARATIVO LEVANDO EM CONTA O NÚMERO DE REQUISIÇÕES GRÁFICO 4.4 COMPARATIVO LEVANDO EM CONTA O NÚMERO DE HOSTS 71 GRÁFICO 4.5 INFLUÊNCIA DOS FATORES... 75

12 LISTA DE QUADROS QUADRO 2.1 NÍVEIS, FATORES E RESPOSTAS DE UM PROJETO QUADRO 3.1 QUALIFICAÇÕES DOS HOSTS QUADRO 3.2 FATORES E NÍVEIS PARA AVALIAÇÃO QUADRO 3.3 COMBINAÇÕES ENTRE FATORES E NÍVEIS QUADRO 4.1 INTERVALOS DE CONFIANÇA QUADRO 4.2 ATRIBUIÇÃO DE VARIÁVEIS PARA OS FATORES QUADRO 4.3 ATRIBUIÇÃO DE VALORES PARA AS VARIÁVEIS QUADRO 4.4 NÍVEIS, FATORES E RESPOSTAS DE UM PROJETO QUADRO 4.5 QUADRO DE COMBINAÇÕES DOS NÍVEIS DOS FATORES QUADRO 4.6 INFLUÊNCIA DOS FATORES QUADRO 4.7 SOMA DOS QUADRADOS QUADRO 4.8 INFLUÊNCIA DOSFATORES... 74

13 LISTA DE ABREVIATURAS E SIGLAS ALM - Application Level Multicasting ANSI-SPARC - American National Standards Institute-Standards Planning and Requirements Committee BDD - Banco de dados distribuído CPU - Central Process Unit DBMS - Databasse Manager System DCE Distributed Computing Environment DLL - Dynamic Link Library HTTP - HyperText Transfer Protocol HTTPS - HyperText Transfer Protocol Secure IBOPE - Instituto Brasileiro de Opinião Pública e Estatística IC - Intervalo de confiança IP - Internet Protocol JDBC - Java Database Connectivity LDAP - Lightweight Directory Access Protocol MFLOPS - milhões de operações de pontos-flutuantes por segundos MIPS - milhões de instruções por segundo MOM Message-oriented Middleware MPI Message-Passing Interface NOWs - network of Workstations ODBC - Open Database Connectivity OSI - Open System Interconnection PC - Personal Computer pps - pacotes por segundo RMI - Remote Method Invocation RPC - Remote Procedure Call SBDD - Sistema de Banco de Dados Distribuído SGBD - Sistema de gerenciamento de banco de dados SGBDD - Sistema de gerenciamento de banco de dados distribuído SO - Sistema Operacional

14 SOAP - Simple Object Access Protocol SQL - Structured Query Language SQT - Soma dos quadrados totais SSH - Secure Shell SST - Sum of Square Total TI - Tecnologia da informação VM - Virtual Machine VMM - Virtual Machine Monitor WANs Wide Area Networks

15 LISTA DE - Arroba - Exactamente - Registrado % - Porcentagem

16 SUMÁRIO INTRODUÇÃO FUNDAMENTAÇÃO TEÓRICA BANCO DE DADOS DISTRIBUÍDOS ARQUITETURA DE BANCO DE DADOS DISTRIBUÍDOS BANCOS DE DADOS HOMOGÊNEOS E HETEROGÊNEOS TÉCNICAS DE ARMAZENAMENTO DE DADOS DISTRIBUÍDOS Replicação Fragmentação Fragmentação Mista COMUNICAÇÃO EM BANCO DE DADOS DISTRIBUÍDOS ANÁLISE DE TRÁFEGO DE REDE FERRAMENTAS DE ANÁLISE DE TRÁFEGO DE REDE E PUTTY Putty VIRTUALIZAÇÃO VMware FERRAMENTAS DE TESTES JMeter MICROSOFT SQL SERVER Tipos de replicação Replicação Snapshot Replicação Transacional Publicação Oracle Publicação peer-to-peer Replicação Merge Agentes de Replicação Linked Server AVALIAÇÃO DE DESEMPENHO DE SISTEMAS COMPUTACIONAIS E PLANEJAMENTO DE EXPERIMENTO AVALIAÇÃO DE DESEMPENHO Métodos para evitar problemas em projetos de avaliação de desempenho... 44

17 2.1.2 Erros em avaliação de desempenho PLANEJAMENTO DE EXPERIMENTO Terminologia Medidas de desempenho Tempo de resposta Throughput Carga de trabalho Tipos de carga de trabalho Estratégias de projetos de experimentos Fatorial simples Fatorial completo Fatorial fracionário Projetos fatoriais 2 k Projeto fatorial Soma dos quadrados totais SQT DESENVOLVIMENTO METODOLOGIA AMBIENTE DE TESTES PLANEJAMENTO DE EXPERIMENTOS RESULTADOS ESPERADOS RESULTADOS E DISCUSSÃO INTERVALO DE CONFIANÇA QUADRO DE COMBINAÇÕES PARA FATORIAL COMPLETO RESULTADOS DOS EXPERIMENTOS INFLUÊNCIA DOS FATORES CONSIDERAÇÕES FINAIS REFERÊNCIAS BIBLIOGRÁFICAS ANEXO A ANEXO B ANEXO C ANEXO D

18 16 INTRODUÇÃO Inevitavelmente a busca por informações tende a aumentar cada vez mais com o passar dos anos. Pessoas conectadas a Internet buscam a todo o momento notícias, informações, realizam pesquisas e, com isso, o fluxo de dados limita-se por vários fatores. Dentre estes fatores destacam-se o limite máximo que pode ser alcançado nas redes de computadores e a configuração dos mesmos, que fazem parte dessa rede. Outro fator importante é a disponibilidade das informações para os requisitantes das mesmas. Tais dados são obtidos das bases de dados e estas devem sempre estar disponíveis. Há anos os bancos de dados (ou bases de dados) se tornaram de suma importância para as empresas por armazenarem informações pertencentes a estas. Com a união de um software que gerencia banco de dados, uma base de dados e aplicativos, informações são obtidas facilmente. (SILVA, 2001) De acordo com Elmasri, Navathe (2006, p. 04), "Um banco de dados é uma coleção de dados que se relacionam". Complementando essa informação, Silberschatz, et al. (2006, p. 01) afirmam: "Um sistema de gerenciamento de banco de dados (DBMS) é uma coleção de dados inter-relacionados e um conjunto de programas para acessar esses dados." No início, os sistemas de banco de dados eram centralizados e o acesso a estes eram feitos através de terminais. Com o passar do tempo, os computadores pessoais tiveram uma melhora significativa de velocidade e o custo destes foram reduzindo gradativamente. Assim, estes ocuparam o lugar dos terminais que eram conectados aos sistemas centralizados. (SILBERSCHATZ, et al., 2006) Segundo Silberschatz, et al. (2006), a interface com os usuários ficaram por conta dos computadores pessoais, enquanto que os sistemas centralizados ficaram responsáveis por atender as solicitações dos sistemas clientes, ou seja, os sistemas centralizados tornaram-se sistemas servidores. Entretanto, problemas com hardwares podem ocorrer e os sistemas servidores podem deixar de atender as requisições dos usuários e, caso não exista uma opção que faça com que o serviço volte a funcionar rapidamente, tais requisições ficam prejudicadas.

19 17 Mesmo que esse tipo de banco de dados seja utilizado até os dias de hoje, devido aos problemas mencionados anteriormente e devido a grande necessidade de armazenar um número cada vez maior de dados, gerenciar estes de forma centralizada tornou-se uma tarefa árdua a ser realizada. (SHIBAYAMA, 2004) Uma alternativa utilizada atualmente para solucionar estes tipos de problemas é o uso de um banco de dados configurado como um sistema distribuído que, por ter a base em vários computadores, caso um deixe de funcionar, as requisições de dados serão supridas, pois os outros computadores ainda estarão ativos na rede. De acordo com Shibayama (2004), os dados são distribuídos em vários computadores, sendo que cada nó tem autonomia dos dados armazenados em si próprios e, mesmo assim, consegue compartilhar estes com outros nós. O presente trabalho tem como objetivo avaliar o desempenho em um sistema de banco de dados distribuído levando em consideração o tráfego de rede deste sistema computacional. Este estudo se faz necessário pois através das coletas de dados foram feitas análises que evidenciaram quais dos três fatores (número de usuários,número de requisições e número de hosts) que compõem o ambiente de testes devem ser levados mais em conta por um administrador de banco de dados distribuídos. Neste trabalho, a fundamentação teórica é descrita no primeiro capítulo, evidenciando o que vem a ser um banco de dados distribuídos, sua arquitetura e como é feita a comunicação em um banco de dados deste tipo. Ainda neste mesmo capítulo são descritas as ferramentas de análise de tráfego de rede, bem como a análise de tráfego em si e o sistema gerenciador de banco de dados SQL Server No segundo capítulo é descrita a avaliação de desempenho de sistemas computacionais e como elaborar um planejamento de experimento. No terceiro capítulo é apresentado o desenvolvimento do projeto com a descrição do ambiente de testes e o planejamento dos experimentos, a metodologia adotada e os resultados esperados. No quarto capítulo são expostos os resultados obtidos e elaborada uma discussão com base nos valores e gráficos gerados sobre os resultados dos experimentos. Por fim são dispostas as conclusões sobre o trabalho.

20 18 1 FUNDAMENTAÇÃO TEÓRICA 1.1 BANCO DE DADOS DISTRIBUÍDOS Banco de Dados Distribuídos, segundo Bell e Grimson (1992, p. 44), "[...] pode ser definido como uma coleção logicamente integrada de dados distribuídos que é distribuída fisicamente através dos nós de uma rede de computadores". De acordo com Shibayama (2004, p. 13), [...] banco de dados distribuído é definido como uma coleção de vários bancos logicamente inter-relacionados (integração lógica significa que qualquer nó tem acesso potencial a todo o banco de dados), distribuídos ao longo de um sistema de redes de computadores [...]. Segundo Pukdesree et al (2010, p. 01), "as informações contidas em um ambiente de dados distribuídos são decompostas em pequenos pedaços e, em seguida, distribuídas para serem armazenadas em vários computadores. Reforçando esta informação, Elmasri e Navathe (2005) pontuam que "sistemas de computação distribuídos dividem um problema grande e intratável em partes menores e os resolvem eficientemente de maneira coordenada". Em sistemas de banco de dados distribuídos existem dois tipos de transações: as locais e as globais. Nas transações locais os dados acessados são aqueles que estão no próprio computador em que a requisição foi feita. Já nas globais, os dados acessados não estão no computador de onde saiu a requisição, mas sim em um ou vários que compõem a rede de computadores deste sistema (SILBERSCHATZ et al, 2006) De acordo com Banerjee et al (1993), o aumento de capacidade ou largura de banda das redes de computadores ocasionou avanços nos estudos em sistemas de banco de dados distribuídos. Existem várias vantagens para a utilização de banco de dados distribuídos. Dentre estes estão disponibilidade, autonomia, confiabilidade, controle e compartilhamento de dados. Os conceitos de autonomia e compartilhamento, segundo Silberschatz et al (2006), são: Compartilhamento de dados: um usuário consegue acessar os dados que estão em outros computadores da rede;

21 19 Autonomia: refere-se à distribuição do controle sobre os dados armazenados localmente. Isso quer dizer que existe um administrador de banco de dados global, responsável pelo sistema inteiro e existem os administradores de banco de dados locais, que possuem graus de autonomia local diferenciados entre eles. Já sobre a disponibilidade de um sistema distribuído, Tanenbaum e Steen (2008, p. 02) dizem: [...] um sistema distribuído estará continuamente disponível, embora algumas partes possam estar temporariamente avariadas. Usuários e aplicações não devem perceber quais são as partes que estão sendo substituídas ou consertadas, ou quais são as novas partes adicionadas para atender a mais usuários ou aplicações. Para gerenciar um banco de dados distribuídos existem sistemas de gerenciamento de banco de dados distribuídos (SGBDD) que tornam a distribuição de dados transparente para o usuário (Shibayama, 2004). De acordo com Elmasri e Navathe (2005), o usuário deste tipo de banco de dados não sabe onde estão fisicamente os dados requisitados ou onde ficarão armazenados os dados enviados por este, devido a essa característica de transparência de distribuição. Processamento distribuído, porém, possui suas desvantagens, dentre as quais se destacam os custos, que são maiores, e o desenvolvimento, que é mais demorado, pois coordenar e controlar os dados são tarefas mais árduas. De acordo com Silberschatz et al (2006, p. 538), deve-se também tomar cuidado com a atomicidade das transações, pois [...] uma transação executada por dois computadores, em uma ela pode confirmar algo e em outra ela pode abortar, ocasionando um estado inconsistente. Com relação aos tipos de redes, existem duas: redes locais e redes remotas. Nas locais, os computadores estão localizados fisicamente próximos, podendo estar localizados em um mesmo prédio ou em prédios próximos. Já nas remotas, os nós estão geograficamente separados por grandes distâncias (ELMASRI; NAVATHE, 2005). A comunicação em banco de dados distribuídos é melhor detalhada no subtópico 1.5 Comunicação em BDD. 1.2 ARQUITETURA DE BANCO DE DADOS DISTRIBUÍDOS

22 20 Silberschatz et al (2006) dizem que um sistema distribuído é formado por nós ou hosts interligados, por exemplo, por redes, onde os dados são armazenados de forma replicada ou fragmentada nesses nós, e que nesse tipo de sistema não há o compartilhamento de memória principal ou discos. Sanches (2005) define a arquitetura de banco de dados distribuídos da seguinte maneira: As informações estão distribuídas em diversos setores, os quais cada um destes atua como no sistema cliente-servidor, ou seja, o servidor executa as consultas nos sistemas de gerenciamento de banco de dados e retorna os resultados ao cliente, porém as consultas vindas dos aplicativos são feitas para qualquer servidor indistintamente. O sistema de gerenciamento de banco de dados deste tipo é baseado na arquitetura ANSI-SPARC (American National Standards Institute-Standards Planning and Requirements Committee), que define uma arquitetura em três níveis independentes: interno, conceitual e externo. O nível interno é o que mais se aproxima do armazenamento físico dos dados onde, segundo Elmasri e Navathe (2005, p. 22), descreve detalhes complexos de armazenamento de dados e caminhos de acesso ao banco de dados. O nível externo ou lógico é o nível mais alto, sendo mais próximo dos usuários, onde Elmasri e Navathe (2005, p. 23) colocam que este [...] descreve a parte do banco de dados que um dado grupo de usuários tem interesse e oculta o restante do banco de dados desse grupo. De acordo com Tanenbaum e Steen (2008, p. 02), o nível mais alto é composto por usuários e aplicações. Por fim, o nível conceitual ou lógico comunitário ou simplesmente indireto, é o nível intermediário entre os níveis interno e externo. 1.3 BANCOS DE DADOS HOMOGÊNEOS E HETEROGÊNEOS Bancos de dados distribuídos são classificados em dois tipos: homogêneos e heterogêneos. Nos bancos de dados homogêneos, todos os computadores utilizam os mesmos SGBDs de mesmo fabricante. Casanova e Moura (1999, p.03) exprimem que um sistema de gerenciamento de banco de dados distribuídos é homogêneo se todos os seus SGBDs locais

23 21 oferecerem interfaces idênticas ou, pelo menos, da mesma família; fornecem os mesmos serviços aos usuários em diferentes nós. Ainda sobre um sistema de banco de dados distribuído homogêneo, Silberschatz et al (2006, p. 561) dizem que todos os sites possuem software de sistema de gerenciamento de banco de dados idêntico, conhecem um ao outro e concordam em cooperar nas solicitações dos usuários do processamento. A seguir uma ilustração da arquitetura de um sistema de gerenciamento de banco de dados distribuídos (Figura 1.1). Baseando-se nessa figura, Bell e Grimson (1992, p. 45) afirmam que em um SGBDD [...] não existem usuários locais, todos acessam a base de dados através de uma interface global. Figura 1.1 Arquitetura de um SGBDD homogêneo Fonte: Bell; Grimson, 1992, p.46 Nos bancos de dados distribuídos heterogêneos, os sistemas gerenciadores utilizados nos computadores são diferentes, podendo ser baseados no mesmo modelo de dados (ORACLE, por exemplo) ou em modelo de dados diferentes (relacional, hierárquico ou rede). (BELL; GRIMSON, 1992, p. 52) Complementando essa informação, Silberschatz et al (2006) ainda afirmam que os computadores que compõem o sistema distribuído podem não estar cientes da existência dos outros deste mesmo sistema e, ao contrário da contribuição nos

24 22 sistemas homogêneos, aqui pode ocorrer uma cooperação limitada no processamento de transações. Bell e Grimson (1992, p. 52) dizem que tais computadores podem possuir diferentes hardwares, sistemas operacionais dos mais variados e diferentes protocolos de rede. Silberschatz et al (2006) afirmam que para a manipulação dos dados em um banco de dados heterogêneo existe a necessidade de uma camada de software adicional conhecida como middleware, a qual, ilusoriamente, integra a lógica de banco de dados diferentes neste tipo de sistema, sem a necessidade de haver a integração física dessa base de dados. Figura 1.2 Arquitetura de um SGBDD heterogêneo Fonte: Bell; Grimson, 1992, p.49 Existem usuários locais e globais neste tipo de sistema. De acordo com Bell e Grimson (1992, p. 48), SBDD heterogêneo integra recursos de dados heterogêneos pré-existentes, embora sistemas homogêneos possam ser adequados também e que uma importante característica deste sistema é que os usuários locais continuam acessando suas bases de dados locais sem afetar a existência da multibase de dados, como disposto na Figura 1.2.

25 TÉCNICAS DE ARMAZENAMENTO DE DADOS DISTRIBUÍDOS Com o uso de banco de dados distribuídos, existem duas formas para armazenar dados no banco. Estas são: replicação e fragmentação, com suas variações. Tais técnicas são descritas nos sub-tópicos a seguir Replicação De acordo com Silberchatz et al (2006, p.562), a técnica de replicação ocorre quando "o sistema mantém várias réplicas (cópias) idênticas da relação e armazena cada uma em um site (computador) diferente." Partindo deste princípio, utilizando-se replicação aumenta-se a disponibilidade e o paralelismo, ou seja, referente a disponibilidade, caso um computador que compõem o sistema distribuído sofra algum problema, as informações requeridas podem ser obtidas em outro computador deste tipo de sistema. Já em relação ao paralelismo, consultas podem ser processadas em vários computadores e a informação necessária pode ser obtida no site no qual a consulta está sendo executada, diminuindo assim o tráfego de dados entre os sites. (SILBERCHATZ et al, 2006) Esta técnica privilegia operações de leitura, mas tem problemas em operações de escrita, pois as atualizações devem ser feitas em todas as replicações existentes. De acordo com Siqueira (2012), sobre atualizações de réplicas, o mesmo diz que estas podem ocorrer de três formas: instantâneo (snapshot), incremental e transacional. Sobre snapshot, as cópias das tabelas são feitas de forma completa, tendo ou não atualizações periódicas. Já sobre incremental, a transferência dos dados alterados são feitos em um horário programado. Por fim, sobre transacional, as atualizações são feitas instantaneamente nas réplicas, ou seja, no momento de sua modificação Fragmentação Fragmentação ocorre quando uma tabela é dividida em vários fragmentos. Sobre fragmentação, Silberchatz et al (2006, p.562) dizem que "estes fragmentos contém informações suficientes para permitir a reconstrução da relação original."

26 24 Existem dois tipos básicos de fragmentação: a horizontal e a vertical. Sobre a horizontal, Mesquita (1998, p.22) diz que este tipo de fragmentação "consiste no particionamento das tuplas de uma relação global em subconjuntos." Cada tupla desta relação deve pertencer a pelo menos um dos servidores e para que a relação completa seja obtida, faz-se necessário a união destes fragmentos. A Figura 1.3 evidência um exemplo deste tipo de fragmentação, levando em consideração a cidade e os dados a ela referentes. Figura 1.3 Fragmentação horizontal Fonte: elaborado pelo autor Ainda sobre fragmentação horizontal, Silberchatz et al (2006) dizem que esse tipo de fragmentação é bastante usada para manter tuplas em sites nos quais elas são mais utilizadas, para que ocorra a diminuição de tráfego de dados. Sobre fragmentação vertical, Shibayama (2004) a define como a divisão vertical de uma relação, através de colunas, em que um fragmento vertical de uma relação mantém apenas alguns atributos desta relação. Figura 1.4 Fragmentação vertical Fonte: elaborado pelo autor

27 25 Complementando essa informação, Mesquita (1998, p.23) diz que a vertical é realizada considerando-se que os atributos a serem agrupados têm características desejáveis em comum. A Figura 1.4 demonstra como este tipo de fragmentação ocorre, considerando a mesma relação inteira da Figura Fragmentação Mista De acordo com Silberchatz et al (1996), fragmentações horizontal e vertical podem ser aplicadas, juntamente, sobre um mesmo esquema. Fragmentação mista é um tipo de fragmentação onde os fragmentos são resultantes da aplicação de operações de fragmentos sobre fragmentos, e não sobre relações globais. Estas operações podem ser aplicadas recursivamente, contanto que as regras de fragmentação sejam seguidas. (MESQUITA, 1998, p.24) Ainda sobre fragmentação mista, Mesquita (1998) diz que esta pode ser representada por uma árvore de fragmentação, exemplificada na Figura 1.5, na qual a raiz é representada pela relação EMP. Tal relação é fragmentada, verticalmente, em duas partes. Desta fragmentação é constituído o nó folha EMP 2. A outra parte sofre fragmentação horizontal, gerando outros três nós folhas: EMP 3, EMP 4 e EMP 5. Figura 1.5 Fragmentação mista Fonte: Mesquita, 1998, p COMUNICAÇÃO EM BANCO DE DADOS DISTRIBUÍDOS Em um ambiente de banco de dados distribuídos, os computadores são conectados de tal maneira que pareçam como se fossem somente um computador com um desempenho bem mais elevado do que se tais computadores estivessem trabalhando de forma isolada (PUKDESREE et al, 2010). De acordo com Siqueira (2012), o tempo de comunicação pela rede é um fator que pesa diretamente em um sistema distribuído.

28 26 Em um banco de dados distribuído existem dois tipos básicos de redes de comunicação: as locais e as remotas. De acordo com Silberschatz et al (2006), as redes locais (LANs Local Area Networks) são normalmente utilizadas em pequenos ambientes tais como departamentos dentro de uma mesma empresa. Com o surgimento deste tipo de conexão, verificou-se que para muitas empresas era mais barato ter um tipo de rede assim, com pequenos computadores interligados, cada qual com suas aplicações, do que um sistema grande. Ainda mais que neste tipo de rede, a comunicação é mais rápida e com uma taxa de erros menor, se comparada a uma rede remota. De acordo com Kurose e Ross (2006, p. 347), [...] a velocidade de transmissão da maioria das LANs é muito alta. Em algumas redes mais antigas, a velocidade era de 10Mbps. Atualmente a de 100Mbps tornou-se comum e tem-se velocidades na ordem de 1Gbps e 10Gbps. Já as redes remotas (WANs Wide Area Networks) ou redes geograficamente distribuídas abrangem uma grande área geográfica, tais como estado ou país. A rede remota mais conhecida nos dias de hoje é a Internet. De acordo com CISCO (2012a), as WANs geralmente utilizam meios de transmissão fornecidos por prestadoras de serviços de telecomunicações tal como uma companhia telefônica. Ainda de acordo com CISCO (2012a, p.03), as WANs são utilizadas para conectar diversas redes locais e uma WAN opera na camada física e na camada de enlace do modelo de referência OSI. Tanenbaum (2003) diz que os computadores que compõem este tipo de rede são conectados por uma sub-rede de comunicação, ou seja, uma sub-rede. Essa sub-rede é composta por dois componentes diferentes: linhas de transmissão e elementos de comutação. As linha de transmissão transportam os bits entre as máquinas. Já os elementos de comutação, estes são computadores especializados que conectam três ou mais linhas de transmissão onde, quando dados chegam a uma linha de entrada, o elemento de comutação deve escolher uma linha de saída para encaminhá-los. (Tanenbaum, 2003, p. 31) CISCO (2012a, p. 04) diz que WANs permitem a opção por conexões seriais de baixo custo e de baixa velocidade, mas conexões de altas velocidades podem ser obtidas por, por exemplo, uma conexão em fibra ótica, porém com um custo mais alto.

29 27 Com relação a aplicações, de acordo com Tanenbaum e Steen (2007), devido a necessidade de haver comunicação entre diferentes aplicações, diferentes tipos de comunicação foram gerados. A principal idéia era que aplicações existentes pudessem trocar informações diretamente [...] (TANENBAUM; STEEN, 2008, p. 14). Dessa necessidade nasceu um modelo chamado middleware de comunicação. Partindo desse princípio, o Open Group 1 desenvolveu uma tecnologia de software a qual permite a criação de aplicações distribuídas utilizando sistemas heterogêneos chamada Ambiente de Computação Distribuída (DCE Distributed Computing Environment) (GOULART, 2002, p. 30). Tem-se incluídos nessa tecnologia serviços de software que residem acima do sistema operacional, fornecendo interface (middleware) para os recursos de baixo nível do sistema operacional e recursos de rede. (GOULART, 2002, p. 31) Com a utilização desses serviços, dados e processamento são distribuídos através de toda uma organização. Dentre os serviços DCE, existe a RPC (Remote Procedure Call - Chamada Remota de Procedimento) que, segundo Tanenbaum e Steen (2007, p. 14), [...] um componente de aplicação pode efetivamente enviar uma requisição a outro componente de aplicação executando uma chamada de procedimento local [...]. Assim [...] uma aplicação pode efetivamente acessar recursos distribuídos através da rede. (GOULART, 2002, p. 31) Sobre o funcionamento da RPC, Tanenbaum e Steen (2007) descrevem que uma chamada de procedimento realizada por uma aplicação empacota os parâmetros do procedimento como uma mensagem e a envia ao servidor. O servidor, por sua vez, recebe essa mensagem, obtêm os parâmetros da mesma e gera um resultado, enviando este à aplicação invocadora como uma mensagem de resposta. Com a crescente utilização da tecnologia de objeto criou-se as RMI (Remote Method Invocation - Invocações de Método Remoto), que permite que objetos em computadores diferentes se comuniquem via chamadas de método remoto. Essas 1 The Open Group é um consórcio global que possibilita a realização dos objetivos de negócio através de standards de TI. Com mais de 350 organizações como membros, The Open Group tem várias categorias de afiliação que compreendem todos os setores da comunidade de TI clientes, fornecedores de sistemas e soluções, vendedores de ferramentas, integradores e consultores, bem como acadêmicos e pesquisadores que trabalham em conjunto focando na construção de tecnologia de sistemas abertos. (THE OPEN GROUP, 2012).

30 28 chamadas parecem invocar métodos em um objeto no mesmo programa, mas na realidade elas têm recursos de rede integrados que comunicam as chamadas de método para outro objeto em um computador separado. (Deitel; Deitel, 2005, p. 929) Tanenbaum e Steen (2007) afirmam que RMI possui o mesmo princípio de funcionalidade que uma RPC, entretanto, ao invés de funcionar com aplicações, funciona com objetos. Estes tipos de middlewares possuem a desvantagem de que no ato da comunicação, tanto o invocador quanto o servidor devem estar ligados e em funcionamento, alem do que ambos devem saber como interagir um com o outro, causando um forte acoplamento. Devido a isto, foi criado o middleware orientado a mensagem (MOM Message-oriented Middleware). (TANENBAUM; STEEN, 2007). Tanenbaum e Steen (2007, p. 14) resumem o funcionamento de MOM da seguinte maneira: [...] as aplicações apenas enviam mensagens a pontos lógicos de contato [...]. Da mesma forma, as aplicações podem indicar seu interesse por um tipo específico de mensagem, após o que o middleware de comunicação cuidará para que todas as mensagens sejam entregues a essas aplicações. Os serviços de enfileiramento de mensagens têm o conceito básico de que aplicações se comunicam retirando e colocando mensagens em filas específicas. Estes tipos de serviços oferecem a capacidade de armazenamento de médio prazo para as mensagens trocadas, sem a necessidade de que o remetente ou o receptor estejam ativos durante a transmissão da mesma. (TANENBAUM; STEEN, 2007, p. 87) Existe também a interface de passagem de mensagens (MPI Message- Passing Interface), que é uma biblioteca de troca de mensagens projetada para aplicações paralelas de alto desempenho, redes heterogêneas, ambientes de memória distribuída e NOWs (network of Workstations rede de estações de trabalho). Essa plataforma nasceu da necessidade de criação de uma plataforma padrão para troca de mensagens que fosse independente do hardware. Por ser projetada para aplicações paralelas, a comunicação é transiente, o que significa que, enquanto remetente e receptor estiverem em atividade, a mensagem é armazenada no sistema.

31 29 Segundo Tanenbaum e Steen (2007, p. 86), A MPI considera que a comunicação ocorre dentro de um grupo conhecido de processos, onde cada grupo recebe um identificador e cada processo dentro de um grupo recebe um identificador. O par formado pelo id do grupo e id de um processo (groupid, processid) identifica a fonte ou o destinatário de uma mensagem. Vários grupos de processos [...] poderão estar envolvidos em um serviço de computação, podendo estar em execução simultaneamente. (TANENBAUM; STEEN, 2007, p. 86) Outro tópico importante sobre comunicação em sistemas distribuídos é o multicast (transmissões do tipo um-para-muitos). Conforme Tanenbaum e Steen (2007), a idéia básica do multicasting no nível de aplicação é que os computadores se organizem em uma rede de sobreposição a qual é utilizada para distribuir informações para os seus membros. Porém, o roteamento na rede de sobreposição pode ser menos eficiente que o roteamento no nível de rede, pois os computadores na rede podem transpor vários enlaces físicos. Sobre multicast existem duas abordagens: ALM (Application Level Multicasting ou multicasting na camada de aplicação) e Protocolos Epidêmicos. ALM utiliza uma rede virtual e, segundo Tanenbaum e Steen (2007), existem duas definições essenciais para este tipo de abordagem. Na primeira, os nós se organizam na forma de uma árvore, no qual há um único caminho entre cada par de nós. Na segunda, os nós se organizam na forma de uma malha, na qual cada nó terá vários vizinhos, no que resulta em vários caminhos entre cada par de nós. Esta última abordagem oferece maior confiança na transmissão das informações, pois aqui, caso haja um interrupção em uma conexão, tais informações podem atingir o seu destino utilizando-se de outro caminho. Sobre protocolos epidêmicos, Tanenbaum e Steen (2007, p. 102) dizem que o principal objetivo deste tipo de protocolo é disseminar informações rapidamente entre um grande conjunto de nós usando somente informações locais, ou seja, não há nenhum componente central que coordena essa propagação de informações. Aqui existem três tipos de nós. O nó infectado, que é considerado assim se este contiver dados os quais está propenso a emitir para os outros nós. O nó suscetível é o nó que não sabe da existência destes dados. Finalmente, o nó removido, que é o nó já atualizado, mas que não é disposto ou não é capaz de divulgar os dados. (TANENBAUM; STEEN, 2007).

32 30 Uma das várias formas deste tipo de protocolo é a propagação de boato (gossiping). Sobre o seu funcionamento, Tanenbaum e Steen (2007, p. 103) o descrevem da seguinte maneira: Se o nó P acabou de ser atualizado com o item de dado x, ele contata outro nó arbitrário Q e tenta enviar a atualização a Q. Contudo, é possível que Q já tenha sido atualizado por um outro nó. Nesse caso, P pode perder o interesse em levar adiante a propagação da atualização [...]. Analisando esta descrição, percebe-se que alguns nós poderão não receber as atualizações justamente porque P talvez perca o interesse em levar uma atualização adiante. 1.6 ANÁLISE DE TRÁFEGO DE REDE A análise de fluxo de dados é uma técnica para coleta de informações sobre o possível conjunto de valores calculados em vários pontos em um programa de computador. De acordo com Mark Meiss (2004), fluxo de rede consiste de um ou mais pacotes enviados de uma fonte (IP, porta) para um destino (IP, porta) usando um certo protocolo de transporte durante algum intervalo de tempo. A análise de tráfego de rede visa analisar os dados que trafegam em uma rede com o intuito principal de aperfeiçoar a utilização da largura da banda. Potter (2008) define que uma análise de rede, em sua essência, da verificação de evidências da rede, procura determinar informações em relação à segurança, desempenho, integridade, disponibilidade, entre outros fatores relativos a esta rede. Segundo Potter (2008, p.07), uma análise envolve basicamente a coleta e armazenamento de dados; disseminação e excitação dos dados na rede e, por fim, uma análise dos resultados destes na rede. Sobre a representação de um fluxo de dados como um vetor, Lucas (2010, p. 10) diz o seguinte: Um vetor de fluxo é um resumo das informações sobre um fluxo, contendo a gravação de quais hosts comunicaram entre si, quando esta comunicação ocorreu, como o tráfego foi transmitido e outras informações básicas sobre a conversação na rede.

33 31 Existem vários dispositivos para a conexão de redes. Dispositivos como hubs, roteadores e switches atuam nas três primeiras camadas do modelo OSI, (Open System Interconnection) transmitindo dados, cada um da sua maneira. No início não existia um sistema de gerenciamento de redes, ou seja, as decisões do roteamento de pacotes eram feitas, geralmente, pelo próprio hardware. Porém, por volta de 1996, a CISCO inventou um método pelo qual as decisões sobre os roteamentos eram instruídas por fluxos. Desta maneira foi possível obter informações sobre o valor do fluxo que trafegava na rede e disponibilizar as mesmas para um sistema-administrador chamado NetFlow. (LUCAS, 2010). 1.7 FERRAMENTAS DE ANÁLISE DE TRÁFEGO DE REDE E PUTTY Sobre sistema de análise de fluxo, Lucas (2010, p. 11) diz que este tipo de sistema coleta informações de fluxo e dá ao gerenciador do sistema de análise opções de funcionalidades como as de pesquisa, filtros e imprime para este usuário do sistema as informações do fluxo. Um sistema de gerenciamento de fluxo básico é composto por três componentes: um sensor, um coletor e um sistema que relata as informações colhidas. (LUCAS, 2010) Sensores podem ser roteadores, switches, firewall com capacidade integrada para exportar fluxo. Sensores também podem ser um software capaz de ouvir o tráfego que ocorre na internet. (LUCAS, 2010, p. 11) Conhecidos também como sondas, os sensores tem como funcionalidade ouvir o tráfego na rede e coletar dados da mesma. (LUCAS, 2010) Lucas (2010) define o coletor como um software que recebe as gravações do sensor e os armazena em um disco. Por fim, o sistema de comunicação é o responsável por ler os arquivos gerados pelo coletor e transpô-los em relatórios os quais os usuários deste sistema consigam compreender tais informações. (LUCAS, 2010) Várias são as ferramentas de gerenciamento (administração) de fluxo de dados existentes no mercado, dentre as quais se encontram Cisco IOS NetFlow, Zabbix, ntop, etc. Sobre Cisco IOS NetFlow, o mesmo é descrito por CISCO (2012) da seguinte maneira:

34 32 CISCO IOS NetFlow fornece de forma eficiente um conjunto essencial de serviços para aplicações IP, incluindo contagem de tráfego de rede, planejamento e segurança de rede, serviço de monitoramento de permissões e de rede. NetFlow fornece informações sobre usuários e aplicações de rede, horários de pico de utilização e roteamento de tráfego. Sobre o software Zabbix, Zabbix (2012) o descreve da seguinte maneira: Zabbix é um software que monitora vários parâmetros de uma rede; a saúde e a integridade dos servidores. Zabbix usa um mecanismo de notificação flexível que permite aos usuários configurar alertas baseados em praticamente todos os eventos. Isto permite uma reação rápida aos problemas do servidor. Zabbix oferece relatórios e visualização de dados com excelentes características baseado nos dados armazenados. Isso faz do Zabbix ideal para o planejamento de capacidade Putty Putty é definido como uma implementação livre de protocolos de rede Telnet e SSH (Secure Shell) para plataformas Windows e Unix, junto com um emulador de terminal xterm. É escrito e mantido principalmente por Simon Tatham. (PUTTY, 2013) Basicamente este software é utilizado para se faça conexões com servidores remotos fazendo uso de protocolos de rede SSH e Telnet. Então, este será utilizado para acesso ao sistema de gerenciamento do switch, em seu modo texto. 1.8 VIRTUALIZAÇÃO Sobre virtualização, RedHat (2012, p.01) diz que a virtualização permite que várias instâncias do sistema operacional sejam executadas simultaneamente em um computador. É uma forma de abstrair o hardware de um único sistema operacional. Complementando essa informação, IBM Global Education (2007, p.03) diz que um computador virtual é uma representação lógica de um computador em software. Conforme RedHat (2012), os sistemas operacionais virtualizados são controlados e monitorados por um VMM (Virtual Machine Monitor), conhecidos também por hypervisor. IBM Global Education (2007) afirma que em um ambiente de virtualização, um computador físico, através da execução de softwares, obtém recursos desta

35 33 máquina física para que estes possam ser utilizados entre os vários computadores virtuais que compõem este ambiente virtual. RedHat (2012) fala que nos sistemas virtualizados (convidados), para que estes utilizem apenas os recursos necessários para sua execução, o controle é feito por um operador que consegue controlar o uso da CPU, armazenamento, memória e outros recursos desse sistema convidado. IBM Global Education (2007) afirma que cada máquina virtual pode rodar diferente sistema operacional de outras máquinas virtuais que estão instaladas em um mesmo computador físico. As formas de virtualização podem ser desktop e servidor. A virtualização de desktop pode ser utilizada para estudos e testes sem que haja alteração nos registros do sistema operacional da máquina física. Já em relação a virtualização de servidores, IBM Grobal Education (2007, p.04) afirma que este tipo de virtualização permite que um servidor físico possa ser particionado para rodar múltiplos servidores virtuais seguros. Ainda sobre virtualização de servidores, IBM Global Education (2007) diz que utilizando-se esta técnica reduz-se o custo de aquisição de novas máquinas. Atualmente existem várias ferramentas para a virtualização de computadores. Dentre elas, as mais conhecidas são VirtualBox e VMware. Para a elaboração e execução deste projeto, foi utilizada a ferramenta VMware VMware Como ferramenta de virtualização, a VMware possui uma variedade de produtos. Dentre estes produtos estão VMware Workstation, VMware Server e VMware Player. O VMware Workstation encontra-se em sua nona versão e é voltado para o uso em desktops. Este produto é pago, mas pode ser usado gratuitamente por um período, para testes. Ele permite que as várias máquina virtuais instaladas em um computador pessoal possam interagir umas com as outras através da utilização dos recursos de rede que o VMware Workstation traz consigo. Alem dos recursos de rede, a Workstation também inclui recursos de dispositivos e de compartilhamento de arquivos. A instalação pode ser feita em máquinas que possuam tanto arquitetura de 32 bits quanto de 64 bits.

36 34 O VMware Server é um produto gratuito que foi descontinuado em 2011, ou seja, não existe mais suporte, por parte do desenvolvedor, para este produto. A dona do produto informou que o suporte deste terminou no dia 30 de junho de 2011 e que os usuários são livres para usar o mesmo. Porém, VMware indica que os usuários devem migrar para outros produtos dessa desenvolvedora, que possuem suporte ativo. O VMware Server oferece virtualização de servidores com o intuito de otimizar a utilização de suas máquinas da área de TI. O terceiro produto aqui citado, de nome VMware Player, é gratuito para uso pessoal e permite a fácil criação e implementação de máquinas virtuais em um computador. Segundo VMware (2012c), VMware Player é a maneira mais fácil de executar diversos sistemas operacionais ao mesmo tempo em seu PC. Esta versão também tem sua versão para uso comercial. 1.9 FERRAMENTAS DE TESTES JMeter A aplicação desktop Apache JMeter é um software de código aberto, desenvolvido 100% em Java, projetado para carregar testes funcionais de comportamento e medição de desempenho. (JMETER, 2012) Ainda de acordo com o desenvolvedor, JMeter foi inicialmente elaborado para testar aplicações web, mas atualmente pode ser utilizado para outras funções de testes. A aplicação pode ser usada para testar desempenho de recursos dinâmicos e estáticos (JMETER, 2012). De acordo com JMETER, a aplicação pode avaliar e testar desempenho de recursos de diferentes tipos de servidores, tais como: em relação a Web HTTP e HTTPS, SOAP (Simple Object Access Protocol), Base de dados via JDBC, LDAP (Lightweight Directory Access Protocol), entre outros. JMeter pode ser usado para testes de cargas pesadas em servidores, rede ou objetos, para testar a força destes ou para analisar o desempenho do sistema como um todo, com o uso de diferentes tipos de carga. (JMETER, 2012) MICROSOFT SQL SERVER

37 35 SQL Server é um sistema gerenciador de banco de dados utilizado por uma grande variedade de profissionais para realizar diferentes tipos de funções. SQL Server 2008, versão 10, é uma evolução natural do SQL Server, acrescentando gerenciamento baseado em políticas, compreensão de dados, administrador de recursos, alem de novos tipos de dados relacionais. (NIELSEN et al, 2009, p.13). SQL Server é muitas vezes necessário em todas as organizações nacionais ou globais, e replicação SQL Server é frequentemente utilizada para mover os dados. Serviços de replicação podem movimentar transações one-way ou atualizações merge de múltiplas localidades, utilizando uma topologia publicador-distribuidorassinante. (NIELSEN et al, 2009, p.11) De acordo com Nielsen et al (2009), os servidores da topologia de replicação são de três tipos: Publicador: servidor de origem; Distribuidor: em replicações transacionais e replicações peer-to-peer, o distribuidor é o local onde as mudanças são armazenadas até as mesmas serem replicadas para o servidor de destino. Já para replicação merge, o distribuidor é apenas um repositório; Subscritor: servidor de destino Tipos de replicação Nielsen et al (2009) dizem que o SQL Server 2008 oferece cinco tipos de replicação, cada qual atendendo a um determinado objetivo. Tais tipos são: replicação snapshot, replicação transacional, publicação Oracle, replicação peer-topeer e replicação merge Replicação Snapshot Na replicação snapshot, uma imagem dos objetos do banco de dados é feita como se fosse uma foto tirada em um determinado momento e esta imagem é copiada do servidor de origem para o servidor de destino. Conforme Nielsen et al (2009), a geração e implantação de imagens podem ser agendadas.

38 36 Figura 1.6 Replicação Snapshot Fonte: Lima, 2011, p.28 O SQL Server utiliza alguns componentes para implementar esse tipo de replicação. Um dos componentes é o Snapshot Agent, que é responsável por preparar os arquivos da replicação, armazená-los na pasta de distribuição e registrar uma nova replicação no banco de dados do Distribuidor. A pasta de distribuição é escolhida assim que é configurado o Distribuidor, podendo ser uma pasta local ou remota. Geralmente, os Snapshots são gerados e replicados assim que a publicação é assinada. Em seguida, um outro serviço é acionado, o Distribution Agent. Esse serviço também executa no Distribuidor e é responsável por propagar a distribuição em todos os Assinantes. (LIMA, 2011, p.27) Conforme MSDN (2013c), a replicação de instantâneo pode ser usada de forma isolada, porem, o processo de instantâneo, o qual MSDN (2013c) diz que é o

39 37 processo que cria uma cópia de todos os objetos e dados especificados por uma publicação é regularmente utilizado para fornecer o conjunto inicial dos dados e dos objetos do banco de dados para publicações de mesclagem e transacionais (MSDN, 2013c) Este tipo de replicação é mais bem utilizada quando a maioria dos dados raramente mudam. Quando isto ocorre, a mudança ocorre ao mesmo tempo em todas as replicações. (NIELSEN et al., 2009) Replicação Transacional Conforme Nielsen et al (2009), neste tipo de replicação, as transações que ocorrem no servidor de origem são capturadas de forma assíncrona e armazenadas em um repositório, e então são aplicadas, também de forma assíncrona, no servidor de destino. Figura 1.7 Replicação transacional Fonte: Lima, 2011, p.30

40 38 Nielsen et al (2009) dizem que o repositório em que são armazenadas as transações é chamado de banco de dados de distribuição. Nessa replicação, o SQL Server utiliza, além dos componentes Snapshot Agent e Distribution Agent, o componente Log Reader Agent. O Snapshot agente só é executado quando a assinatura é iniciada e executa as mesmas operações da replicação Snapshot. Em seguida o Distribution Agent se encarrega de fazer a distribuição para todos os Assinantes. Com todos os Assinantes sincronizados, o serviço Log Reader Agent é acionado. Esse serviço monitora o log de transações de cada banco de dados configurado para a replicação Transactional e copia as transações marcadas para replicação do log de transações no banco de dados de distribuição, que atua como uma fila confiável para armazenar e avançar. Sempre que o Log Reader Agent identifica uma nova atualização e armazena no banco de dados do Distribuidor, essa atualização já pode ser distribuída pelo Distribution Agent aos Assinantes, de acordo com o intervalo de tempo que foi configurado no Distribuidor. Os Assinantes recebem as transações na mesma ordem em que foram aplicados no Publicador. Se uma assinatura estiver marcada para validação, o Distribution Agent também verificará se os dados do Publicador e do Assinante coincidem. A Figura 1.7 demonstra como o Transactional Replication funciona. (LIMA, 2011, p.29) No sub-tópico a seguir será disposto como a publicação Oracle funciona e as suas particularidades de funcionamento Publicação Oracle De acordo com Nielse et al (2009), publicação Oracle é uma variação da replicação transacional, ou seja, ao invés de o servidor origem ser um SQL Server, este será um servidor Oracle, e as mudanças que ocorrerem são replicadas do servidor Oracle para o SQL Server. Ainda de acordo com os autores, este tipo de publicação está disponível somente na versão SQL Server Enterprise Edition e versões superiores Publicação peer-to-peer Este tipo de publicação também é uma variação da replicação transacional e é usada para replicar dados para um ou mais nós (computadores). Nielsen et al (2009) dizem que neste tipo de publicação, cada nó pode publicar dados para os nós que são membros em uma topologia de replicação peer-to-peer. Ainda de acordo

41 39 com os autores, quando ocorre alguma mudança e um nós está desligado, a alteração nesse nó será feita quando o mesmo estiver ativo. As mudanças neste tipo de publicação ocorrem de maneira bi-direcional, ou seja, alterações feitas em um determinado nó são replicadas para os outros, bem como este nó recebe as alterações efetuadas nestes outros nós. Os autores ainda dizem que este tipo de replicação pertence a versão Enterprise Edition e que é escalável para aproximadamente dez nós Replicação Merge A replicação merge é utilizada para mesclar mudanças que ocorrem tanto nos servidores de destino quanto nos servidores de origem. Figura 1.8 Replicação merge Fonte: Lima, 2011, p.31

42 40 A replicação to tipo Merge Replication inicia como a replicação to tipo Transactional, fazendo primeiro uma replicação do tipo Snapshot do Publicador para os Assinantes, sincronizando todas as bases. A partir daí, todas as alterações feitas no Publicador passam a ser rastreadas. Sempre que o Assinante está conectado à rede, as alterações feitas após a última sincronização são replicadas do Publicador para o Assinante. A Figura 1.8 demonstra o funcionamento da Merge Replication. Essa replicação utiliza o componente Snapshot Agent para criar o arquivo de instantâneo e o componente Merge Agent para distribuir as Publicações entre os Assinantes. O Merge Agent mescla as alterações de dados que ocorrem no Publicador com os dados dos Assinantes quando os mesmos estão disponíveis. (LIMA, 2011, p.30) Com replicação merge, existe uma administradora central para mudanças que determina quais mudanças serão feitas nas bases de dados. (NIELSEN et al, 2009, p.816) Conforme descrito neste capítulo, as replicações fazem uso de alguns programas chamados agentes. No sub-tópico a seguir serão expostos estes agentes Agentes de Replicação De acordo com MSDN (2013a), a replicação usa um número de programas autônomos chamados agentes, para executar as tarefas associadas ao rastreamento de alterações e dados de distribuição. Ainda segundo MSDN (2013a), tais agentes rodam como tarefas agendadas sob o Agente SQL Server e que o Agente SQL Server deve estar rodando para os trabalhos que ainda virão a ser executados. Nielsen et al. (2009, p. 816) dizem que para realizar toda a carga de trabalho requerida na troca de dados entre os vários servidores em uma publicação, a replicação SQL Server faz uso de três agentes: Snapshot Agent (Agente de Instantâneo), Distribution Agent (Agente de distribuição) e o Merge Agent (Agente de mesclagem). Conforme MSDN (2013a), o agente de instantâneo é normalmente usado com todos os tipos de replicação. Ainda conforme MSDN (2013a), este tipo de agente é o que prepara o esquema e os arquivos de dados iniciais das tabelas publicadas e de outros objetos, armazena os arquivos snapshot e registra as

43 41 informações sobre a sincronização no banco de dados de distribuição. Tal agente roda no distribuidor. Já o agente de distribuição é utilizado com a replicação de instantâneo e replicação transacional (MSDN, 2013a). Segundo Nielsen et al, (2009, p.816) usa a replicação de instantâneo inicialmente no Assinante e utiliza a replicação transacional para replicar mudanças subseqüentes que ocorrem no publicador para o subscritor. Por fim o agente de mesclagem que, conforme Nielsen et al. (2009, p.817), detecta mudanças que ocorreram no publicador e no subscritor desde a última vez que os agentes rodaram e os mesclam para formar um conjunto consistente em ambos publicador e subscritor Linked Server Muitas vezes existe a necessidade de obter dados de uma base de dados que está em um servidor diferente. Dito isto, com a utilização do Linked Server (Servidores Vinculados), é possível realizar o acesso a base de dados que não somente estão em servidores diferentes, como também podem estar fora da instância do SQL Server, podendo ser outro produto de banco de dados, tal como ORACLE. (MSDN, 2013b) Complementando esta informação, Nielsen et al. (2009, p.693) dizem que um servidor vinculado pode ser um servidor SQL ou qualquer outra fonte de dados com provedor OLE DB ou drivers ODBC. vantagens: De acordo com MSDN (2013b), os Linked Servers oferecem as seguintes Capacidade de acesso aos dados de fora do SQL Server. Capacidade de emitir consultas distribuídas, atualizações, comandos e transações em fontes de dados heterogêneos. Capacidade de endereçar de forma semelhante diversas fontes de dados. MSDN (2013b) informa que um servidor vinculado possui os seguintes objetos: um provedor OLE DB e uma fonte de dados OLE DB. Um provedor OLE DB é uma DLL (Dynamic Link Library Biblioteca de Vínculo Dinâmico) que gerencia e interage com uma fonte de dados específica. Uma fonte de dados de OLE DB identifica o banco de dados específico que pode ser acessado por meio de OLE DB.

44 42 Figura 1.9 Configuração de Servidores Vinculados Fonte: MSDN, 2013b Normalmente, servidores vinculados são usados para manipular consultas distribuídas. Quando um aplicativo cliente executa uma consulta distribuída através de um servidor vinculado, o SQL Server analisa o comando e envia solicitações ao OLE DB. Essa solicitação de conjunto de linhas pode ser a execução de uma consulta em relação ao provedor ou a abertura de uma tabela base do provedor. Para que uma fonte de dados retorne dados através de um servidor vinculado, seu provedor de OLE DB (DLL) deve estar presente no mesmo servidor da instância do SQL Server. Quando é usado um provedor de OLE DB de terceiros, a conta sob a qual o serviço do SQL Server é executado deve ter permissões de leitura e execução no diretório e em todos os subdiretórios no qual o provedor está instalado. (MSDN, 2013) Este capítulo expôs fundamentações teóricas sobre banco de dados distribuídos, ferramentas de testes e virtualização, e as ferramentas utilizadas para implementar o ambiente de testes deste trabalho. O capítulo seguinte define avaliação de desempenho e como conduzir a mesma para que problemas futuros sejam evitados. No mesmo capítulo também é exposto como deve ser realizado o planejamento de experimentos, os tipos de estratégias para projetos de experimentos, bem como as terminologias e fórmulas utilizadas neste planejamento.

45 43 2 AVALIAÇÃO DE DESEMPENHO DE SISTEMAS COMPUTACIONAIS E PLANEJAMENTO DE EXPERIMENTO 2.1 AVALIAÇÃO DE DESEMPENHO Desempenho é um critério fundamental na elaboração de um projeto, aquisição e utilização de um sistema de computador, conforme destaca Jain (1991). Sobre sistema, o mesmo diz que é uma coleção de hardware, software e componentes de firmware. Existem duas ferramentas para efetuar a medição de performance de um sistema de computador: uma utilizada para saturar o sistema (gerador de carga) e uma outra para medir os resultados (monitor). Para que uma avaliação de desempenho seja bem sucedida é necessário que o elaborador dos testes tenha um profundo conhecimento do sistema que será avaliado, devendo elaborar uma cuidadosa seleção de metodologia, escolher as ferramentas adequadas e as cargas de trabalho necessárias. (JAIN, 1991) Os critérios usados para avaliar o desempenho de um sistema são conhecidos como métricas. O tempo de resposta (tempo para requisitar um serviço) é um tipo de métrica que pode ser usada para comparar dois sistemas. (JAIN, 1991) Segundo Jain (1991), o conjunto formado por requisições feitas por usuários de sistema são chamadas de workloads (cargas de trabalho). As cargas de trabalho de um sistema de banco de dados consistem de consultas e outras requisições executadas pelos usuários. Simplesmente comparar a média dos resultados de um número de experimentos repetidos não conduz a conclusões corretas, ainda mais se a variabilidade dos resultados é alta. Variações podem ocorrer caso simulações ou medições sejam feitas muitas vezes. Tais variações também podem ocorrer de forma quase imperceptível, o que acaba gerando um resultado diferente para cada teste. Para evitar estes problemas, o mesmo aconselha que uma técnica de estatística apropriada deve ser tomada. Experimentos e simulações devem ser bem elaborados para que o número máximo de informações seja obtido com o mínimo de esforço. Para que simulações sejam realizadas corretamente é necessário escolher uma linguagem para estas simulações, optar por algoritmos para a geração de números aleatórios, decidir o

46 44 tamanho destas simulações e analisar os resultados gerados por estas simulações. (JAIN, 1991) Métodos para evitar problemas em projetos de avaliação de desempenho Alguns passos podem ser seguidos para evitar erros que são comuns em projetos de avaliação de desempenho. Primeiramente deve-se definir objetivos de estudo e sistema. Nessa etapa deve-se de definir os objetivos do projeto e delimitar limites do sistema. A escolha dos limites do sistema afeta as métricas adotadas e as cargas de trabalho utilizadas para comparar os sistemas. Por tal fato é importante que se compreenda os limites do sistema. Feito isto, uma lista de serviços e resultados que o sistema fornece deve ser elaborada. Mais tarde serão muito úteis na escolha correta de cargas de trabalho e métricas. Deve-se também selecionar as métricas que, segundo Jain (1991), são os critérios utilizados para comparar desempenho e que estão relacionados à velocidade, precisão e disponibilidade de serviços. Uma lista dos parâmetros que vão afetar o desempenho do sistema deve ser elaborada. Os parâmetros que variam são chamados fatores e os valores destes fatores são chamados níveis. Neste tipo de seleção é importante considerar as restrições econômicas, políticas e tecnológicas que existem, bem como incluir as limitações impostas pelos tomadores de decisões e o tempo para tomar decisões. Isso aumenta as chances de obter uma solução que seja aceitável. Escolhe-se dentre as três técnicas de avaliação (medição, simulação e modelagem analítica), a mais apropriada para que o objetivo seja alcançado. Seleciona-se cuidadosamente a carga de trabalho para que medições sejam significativas. Posteriormente, tendo a lista de fatores e os níveis destes, decide-se a sequência de experimentos que oferecem o maior número de informações com o mínimo de esforço. Por fim, os dados obtidos são analisados e interpretados, gerando resultados os quais serão expostos.

47 Erros em avaliação de desempenho De acordo com Filho (2008), uma série de erros podem ocorrer por aqueles que, no âmbito de conseguirem soluções rápidas, acabam sendo menos cautelosos e esquecem de alguns cuidados que devem tomar com relação à avaliação. Segundo Jain (1991), o analista ou o grupo de analistas que irá realizar os testes e avaliar o desempenho do sistema, antes de fazer qualquer coisa, tal como elaborar um modelo analítico ou estabelecer a medição de um experimento, deve entender o sistema e identificar o problema (ou problemas) a serem solucionados. Desta maneira a metodologia e métricas são escolhidas da forma correta. Outro erro apontado por Jain (1991) é quando um profissional escolhe de forma aleatória parâmetros do sistema, fatores, workloads e métricas. Isto acaba por resultar em conclusões inexatas. O uso da abordagem sistemática, no contexto de desempenho, consiste na identificação de um conjunto de objetivos, parâmetros do sistema, métricas, workloads e fatores. Profissionais também cometem erros quando optam por métricas que podem ser mais fáceis de ser computadas ou medidas do que aquelas que são realmente relevantes para a avaliação. De acordo com Jain (1991), a escolha da métrica correta depende dos serviços fornecidos pelo sistema ou subsistema que estão sendo modelados. Quando o responsável pela avaliação do sistema escolhe a carga de trabalho errada, conclusões erradas são obtidas. A carga de trabalho usada para comparar dois sistemas deve ser representativa do atual sistema a ser comparado. (JAIN, 1991) De acordo com Jain (1991), analistas têm preferência por uma dada técnica de avaliação (medição, simulação e modelagem analítica) que eles usam em todo o problema de avaliação de desempenho, de acordo com o que será avaliado. O analista que irá elaborar e projetar a avaliação deve ter um conhecimento básico das três técnicas, pois o uso de mais de uma técnica pode vir a ocorrer e, com esta união, problemas que antes não existiam, podem vir a surgir. Existe um número de fatores que o analista deve considerar na seleção da técnica certa. Sobre fatores, Jain (1991) diz que estes são parâmetros que sofrem variações no estudo. Nem todos os parâmetros têm um efeito igual no desempenho. O autor diz que é importante identificar os parâmetros os quais, se variados, causarão um

48 46 impacto significativo na performance. A escolha dos fatores deve ser feita com base em sua importância e não no conhecimento do analista sobre os fatores. 2.2 PLANEJAMENTO DE EXPERIMENTO O processo ou técnica estatística empregada com o propósito de determinar como o comportamento de um sistema pode ser influenciado pelos possíveis valores de uma ou mais variáveis é o da experimentação. (FILHO, 2008, p.277) Montgomery (apud FILHO, 2008, p.277) define experimento como um teste ou uma série de testes, nos quais alterações controladas são realizadas sobre os fatores envolvidos em um sistema ou processo, de tal forma que se possa observar e identificar as razões das mudanças ocorridas sobre as respostas. Planejamento deve ser utilizado em qualquer experimento. De acordo com Santana e Santana (2012a), planejamento é uma técnica muito importante, pois o seu emprego permite resultados mais confiáveis, economizando dinheiro e tempo. Jain (1991) diz que o planejamento de experimentos relaciona-se com o número de medições ou simulações dos experimentos a serem realizados e os valores dos parâmetros utilizados em cada experimento. Com a utilização de uma seleção adequada destes valores, pode-se obter um maior número de informações com o mesmo número de experimentos. De acordo com Montgomery (apud FILHO, 2008), os objetivos que podem ser buscados no processo experimental são: Determinar quais variáveis têm mais influência sobre as respostas; Determinar que valores associar a essas variáveis, de forma que as respostas permaneçam próximas a seus valores nominais; Determinar que valores associar a essas variáveis, de forma que a variabilidade das respostas seja mínima; Determinar que valores associar a essas variáveis, de forma que a influência dos fatores não controláveis seja minimizada. Filho (2008), com relação a fatores não controláveis, diz que os mesmos podem ser fixados para fins de testes quando estas variáveis estão sendo usadas em modelos de sistemas ou processos.

49 47 Para que haja compreensão dos termos utilizados, no subtítulo são apresentados os principais elementos da terminologia utilizada em planejamento de experimentos. Sobre as estratégias mais empregadas, tais serão descritas no item Terminologia Segundo Filho (2008), os termos e as explicações destes termos, a seguir, são comumente utilizados em análise e projeto experimental: Variáveis de resposta: resultados de um experimento que permite observar o comportamento de um sistema; Fatores: variáveis controladas pelo experimentador e que podem afetar as variáveis de reposta; Níveis: valores que um fator pode assumir, ou seja, cada nível do fator é uma alternativa para aquele fator; Replicações: repetição de todos ou de alguns experimentos; Projeto experimental: consiste na especificação de uma estratégia de ação que resulta na determinação do número de experimentos (fatores x níveis) a serem realizados, do número de replicações de cada experimento e da forma que serão efetivados. Sobre fatores primários e secundários, Santana e Santana (2012a, p.6) dizem: Fatores primários: fatores que causam um grande impacto em uma variável de resposta e que devem ser considerados; Fatores secundários: fatores cujo impacto na variável de resposta não são significantes ou não se tem interesse em quantificar Medidas de desempenho Medidas de desempenho, ou métricas, são, segundo Jain (1991), os critérios utilizados para avaliar o desempenho de um sistema. Ainda segundo o autor, a seleção das métricas é um passo chave em todos os projetos de avaliação de desempenho.

50 48 Para sistemas computacionais divididos entre vários usuários, devem ser considerados dois tipos de métricas de desempenho: individual e global. Jain (1991, p.48) diz que as métricas individuais refletem a utilidade de cada usuário, enquanto que as globais refletem a utilidade de todo o sistema. Citando como exemplos, Jain (1991) afirma que a utilização de recursos, confiança e disponibilidade referem-se a métricas globais. Já tempo de resposta e throughput referem-se a métricas individuais, uma vez que estas podem ser medidas para cada usuário. Nos tópicos a seguir são definidas algumas métricas comumente utilizadas na avaliação de desempenho de um sistema. Ainda sobre essas métricas, Jain (1991) diz que algumas definições dessas medidas precisam ser alteradas para atender a uma determinada aplicação Tempo de resposta De acordo com Jain (1991, p.51), tempo de resposta é definido como o intervalo entre uma requisição do usuário e a resposta do sistema. Ainda de acordo com o autor, esta definição é considerada simplista uma vez que as requisições, bem como as respostas, não ocorram de forma instantânea Throughput Throughput define a capacidade do computador de processar os dados. Jain (1991, p.53) define throughput como a taxa (requisições por unidade de tempo) a qual os pedidos podem ser atendidos pelo sistema. Sobre tal métrica, Jain informa que para sistemas interativos, throughput é medido em requisições por segundo, para CPUs, throughput é medido em milhões de instruções por segundo (MIPS), ou milhões de operações de pontos-flutuantes por segundos (MFLOPS). Já para redes, o throughput é medido em pacotes por segundo (pps) ou bits por segundo (bps). De acordo com Santana e Santana (2012a, p.19), throughput geralmente aumenta até um certo ponto, depois começa a cair Carga de trabalho

51 49 O termo carga de trabalho denota qualquer carga de trabalho utilizada em estudos de desempenho. (JAIN, 1991, p.60) Carga de trabalho são requisições feitas pelos usuários do sistema. Carga de trabalho pode ser de dois tipos: real e sintética. Tais cargas são descritas no tópico seguinte Tipos de carga de trabalho Conforme Jain (1991), uma carga de trabalho real é vista em um sistema que é utilizado para operações normais. Por este tipo de carga não poder ser repetida, geralmente não é adequada para uso como carga de testes. Outro tipo de carga de trabalho, a sintética, possui características similares as da carga de trabalho real e pode ser aplicada repetidamente, de uma maneira controlada. Este tipo de carga é desenvolvida e utilizada para estudos. Ainda sobre carga de trabalho sintética, o autor informa que a principal razão para a utilização de uma carga de trabalho deste tipo é que esta é uma representação ou modelo da carga de trabalho real. Conforme Jain (1991), outras razões para a utilização de uma carga de trabalho sintética são que nesta podem existir dados grandes e confidenciais; a carga de trabalho pode ser facilmente modificada, sem afetar as operações. Por possuir tamanho pequeno, a carga de trabalho sintética pode ser facilmente portada para diferentes sistemas, podendo ter recursos de medição internos. (JAIN, 1991) Estratégias de projetos de experimentos Algumas das estratégias que podem ser adotadas para a execução de um projeto experimental são: planejamento simples, planejamento fatorial completo e planejamento fatorial parcial. No subitem a seguir tais estratégias são descritas Fatorial simples Este tipo de planejamento é muito utilizado, no qual varia-se um fator por vez, mantendo os demais fixos.

52 50 Filho (2008) diz que este planejamento desconsidera um elemento fundamental quando se trata de experimentação: a interação entre os fatores. O autor descreve interação como a mútua influência entre dois ou mais fatores. Sobre interação, Santana e Santana (2012a, p.07) dizem que a interação ocorre quando dois fatores se interagem se o efeito de um depende do nível do outro. Filho (2008, p.284) ainda diz que, caso a interação entre os fatores é muito comum, esse tipo de planejamento pode levar a conclusões erradas. O mesmo afirma que, se comprovadamente, não existem interações entre fatores, essa estratégia pode ser uma opção prática. A equação para este tipo de planejamento é exposta a seguir, n 1 K i 1 ( n i 1) Figura 2.1 Equação para fatorial simples Fonte: Santana; Santana, 2012b, p.06 onde, dados K fatores, com o i-ésimo fator tendo n i níveis, um fatorial simples requer somente n experimentos. Deste modo, caso o experimento contenha quatro fatores, a equação adequada a este seria: n = 1+(3-1)+ (3-1)+ (3-1)+ (3-1) = 9 experimentos Fatorial completo Jain (1991, p.279) diz que a vantagem de um planejamento fatorial completo é que todas as suas possíveis combinações de configuração e cargas de trabalho são examinadas, ou seja, todas as possíveis combinações entre fatores e seus diferentes níveis são utilizadas e pode-se encontrar o efeito de todos os fatores, incluindo fatores secundários e suas interações. (FILHO, 2008) Ainda de acordo com Jain (1991), a principal desvantagem deste tipo de planejamento é o custo de estudo. Complementando esta informação, Filho (2008) diz que este custo pode ser muito alto, ainda mais quando se considera a possibilidade de repetir cada experimento várias vezes. De acordo com Filho (2008), existem três maneiras para reduzir o número de experimentos, sendo assim, os custos associados:

53 51 Reduzir o número de níveis por fator; Reduzir o número de fatores; Usar projetos fatoriais fracionário. Jain (1991, p.279) diz que a primeira alternativa é a mais recomendada pois, em alguns casos, é possível tentar somente dois níveis por fator e determinar a importância relativa de cada fator. A seguinte equação expõe o número de experimentos n deste tipo de fatorial. Figura 2.2 Equação para fatorial completo Fonte: Santana; Santana, 2012b, p.10 Desta maneira, caso o experimento contenha quatro fatores e três níveis, a equação para este seria: n K i 1 n i n = 3 x 3 x 3 x 3 = 81 experimentos Fatorial fracionário Segundo Filho (2008), quando o número de experimentos requeridos para um fatorial completo é muito grande e que a execução do projeto pode se tornar economicamente inviável devido ao tempo e recursos necessários para a sua execução, pode-se utilizar apenas parte ou fração do total de experimentos de um planejamento fatorial completo. Para este tipo de planejamento dá-se o nome de planejamento fatorial fracionário ou fatorial parcial. Ainda de acordo com Filho (2008), com este tipo de planejamento é possível obter boas informações sobre os efeitos causados pelos principais fatores, bem como alguma informação sobre suas possíveis interações Projetos fatoriais 2 k De acordo com Jain (1991, p.282), um projeto fatorial tipo 2 k é usado para determinar o efeito de k fatores, cada um dos quais com duas alternativas ou níveis. Complementando, Santana e Santana (2012a) dizem que uma boa alternativa

54 52 quando ocorre a utilização de estratégia de projeto fatorial em experimentos é iniciar com poucos fatores e 2 níveis por cada fator. Segundo Filho (2008), fatorial tipo 2 k merece uma atenção especial pois esta estratégia oferece algumas vantagens tais como: simplicidade de implementação; facilidade de compreensão do que está sendo feito, por parte dos analistas que não possuem tanta experiência; facilidade para entender os efeitos de cada fator sobre as variáveis de resposta; possibilidade de ordenação dos fatores por sua ordem de importância. Jain (1991) diz que, frequentemente, quando são estudados os efeitos de fatores sobre respostas, os efeitos dos fatores são unidirecionais, ou seja, o desempenho diminui ou aumenta continuamente na medida em que os valores dos fatores são alterados, aumentando-os ou diminuindo-os. Assim, Filho (2008) aconselha que, ao invés de realizar um número de experimentos muito grande, o que poderia acarretar em um desperdício de recursos muito grande, pode-se iniciar as experimentações utilizando-se os níveis mínimos e máximos (dois níveis) de cada fator. Isso ajudará a decidir se a diferença no desempenho é significante o suficiente para justificar exames mais detalhados. (JAIN, 1991, p.282) Dito isto, o próximo sub-tópico dará uma breve explanação sobre projetos fatoriais do tipo 2 2, o qual facilita a compreensão dos conceitos utilizados em projetos 2 k Projeto fatorial 2 2 Fatorial 2 2 é o caso mais simples de um projeto fatorial. Este é um caso especial de um projeto 2 k com k = 2. Deste modo têm-se dois fatores com dois níveis cada. Conforme desdobramento desenvolvido por Jain (1991) considera-se dois fatores, aqui chamados, fator A e fator B e, a partir de experimentos efetuados, serão obtidos os valores y 1, y 2, y 3 e y 4. Para cada nível de cada fator é definido um valor. Então, a seguir, estes valores são definidos como: fator A (x A ), nível 1 = -1; fator A (x A ), nível 2 = 1; fator B (x B ), nível 1 = -1; fator B (x B ), nível 2 = 1.

55 53 Desta maneira constrói-se o Quadro 2.1, que demonstra a correspondência entre níveis, fatores e respostas de um fatorial 2 2. Quadro 2.1- Níveis, fatores e respostas de um projeto 2 2 Fonte: Santana; Santana, 2012a, p.23 De acordo com Santana e Santana (2012a), a análise do projeto fatorial 2 2 é feita através do modelo de regressão não linear da forma: y = q 0 + q A x A + q B x B + q AB x A x B Partindo desta equação, Filho (2008) diz que substituindo-se as quatro observações no modelo e os valores dos coeficientes, obtêm-se: y 1 = q 0 q A q B + q AB y 2 = q 0 + q A q B q AB y 3 = q 0 q A + q B q AB y 4 = q 0 + q A + q B + q AB Em complemento, Filho (2008, p.292) afirma que, partindo dessas equações para q i s, as expressões obtidas q A, q B e q AB são claramente combinações lineares das respostas, com a soma dos coeficientes igual a zero. Tais expressões (q A, q B e q AB ) são evidenciadas a seguir: q 0 = ¼ (y1 + y2 + y3 +y4) q A = ¼ ( y1 + y2 y3 +y4) q B = ¼ ( y1 y2 + y3 +y4) q AB = ¼ (y1 y2 y3 +y4) Estas expressões, de acordo com Jain (1991), são conhecidas como contrastes Soma dos quadrados totais SQT

56 54 De acordo com Filho (2008, p.296), é importante que seja determinado a contribuição de cada fator sobre as variações nas variáveis de resposta. A importância de um fator é medida pela proporção do total da variação na variável de resposta que é por ele explicado. Santana e Santana (2012a, p.28) dizem que a partir dos valores q 0, q A, q B e q AB, a soma dos quadrados pode ser determinada. Ainda de acordo com Santana e Santana (2012a, p.28), complementando a afirmação de Filho (2008), a soma dos quadrados dará a variação total das variáveis de resposta e as variações devido a influência do fator A, do fator B e da interação entre A e B e que é definida pela seguinte equação: Variância total ou SQT: SST 2 2 i 1 ( y i y) 2 Em tal equação, ȳ refere-se a média das respostas dos experimentos realizados. (FILHO, 2008) Ainda de acordo com Filho (2008), a soma dos quadrados totais (SQT), em inglês, Sum of Squares Total (SST), pode ser definida da seguinte forma: SQT = SQA + SQB + SQAB Filho (2008) expõe que as três parcelas do lado direito da equação representam a porção da variação total explicados pelos efeitos de A, B, e da interação AB, respectivamente. Assim, de acordo com as fórmulas descritas anteriormente, atribuindo-a para um projeto 2 2, a variação pode ser divida em três partes: SSA = 2 2 q 2 A, porção da soma dos quadrados totais que é explicada pelo fator A. A influência do fator A pode ser expressa pela seguinte fração: A = SQA / SQT; SSB = 2 2 q 2 B, porção da soma que é explicada pelo fator B, tendo sua influência representada por: B = SBQ / SQT; SQAB = 2 2 q 2 AB, referente a porção devido a interação entre os fatores A e B, tendo sua influência representada por: AB = SQAB / SQT Por fim, Filho (2008) diz que os fatores que explicam uma alta porcentagem da variação são considerados os mais importantes.

57 55 3 DESENVOLVIMENTO 3.1 METODOLOGIA Neste tipo de trabalho deve-se adotar o conjunto correto de métodos e técnicas para que o objetivo seja alcançado. Caso a metodologia utilizada nesse tipo de pesquisa não seja a correta, os resultados podem ser obtidos de forma inexata, pois fatores cruciais que influenciam a variável de resposta podem ser deixados de lado. Esta pesquisa tem como variável de resposta a quantidade de pacotes que trafegam em uma rede, por segundo, gerados através de requisições em um banco de dados distribuído. Para esta pesquisa foi utilizado o modelo de dados de um sistema de estacionamento, composto pelas seguintes tabelas: cliente, funcionário, pagamento, ticket e carro. A Figura 3.1 expõe este modelo, dispondo como as tabelas se relacionam, bem como as respectivas colunas e, consequentemente, os tipos destas. Assim pode-se verificar como o banco de dados utilizado neste projeto foi elaborado, fisicamente. Figura 3.1 Modelo de dados relacional Fonte: Elaborado pelo autor O modelo de dados representado pela Figura 3.1 refere-se a um sistema de controle de estacionamento que permite ao usuário deste sistema usufruir de

58 56 facilidades de controle de permanência de veículos no estacionamento, possibilitando ao utilizador do sistema gerar o valor do pagamento de um dado veículo, relacionando a permanência deste no pátio com o valor de cada hora. Possibilita também o controle de clientes, mantendo uma base dos referidos veículos pertencentes a este cliente. Através deste modelo foi possível construir o banco de dados distribuído, que foi base deste estudo, contendo o relacionamento entre estas tabelas e, assim, capaz de receber persistência de dados. Dito isto, com a utilização da ferramenta de testes JMeter, foi possível realizar os quatro tipos básicos de requisições (criação, leitura, atualização e exclusão) ao banco de dados, de forma que estas requisições fossem feitas atendendo a um determinado número previamente estabelecido. Ou seja, a ferramenta JMeter permite que uma carga de trabalho seja gerada para que se possa obter os valores para a elaboração de uma análise das respostas a que se quer. No caso deste projeto, JMeter foi utilizado para simular uma certa quantidade de usuários que fizeram uma certa quantidade de requisições ao banco de dados distribuído desta experiência. Essa ferramenta possibilita fazer estes tipos de requisições, simulando usuários reais. Desta maneira foi possível realizar a análise de desempenho deste projeto. 3.2 AMBIENTE DE TESTES O ambiente de testes deste experimento foi baseado em envio e recebimento de requisições a um banco de dados distribuídos que, aqui nesta avaliação de desempenho, teve como base de dados tabelas que compõem um sistema de controle de carros em um estacionamento. Para a parte de infra-estrutura de rede de computadores foi elaborada uma rede local situada na sala 3, contida dentro das dependências da Faculdade de Tecnologia de Lins Prof Antonio Seabra, sendo utilizados 8 computadores para a realização dos testes e um notebook para efetuar o bombardeio de requisições, através do JMeter. Em sete destes oito computadores, e no notebook, foi instalado o programa VMware Workstation, versão build Assim foi possível criar uma máquina virtual (VM) em cada uma destas máquinas físicas. Isso propiciou segurança com relação a ter cópias destas VMs, uma vez que um destes

59 57 computadores poderia vir a ter problemas e, talvez, necessitariam ser formatados, perdendo assim todas as instalações e configurações elaboradas anteriormente para que os testes fossem realizados. Com isto, em sete destas oito máquinas virtuais foram instalados o sistema operacional Windows XP Professional Versão 2002 Service Pack 3 e o SGBD SQL Server 2008 Developer. Desta maneira, o BDD foi composto por sete hosts, sendo que um host representava o publicador e os outros seis representavam os subscritores. No oitavo host, ou seja, no notebook, também foi instalado o Windows XP como sistema operacional, e esta VM ficou disponibilizada para efetuar as requisições ao BDD, com a utilização da ferramenta JMeter. O nono computador foi utilizado para a visualização das portas do switch que compôs a rede deste experimento, através do programa Putty, com o qual foi possível acessar o software nativo do switch, em seu modo texto. A Figura 3.2 representa o ambiente de testes, de uma maneira geral, utilizado nesta avaliação. Figura 3.2 Ambiente de testes Fonte: Elaborado pelo autor Para a compreensão desta figura, como dito anteriormente, os clientes foram simulados através da utilização do JMeter. Já as requisições que chegavam ao BDD, representadas pela seta nomeada Dados, poderiam vir de qualquer lugar, de

60 58 forma global ou local, a este sistema de banco de dados distribuídos. O visualizador foi utilizado para verificar o tráfego nas portas do switch, como disposto anteriormente. Por fim, os sete hosts, compostos por suas respectivas máquinas virtuais, formando desta forma o banco de dados distribuídos. O notebook utilizado nesta avaliação possui as seguintes características: Processador Intel Core i5-2410m 2.30GHz 2.30 GHz, memória RAM 4,00GB, 500GB Hard Disk (HD) e o SO Windows 7 Ultimate 64 Bits. Já os oito computadores utilizados possuem as mesmas características físicas e de sistema operacional: Processador Intel Core i GHz 3.10GHz, memória RAM 4,00GB e SO Windows 7 Professional 64 Bits. Com relação às máquinas virtuais, sete das oitos citadas anteriormente, foram configuradas com 1024MB de memória, com um processador de 1 core cada. Já referente a placa de rede, todas foram configuradas para o modo Bridge. Desta maneira a máquina virtual funciona como se estivesse na mesma rede da máquina física. Figura 3.3 Monitoramento de pacotes recebidos (gráfico) Fonte: D-Link, 2009, p.334.

61 59 Referente a oitava máquina virtual, como esta funcionou como servidor de rede, a única diferença com relação as outras virtuais foi que esta oitava foi configurada com duas placas de rede, mantendo o modo Bridge. O intuito desta configuração é demonstrar que os hosts além desta máquina virtual não sofreriam interferências diretas da rede sem antes passar por esta máquina. Desta maneira, esta máquina-servidor foi configurada com dois IP s diferentes, um para as requisições externas ao banco de dados distribuídos e outro para a rede interna, composta pelas máquinas virtuais que compõem o BDD. O switch utilizado no controle de tráfego da rede e visualzação de pacotes que trafegavam na rede foi um DLink DGS 3627, tendo como taxa de transferência de dados o equivalente à 1 Gigabits por segundos (GBPS). Este switch possui vinte e quatro portas gerenciáveis, lembrado que para esta avaliação, apenas nove portas foram utilizadas, e o dispositivo não possuía conexão com a Internet. Figura 3.4 Monitoramento de pacotes enviados e recebidos (tabela) Fonte: D-Link, 2009, p.335.

62 60 A Figura 3.3 expõe a tela de visualização em forma de gráfico, que o switch disponibiliza para o usuário deste dispositivo. No caso é disposta a tela referente a porta 1, que monitora a chegada de pacotes em tal porta. A Figura 3.4 refere-se a mesma porta (1), porém, disponibiliza as informações transmitidas e recebidas, tanto na forma de pacotes quanto na forma de bytes, na forma de uma tabela. Entretanto, a tela disponibilizada de forma gráfica não atende a necessidade deste projeto, uma vez que só é possível visualizar uma porta do switch por teste e, na transição de uma tela para outra, um tempo considerável era perdido, prejudicando a coleta de informações. Desta maneira, a Figura 3.5 demonstra o total de tráfego de pacotes por porta, fazendo uso do programa Putty. A mudança entre uma porta e outra era feita de forma rápida, apertando a tecla space para acessar a porta seguinte, ou a tecla p, para retroceder para a porta anteriormente visualizada. Figura 3.5 Monitoramento de pacotes enviados e recebidos Fonte: Elaborado pelo autor. Com relação as máquinas utilizadas, para um melhor entendimento destas, virtuais ou física (esta última foi utilizada para visualizar o tráfego de dados do

63 61 switch), que compuseram esta avaliação, é disposto a seguir o quadro 3.1, contendo o nome do computador físico, o nome da máquina virtual (VM), a porta a que este acessa o switch, qual a atribuição do computador na avaliação de desempenho e o IP atribuído a este computador. Lembrando que o computador que possui máquina virtual, o IP foi atribuído a esta VM, e não à máquina física e que a máquina virtual de nome servidor1 possui dois IPs pois a mesma funcionou como um servidor de rede, tendo em sua configuração duas placas de rede. Quadro 3.1 Qualificações dos hosts Computador VM Switch (porta) Função IP (Protocolo de Internet) LAB6-M02 servidor1 1 Publicador / LAB6-M01 cliente-01 2 Subscritor LAB6-M04 cliente-02 3 Subscritor LAB6-M03 cliente-03 4 Subscritor LAB6-M06 cliente-04 5 Subscritor LAB6-M05 cliente-05 6 Subscritor LAB6-M08 cliente-06 7 Subscritor Gustavo-Notebok JMeter 9 Cliente Virtual-Jmeter LAB6-M Visualizar Tráfego-Switch Fonte: Elaborado pelo autor 3.3 PLANEJAMENTO DE EXPERIMENTOS Para este projeto foi utilizado o planejamento fatorial completo, que leva em consideração os fatores escolhidos e os níveis referentes a estes. O projeto fatorial utilizado aqui foi o 2 3, o que quer dizer que foram escolhidos 3 (três) fatores, sendo que cada um destes fatores possuem 2 (dois) níveis. Assim, foram efetuados 8 experimentos, pois 2 3 = 8. A medida de desempenho adotada neste projeto foi a throughput, que como já definido no capítulo 2 deste trabalho, é a taxa a qual os pedidos podem ser atendidos pelo sistema. (JAIN, 1991, p.53). O throughput é medido, neste projeto, em pacotes por segundo (pps), ou seja, a variável de resposta que deve ser adquirida neste experimento é a quantidade média de pacotes que trafegam na rede elaborada, por segundo. Para tal, foi dividido um total de pacotes trafegados por um dado intervalo de tempo, em segundos. Para esta avaliação foram considerados três fatores e cada fator assumiu dois níveis, como exposto no Quadro 3.2.

64 62 Quadro 3.2 Fatores e níveis para avaliação Fatores Nível 1 Nível 2 Número de hosts (subscritores) 3 6 Número de requisições de dados Número de usuários Fonte: Elaborado pelo autor O quadro a seguir demonstra as combinações entre os fatores e níveis que resultaram nos oito experimentos realizados neste trabalho, conforme disposto no primeiro parágrafo deste tópico, levando em conta a descrição dos fatores e níveis evidenciados no Quadro 3.2. Quadro 3.3- Combinações entre fatores e níveis Experimentos a b c Núm. Num. Usuários Requisições Núm. Hosts Fonte: Elaborado pelo autor Figura 3.6 Ambiente fator número de hosts nível 3 Fonte: Elaborado pelo autor.

65 63 A Figura 3.6 demonstra como foi montado o ambiente de testes quando o fator número de hosts foi mantido em 3 (três). Assim, para os outros dois fatores e variações de seus devidos níveis, o ambiente é o mesmo exposto na figura. De acordo com a figura, verifica-se que os clientes são simulados através da utilização da ferramenta JMeter e que as requisições realizadas por esta ferramenta é do tipo de carga de trabalho sintética que, conforme disposto no Capítulo 2, subtópico deste trabalho, tal carga pode ser aplicada repetidamente, de maneira controlada. Esta ferramenta ficou localizada na máquina virtual JMeter, conforme pode ser verificado no Quadro 3.1. Figura 3.7 Ambiente fator número de hosts nível 6 Fonte: Elaborado pelo autor. Através destas simulações, requisições foram enviadas para o servidor do banco de dados distribuídos, sendo que quem recebeu estas solicitações foi o publicador do BDD, o qual estava sitiado na máquina virtual com o nome servidor1. O servidor1 possui toda a estrutura do banco de dados utilizado neste experimento. Lembrando que o banco de dados foi composto pelas seguintes tabelas: cliente, funcionário, ticket, carro e pagamento. A Figura 3.6 expõe que nesta parte do experimento, o ambiente foi composto pelo publicador (VM servidor1) e por três subscritores: Subscritor 01 (VM cliente-01), Subscritor 02 (VM cliente-02) e Subscritor 03 (VM cliente-03). Desta maneira, o

66 64 publicador recebeu as requisições e, por meio de linkeds servers, realizou as operações de inclusão, atualização, exclusão e consulta em determinado subscritor ao qual o linked server se referia. Com isto, fazendo uso da replicação merge, o publicador recebeu as atualizações dos subscritores e as publicou para todos os outros subscritores. A Figura 3.7 evidencia que a única alteração que ocorreu ao ambiente anterior foi em relação ao aumento do número de hosts, que nesta parte do experimento, aumentou-se de 3 (três) para 6 (seis). Assim, o BDD deste ambiente foi formado, agora, por sete hosts, sendo que um é o publicador e os outros seis, os subscritores. Os três hosts adicionados foram definidos da seguinte maneira: Subscritor 04 (VM cliente-04), Subscritor 05 (VM cliente-05) e Subscritor 06 (VM cliente-06). 3.4 RESULTADOS ESPERADOS Esperava-se que os resultados sofressem uma boa variação devido aos fatores e a alternância dos seus níveis e que não houvessem ações significantes nesses valores que fossem influenciadas pelos ambientes de teste que, neste trabalho, fizeram uso de máquinas virtuais. Inicialmente, utilizando como primeiro conjunto de configurações foi aplicada ao teste a configuração com os níveis dos fatores em seu máximo, ou seja, o número de usuários simulados será de 90, efetuando um total de requisições, com 7 (sete) hosts disponíveis no BDD. Com isto, espera-se que o número máximo de pacotes trafegados por segundo, seja obtido. Variando os níveis dos fatores, esperou-se que o número de pacotes que trafegarão pela rede sofresse uma pequena diminuição e, quando utilizada a configuração mínima, ou seja, 45 usuários simulados, com um total de 8100 requisições, tendo o banco de dados composto por 4 (quatro) hosts, supunha-se que a quantidade trafegada seria a mínima neste experimento. No capítulo a seguir são dispostos os resultados dos testes efetuados, em forma de tabelas e gráficos, e como os fatores e as interações entre eles afetaram os resultados.

67 65 4 RESULTADOS E DISCUSSÃO Para esta avaliação de desempenho foram realizadas 10 repetições para cada um dos oito experimentos. Com isto foi obtido um total de 80 testes. Para o conjunto de testes de cada experimento foi estabelecido o intervalo de confiança dos resultados obtidos. A partir destes verificou-se que as variações dos intervalos foram baixos, garantindo a integridade dos experimentos. Este capítulo expõe valores obtidos com os testes e, a partir destes, a confecção de gráficos. Destes valores e gráficos foram dispostas análises sobre os mesmos, análises estas que são o objetivo deste trabalho. 4.1 INTERVALO DE CONFIANÇA Os resultados de uma pesquisa devem ser interpretados dentro de um intervalo que estabelece limites em torno da estimativa obtida: o chamado intervalo de confiança. (IBOPE, 2013) Partindo deste conceito foram realizados cálculos para a obtenção dos intervalos de confiança (IC) para cada experimento. Tais valores são dispostos no Quadro 4.1. Quadro 4.1- Intervalos de confiança Intervalo de Confiança Experimento IC (pps) 1 489, , , , , , , ,77 Fonte: Elaborado pelo autor Comumente são utilizados intervalos com 95% de confiança. (IBOPE, 2013) Com isto, IBOPE (2013) exemplifica a utilização de intervalo de confiança da seguinte maneira: Considerando uma margem de erro de 3 pontos percentuais para o candidato A com estimativa de intenção de voto fixada em 30%, o intervalo de confiança dele, com uma confiabilidade de 95%, seria de 27% a 33%.

68 66 Assim, os intervalos de confiança obtidos neste trabalho foram alcançados com a utilização de uma fórmula específica do programa de planilha eletrônica Excel, da empresa Microsoft. A seguir a sintaxe da mesma: = INT.CONFIANÇA(alfa; desv_padrão; tamanho) onde, segundo Office (2013a), os parâmetros possuem as seguintes características: alfa: nível de significância utilizado para calcular o nível de confiança. Desta maneira, o nível de confiança é igual a 100*(1-alfa)%, ou seja, caso alfa seja 0,05, isso indica um nível de confiança de 95%, pois 100*(1-0,05)% será igual a 95% ; desv_padrão: é o desvio padrão da população para o intervalo de dados, o qual supõe-se que seja conhecido ; tamanho: é o tamanho da amostra. Vale lembrar que o desv_padrão foi obtido através de outra fórmula da planilha Excel, a qual deve ser utilizada quando os dados representarem uma amostra da população. (OFFICE, 2013b) A sintaxe da mesma é disposta a seguir: =DESVPAD(núm1,[núm2],...]) onde, segundo Office (2013b), as características dos parâmetros são as seguintes: núm1: necessário pois é o primeiro argumento numéricos correspondente a uma população ; núm2,...: opcional. São argumentos numéricos de 2 a 254 correspondentes a uma população. Para exemplificar a utilização desta fórmula, é disposta a seguir a fórmula utilizada no oitavo experimento: =DESVPAD(B13:U13), a qual demonstra que os valores utilizados nesta fórmula abrangem um intervalo que vai do primeiro ao décimo teste deste experimento, retornando o valor 5008,607232, utilizada na fórmula de IC. Então, exemplificando com valores deste trabalho, mais especificamente com valores do experimento oito, a fórmula de IC é composta da seguinte maneira: = INT.CONFIANÇA(0,05;649,841;10). Desta, o valor 0,05 indica que o nível de

69 67 confiança utilizado é de 95%, 649,841 é o desvio padrão e o valor 10 é a quantidade de teste realizados neste experimento. 4.2 QUADRO DE COMBINAÇÕES PARA FATORIAL COMPLETO 2 3 Para elaborar o Quadro 4.4 é necessário, primeiramente, entender como são obtidos os valores desta. Então, para esta compreensão, é necessário expor os fatores e seus níveis desta avaliação de desempenho. Assim, para cada fator será definido uma variável. Quadro 4.2- Atribuição de variáveis para os fatores variáveis xa xb xc Fatores Número de usuários Número de requisições de dados Número de hosts (subscritores) Nível Nível Fonte: Elaborado pelo autor Conforme o Quadro 4.2, para o número de usuários foi atribuída a variável xa, para o número de requisições, a variável xb e para o número de hosts, a variável xc. Desta maneira, para cada nível dos fatores é atribuído um valor para a variável atribuída a este fator. O Quadro 4.3 torna explicito estas atribuições. Quadro 4.3- Atribuição de valores para as variáveis variáveis xa xb xc Fatores Número de usuários Número de requisições de dados Número de hosts (subscritores) Nível 1 45 (1) 8100 (1) 3 (1) Nível 2 90 (-1) (-1) 6(-1) Fonte: Elaborado pelo autor De modo explicativo, a variável xa representa o fator número de usuários. Assim, para o fator número de usuários com nível 1, a variável xa é igual a 1, já para o fator número de usuários com nível 2, a variável xa assume o valor igual a -1. Desta maneira foi possível elaborar o Quadro 4.4, que representa os níveis, fatores e respostas de um projeto fatorial 2 3, baseando-se no Quadro 2.1, exposto neste trabalho, no capítulo 2. Então, o experimento 1 (um) é composto da seguinte maneira: xa = 1, xb = 1 e xc = 1. Desta maneira se verifica que tal experimento foi composto pelos fatores número de usuários, número de requisições de dados e

70 68 número de hosts em seu primeiro nível, ou seja, 45 usuários, 8100 requisições e 3 hosts. A variável y1 representa a resposta deste primeiro experimento. Quadro 4.4- Níveis, fatores e respostas de um projeto 2 3 Experimentos xa xb xc Núm. Num. Usuários Requisições Núm. Hosts Respostas (Y) y y y y y y y y8 Fonte: Elaborado pelo autor Por fim, partindo do Quadro 4.4 elaborou-se o Quadro 4.5, que representa as combinações dos níveis de cada fator. Isso se faz necessário para o entendimento dos fatores no ambiente de experimento. Quadro 4.5- Quadro de combinações dos níveis dos fatores Quadro de combinações Experimentos qa qb qc qab qac qbc qabc Resposta (Y) y y y y y y y y8 Fonte: Elaborado pelo autor 4.3 RESULTADOS DOS EXPERIMENTOS O Gráfico 4.1 foi construído com as médias obtidas dos valores do conjunto de testes de cada experimento. Neste também é possível visualizar os ICs de cada experimento, os quais estão localizados no topo de cada barra. Só foi possível obter os valores dos testes com o uso da ferramenta JMeter, a qual simulou os usuários

71 69 que bombardeavam com requisições de inserção, seleção, atualização e exclusão, o banco de dados distribuído deste trabalho. Gráfico 4.1- Comparativo entre os valores médios de cada experimento Fonte: Elaborado pelo autor Através do Gráfico 4.1 é possível verificar que o experimento 8 teve a maior média de tráfego de pacotes por segundo. Este experimento foi composto pelos fatores número de usuários = 90, número de requisições = e número de hosts = 6. Ao contrário, o experimento 7 teve a menor média de tráfego de pacotes por segundo. Neste experimento o número de usuários foi igual a 90, o número de requisições foi igual a e o número de hosts igual a 3. As combinações entre os fatores e níveis já foram explanadas no capítulo 3, através do Quadro 3.3. Gráfico 4.2- Comparativo levando em conta o número de usuários Fonte: Elaborado pelo autor

72 70 Conforme o Gráfico 4.1 e o que foi exposto anteriormente, se comparados os fatores do oitavo e do sétimo experimentos, percebe-se que o oitavo teve um aumento de número de hosts, mantendo o mesmo número de usuários e de requisições. O Gráfico 4.2 demonstra um comparativo dos experimentos levando em consideração o número de usuários. De acordo com Gráfico 4.2, observa-se que conforme ocorre o aumento de número de usuários, diminui-se o tráfego de pacotes pela rede. Isso é evidenciado se comparados os experimentos 1 e 5, os quais tiveram como fatores o mesmo número de requisições e hosts, ou seja, 8100 requisições e 3 hosts, respectivamente, variando-se apenas o número de usuários, os quais foram simulados 45 para o primeiro experimento e 90 para o segundo. É possível perceber que neste gráfico ocorre uma tendência na qual a medida que ocorre o aumento de número de hosts, mantendo-se o mesmo número de usuários e requisições, tem-se um aumento de tráfego de pacotes por segundo. Isso pode ser observado no nível 2 deste experimento, o qual teve como fator de usuários 90 destes. Fazendo uma comparação entre os experimentos 7 e 8, observa-se que o experimento com menor número de hosts trafegou um menor número de pacotes pela rede. O Gráfico 4.3 evidencia um comparativo que leva em conta o fator representativo número de requisições. Gráfico 4.3- Comparativo levando em conta o número de requisições Fonte: Elaborado pelo autor

73 71 Este gráfico demonstra que conforme aumenta-se o número de requisições, ocorre uma queda na quantidade de tráfego de pacotes. Isto é visto quando comparados os experimentos 1 e 3, entre os quais o experimento 1 trafega uma média de pacotes de 10728,6 por segundo, sendo que no experimento 3 é trafegado uma média de 9655,8, tendo uma diferença entre eles de 1072,8 pacotes trafegados. Nota-se que neste fator não ocorreu uma grande variação nas médias quando se leva em consideração os níveis 1 e 2, se comparados aos outros fatores, os quais obtiveram uma diferença significativa quando se variou o nível. Este fato, possivelmente, ocorreu porque as máquinas não trabalharam em seus limites e, dessa forma, aceitariam uma carga ainda maior de requisições. O Gráfico 4.4 apresenta um comparativo que teve como fator representativo o número de hosts.visualiza-se através deste gráfico que conforme aumenta-se o número de hosts (máquinas), aumenta-se o número de pacotes trafegados. Isto é visto quando são adotados os valores de dois experimentos. Desta forma, a exemplificar, compara-se os valores do experimento 5 e 6. No quinto experimento, o tráfego de pacotes foi na média de 8838,7, ou seja, houve um tráfego de 1825,6 pacotes a menos do que o sexto experimento, que trafegou na média de 10664,3 pps. Gráfico 4.4- Comparativo levando em conta o número de hosts Fonte: Elaborado pelo autor

74 72 Este tópico explanou os resultados obtidos e demonstrou graficamente comparativos entre os níveis de cada fator. A seguir, através dos resultados obtidos, será feita uma análise de quanto cada fator influenciou na variável de resposta. 4.4 INFLUÊNCIA DOS FATORES Primeiramente, para obter os valores de influência dos fatores, foram necessários realizar alguns cálculos baseando-se nas fórmulas explanadas no capítulo 2, a partir do sub-tópico Deste modo, de forma a exemplificar esses cálculos, a fórmula a seguir expõe o cálculo do valor do fator (qa), fazendo uso da ferramenta de planilhas eletrônicas Excel: =(1/8)*((M3*F3)+(M4*F4)+(M5*F5)+(M6*F6)+(M7*F7)+(M8*F8)+(M9*F9)+(M10*F10)) Para compreender esta formula é necessário fazer uso da Figura 4.1, a qual foi baseada no Quadro 4.5 Quadro de combinações dos níveis dos fatores, mas agora com os valores das variáveis de resposta y, representados pela coluna Média (pps). Figura 4.1- Combinações dos níveis dos fatores e respostas Fonte: Elaborado pelo autor Assim, diante da figura anterior, percebe-se que ocorre um cruzamento das colunas F e M, para a obtenção do fator (qa). Desta maneira, multiplica-se a primeira célula da coluna de qa pela primeira célula da coluna da Média (pps), somando com a multiplicação da segunda célula da coluna de qa pela segunda célula da coluna da Média (pps), assim por diante, seguindo a fórmula q A = ¼ ( y1 + y2 y3 +y4),

75 73 disposta no sub-tópico do capítulo 2. Percebe-se que esta fórmula refere-se a uma análise de 4 experimentos, sendo necessário realizar algumas adequações. Para este trabalho, expõe-se a fórmula da seguinte maneira: q a = 1/8 (y1 + y2 + y3 + y4 y5 y6 y7 y8) a qual, adequada a planilha eletrônica, resultou na seguinte: q a =(1/8)*((10728,6*1)+(12783,7*1)+(9655,8*1)+(12097,8*1)+(8838,7*(- 1))+(10664,3*(-1))+(8652,5*(-1))+(14115,5*(-1))) Diante do exposto na fórmula, qa obteve valor 374,34. Para calcular todos os demais fatores e combinações, tais valores foram obtidos fazendo uso da fórmula da planilha eletrônica exposta anteriormente, resultando no Quadro 4.6. Quadro 4.6- Influência dos fatores Influência dos Fatores qa 374,34 qb -188,27 qc -1473,21 qab 627,96 qac 348,93 qbc 503,02 qabc -406,31 Fonte: Elaborado pelo autor Após isto, calcula-se a porção da soma dos quadrados totais que é explicada pelo fator A, conforme a fórmula SSA = 2 2 q 2 A disposta no sub-tópico do capítulo 2. Desta forma, adequando esta fórmula para a planilha eletrônica, é obtida a seguinte fórmula: =POTÊNCIA(2;3)*POTÊNCIA(B14;2), na qual, em sua primeira parte, POTÊNCIA(2;3), conforme Jose e Silva (2012),o valor 2 se refere a dois níveis e o valor 3 se refere a três fatores, que representam o fatorial fruto deste trabalho. Na segunda parte, POTÊNCIA(B14;2), eleva-se ao quadrado o valor de (qa). Isto resulta na seguinte fórmula: SQA = POTÊNCIA(2;3)*POTÊNCIA(374,34;2) a qual resultou em ,26. Este valor é o que será utilizado na fórmula final para saber qual a influência do fator qa na variável de resposta. Esta fórmula foi adequada para a obtenção de todas as outras porções da soma dos quadrados totais, resultando no Quadro 4.7.

76 74 Quadro 4.7- Soma dos Quadrados Soma dos Quadrados SST ,22 SSA ,26 SSB ,31 SSC ,68 SSAB ,68 SSAC ,72 SSBC ,44 SSABC ,12 Fonte: Elaborado pelo autor Posteriormente foi obtido o valor da soma dos quadrados totais, a qual foi sintetizada no sub-tópico do capítulo 2, da seguinte maneira: a seguinte: SQT = SQA + SQB + SQAB Adaptando esta fórmula para a fórmula utilizada na planilha eletrônica, tem-se =POTÊNCIA(2;3)*((POTÊNCIA(B14;2))+(POTÊNCIA(B15;2))+(POTÊNCIA(B16;2))+(PO TÊNCIA(B17;2))+(POTÊNCIA(B18;2))+(POTÊNCIA(B19;2))+(POTÊNCIA(B20;2))) na qual, alterando-se os números das células pelos seus valores, tem-se: =POTÊNCIA(2;3)*((POTÊNCIA(374,34;2))+(POTÊNCIA(-188,27;2))+(POTÊNCIA(- 1473,21;2))+(POTÊNCIA(627,96;2))+(POTÊNCIA(348,93;2))+(POTÊNCIA(503,02;2) )+(POTÊNCIA(-406,31;2))) resultando em SQT = ,22. Quadro 4.8- Influência dos fatores Influência dos Fatores valor do fator valor em % 0, ,27% 0, ,08% 0, ,17% 0, ,02% 0, ,71% 0, ,71% 0, ,03% Total: 100,00% Fonte: Elaborado pelo autor Por fim calcula-se a influência do fator qa sobre a variável de resposta da seguinte maneira: qa = SQA / SQT

77 75 Assim, divide-se SQA por SQT e multiplica-se por 100 para obter o valor de porcentagem de tal fator. Para o fator A, alterando as variáveis pelos valores, é obtido o seguinte: ( ,26/ ,22) * 100 = 4,27%. Todos os valores estão dispostos no Quadro 4.8. Após todos os experimentos terem sido realizados e terem os seus fatores transpostos para as tabelas e quadros utilizados neste trabalho, foi gerado o gráfico 4.5. Com isto foi possível calcular a influência que cada fator e as combinações entre eles tiveram nos resultados. Gráfico 4.5- Influência dos fatores Fonte: Elaborado pelo autor Observa-se no Gráfico 4.5 que o fator que teve mais influência na variável de resposta foi o número de hosts (qc). Verifica-se que este fator influenciou em quase 2/3 do valor da variável de resposta, com 66,17%. Essa alta porcentagem de influência na variável de resposta faz sentido pois, em um ambiente de banco de dados distribuídos o qual foi configurado com sincronização de mesclagem, o que gera tráfego na rede deste tipo de banco são as máquinas (hosts) que o compõem. Desta forma, quanto maior o número de hosts que compõem este tipo de ambiente, maior o número de sincronizações e replicações de dados se fazem necessárias. Já o fator número de requisições (qb), quando analisado de forma isolada, foi o que menos influêncou a variável de resposta, com 1,08% do valor total. O fator número

Resumo. 1. Introdução

Resumo. 1. Introdução Resumo. Este trabalho avaliou o desempenho em um ambiente de banco de dados distribuído analisando o tráfego dos dados que tramitam na rede local que abriga os hosts. Para tanto, foram realizadas requisições

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

Bancos de Dados Distribuídos. Filipe Gomes Pinto Guilherme Marquesini Reis Ribeiro Matheus Leônidas Silva Pedro Duarte

Bancos de Dados Distribuídos. Filipe Gomes Pinto Guilherme Marquesini Reis Ribeiro Matheus Leônidas Silva Pedro Duarte Bancos de Dados Distribuídos Filipe Gomes Pinto Guilherme Marquesini Reis Ribeiro Matheus Leônidas Silva Pedro Duarte Conceitos Sistema distribuído. Banco de dados distribuído (BDD). Coleção de multiplos

Leia mais

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados SISTEMA DE BANCO DE DADOS Banco e Modelagem de dados Sumário Conceitos/Autores chave... 3 1. Introdução... 4 2. Arquiteturas de um Sistema Gerenciador... 5 3. Componentes de um Sistema... 8 4. Vantagens

Leia mais

Arquitetura de SGBD. Prof. Antonio Almeida de Barros Junior

Arquitetura de SGBD. Prof. Antonio Almeida de Barros Junior Arquitetura de SGBD Prof. Antonio Almeida de Barros Junior Agenda Caracterização de SGBDs SGBDs Centralizados SGBDs Cliente-Servidor SGBDs Distribuídos Homogêneos Multi-SGBDs Heterogêneos SGBDs Paralelos

Leia mais

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa.

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa. CLUSTERS Pode-se pegar uma certa quantidade de servidores e juntá-los para formar um cluster. O serviço então é distribuído entre esses servidores como se eles fossem uma máquina só. Um cluster de servidores

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática /

Leia mais

Uso de Virtual Lan (VLAN) para a disponibilidade em uma Rede de Campus

Uso de Virtual Lan (VLAN) para a disponibilidade em uma Rede de Campus Uso de Virtual Lan (VLAN) para a disponibilidade em uma Rede de Campus Edson Rodrigues da Silva Júnior. Curso de Redes e Segurança de Sistemas Pontifícia Universidade Católica do Paraná Curitiba, Fevereiro

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Computação Aula 01-02: Introdução 2o. Semestre / 2014 Prof. Jesus Agenda da Apresentação Definição e surgimento de Sistemas Distribuídos Principais aspectos de Sistemas Distribuídos

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Evolução na Comunicação de

Evolução na Comunicação de Evolução na Comunicação de Dados Invenção do telégrafo em 1838 Código Morse. 1º Telégrafo Código Morse Evolução na Comunicação de Dados A evolução da comunicação através de sinais elétricos deu origem

Leia mais

1 Redes de comunicação de dados

1 Redes de comunicação de dados 1 Redes de comunicação de dados Nos anos 70 e 80 ocorreu uma fusão dos campos de ciência da computação e comunicação de dados. Isto produziu vários fatos relevantes: Não há diferenças fundamentais entre

Leia mais

Capítulo VI Telecomunicações: Redes e Aplicativos

Capítulo VI Telecomunicações: Redes e Aplicativos Capítulo VI Telecomunicações: Redes e Aplicativos Uma rede nada mais é do que máquinas que se comunicam. Estas máquinas podem ser computadores, impressoras, telefones, aparelhos de fax, etc. Se interligarmos

Leia mais

Comunicação Comunicação é o ato de transmissão de informações de uma pessoa à outra. Emissor: Receptor: Meio de transmissão Sinal:

Comunicação Comunicação é o ato de transmissão de informações de uma pessoa à outra. Emissor: Receptor: Meio de transmissão Sinal: Redes - Comunicação Comunicação é o ato de transmissão de informações de uma pessoa à outra. Comunicação sempre foi, desde o início dos tempos, uma necessidade humana buscando aproximar comunidades distantes.

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

Banco de Dados Distribuídos

Banco de Dados Distribuídos A imagem não pode ser exibida. Talvez o computador não tenha memória suficiente para abrir a imagem ou talvez ela esteja corrompida. Reinicie o computador e abra o arquivo novamente. Se ainda assim aparecer

Leia mais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Exemplos de Sistemas Distribuídos Compartilhamento de Recursos e a Web Principais Desafios para a Implementação

Leia mais

Sistemas Distribuídos. Introdução

Sistemas Distribuídos. Introdução Sistemas Distribuídos Introdução Definição Processos Um sistema distribuído é um conjunto de computadores independentes, interligados por uma rede de conexão, executando um software distribuído. Executados

Leia mais

Redes. Pablo Rodriguez de Almeida Gross

Redes. Pablo Rodriguez de Almeida Gross Redes Pablo Rodriguez de Almeida Gross Conceitos A seguir serão vistos conceitos básicos relacionados a redes de computadores. O que é uma rede? Uma rede é um conjunto de computadores interligados permitindo

Leia mais

Universidade de Brasília

Universidade de Brasília Universidade de Brasília Introdução a Microinformática Turma H Redes e Internet Giordane Lima Porque ligar computadores em Rede? Compartilhamento de arquivos; Compartilhamento de periféricos; Mensagens

Leia mais

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta Protocolo O que é um protocolo? Humano: que horas são? eu tenho uma pergunta Máquina: Definem os formatos, a ordem das mensagens enviadas e recebidas pelas entidades de rede e as ações a serem tomadas

Leia mais

09/06/2011. Profª: Luciana Balieiro Cosme

09/06/2011. Profª: Luciana Balieiro Cosme Profª: Luciana Balieiro Cosme Revisão dos conceitos gerais Classificação de redes de computadores Visão geral sobre topologias Topologias Barramento Anel Estrela Hibridas Árvore Introdução aos protocolos

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 5 Servidores de Aplicação

Leia mais

Cisco Intelligent Automation for Cloud

Cisco Intelligent Automation for Cloud Dados técnicos do produto Cisco Intelligent Automation for Cloud Os primeiros a adotarem serviços com base em nuvem buscavam uma economia de custo maior que a virtualização e abstração de servidores podiam

Leia mais

Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Exemplos de SD Quais podem ser? Ex. de SD: Internet Internet é um conjunto de redes de computadores, de muitos tipos diferentes,

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

Redes de Dados e Comunicações. Prof.: Fernando Ascani

Redes de Dados e Comunicações. Prof.: Fernando Ascani Redes de Dados e Comunicações Prof.: Fernando Ascani Camada de Aplicação A camada de Aplicação é a que fornece os serviços Reais para os usuários: E-mail, Acesso a Internet, troca de arquivos, etc. Portas

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

Sistemas distribuídos:comunicação

Sistemas distribuídos:comunicação M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.

Leia mais

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013 MC714 Sistemas Distribuídos 2 semestre, 2013 Tipos de comunicação Middleware: serviço intermediário na comunicação de nível de aplicação. Fig. 67 Ex.: correio eletrônico Comunicação é persistente. Middleware

Leia mais

Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes

Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes Arquiteturas e Modelos de sistemas Arquitetura Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes Localização dos componentes e relação entre eles Objetivo: garantir que

Leia mais

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES Sistema de Informação e Tecnologia FEQ 0411 Prof Luciel Henrique de Oliveira luciel@uol.com.br Capítulo 5 INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES PRADO, Edmir P.V.; SOUZA, Cesar A. de. (org). Fundamentos

Leia mais

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla Unidade III FUNDAMENTOS DE SISTEMAS OPERACIONAIS Prof. Victor Halla Conteúdo Arquitetura de Processadores: Modo Operacional; Velocidade; Cache; Barramento; Etc. Virtualização: Maquinas virtuais; Gerenciamento

Leia mais

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Distribuídos Introdução Edeyson Andrade Gomes www.edeyson.com.br SUMÁRIO Definições Características Desafios Vantagens Desvantagens 2 Definições DEFINIÇÕES Um sistema distribuído é uma coleção

Leia mais

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores Máquinas Virtuais e Emuladores Marcos Aurelio Pchek Laureano Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware sistema operacional aplicações Sistemas

Leia mais

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede Interconexão de redes locais Existência de diferentes padrões de rede necessidade de conectá-los Interconexão pode ocorrer em diferentes âmbitos LAN-LAN LAN: gerente de um determinado setor de uma empresa

Leia mais

Documento de Requisitos de Rede (DRP)

Documento de Requisitos de Rede (DRP) Documento de Requisitos de Rede (DRP) Versão 1.2 SysTrack - Grupo 1 1 Histórico de revisões do modelo Versão Data Autor Descrição 1.0 30/04/2011 João Ricardo Versão inicial 1.1 1/05/2011 André Ricardo

Leia mais

Revista Eletrônica da FANESE ISSN 2317-3769

Revista Eletrônica da FANESE ISSN 2317-3769 REPLICAÇÃO E ALTA DISPONIBILIDADE NO SQL SERVER 2012 Renata Azevedo Santos Carvalho 1 RESUMO Neste artigo serão relatadas as novidades que o SQL Server 2012 vem trazendo nesta sua nova versão no que se

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores... 1 Mobilidade... 1 Hardware de Rede... 2 Redes Locais - LANs... 2 Redes metropolitanas - MANs... 3 Redes Geograficamente Distribuídas - WANs... 3 Inter-redes... 5 Software de Rede...

Leia mais

TECNOLOGIA WEB INTERNET PROTOCOLOS

TECNOLOGIA WEB INTERNET PROTOCOLOS INTERNET PROTOCOLOS 1 INTERNET Rede mundial de computadores. Também conhecida por Nuvem ou Teia. Uma rede que permite a comunicação de redes distintas entre os computadores conectados. Rede WAN Sistema

Leia mais

Veritas Storage Foundation da Symantec

Veritas Storage Foundation da Symantec Veritas Storage Foundation da Symantec Gerenciamento de armazenamento heterogêneo on-line O Veritas Storage Foundation oferece uma solução completa para o gerenciamento de armazenamento heterogêneo on-line.

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Unidade I SISTEMAS PARA INTERNET E. Prof. Emanuel Matos

Unidade I SISTEMAS PARA INTERNET E. Prof. Emanuel Matos Unidade I SISTEMAS PARA INTERNET E SOFTWARE LIVRE Prof. Emanuel Matos Sumário Unidade I Principais tecnologias da rede digital Computação cliente/servidor Comutação de pacotes TCP/IP Sistemas de informação

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

FTIN Formação Técnica em Informática Módulo de Gestão Aplicada a TIC AULA 06. Prof. Fábio Diniz

FTIN Formação Técnica em Informática Módulo de Gestão Aplicada a TIC AULA 06. Prof. Fábio Diniz FTIN Formação Técnica em Informática Módulo de Gestão Aplicada a TIC AULA 06 Prof. Fábio Diniz Na aula anterior ERP Enterprise Resource Planning Objetivos e Benefícios ERP Histórico e Integração dos Sistemas

Leia mais

Modelo de Camadas OSI

Modelo de Camadas OSI Modelo de Camadas OSI 1 Histórico Antes da década de 80 -> Surgimento das primeiras rede de dados e problemas de incompatibilidade de comunicação. Década de 80, ISO, juntamente com representantes de diversos

Leia mais

Especificação Técnica

Especificação Técnica Pág. 1/8 CONTRATAÇÃO DE SOLUÇÃO SMS Pág. 2/8 Equipe Responsável Elaboração Assinatura Data Divisão de Padrões de Tecnologia DIPT Aprovação Assinatura Data Departamento de Arquitetura Técnica DEAT Pág.

Leia mais

Curso: Sistemas de Informação Disciplina: Redes de Computadores Prof. Sergio Estrela Martins

Curso: Sistemas de Informação Disciplina: Redes de Computadores Prof. Sergio Estrela Martins Curso: Sistemas de Informação Disciplina: Redes de Computadores Prof. Sergio Estrela Martins Material de apoio 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura

Leia mais

Controlar Aplicações e Serviços com Monitoramento de Rede

Controlar Aplicações e Serviços com Monitoramento de Rede Controlar Aplicações e Serviços com Monitoramento de Rede White Paper Autor: Daniel Zobel, Chefe de Desenvolvimento de Software Paessler AG Publicado em: março/2014 PÁGINA 1 DE 8 Índice Introdução: Evite

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

Capítulo 8 - Aplicações em Redes

Capítulo 8 - Aplicações em Redes Capítulo 8 - Aplicações em Redes Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 31 Roteiro Sistemas Operacionais em Rede Modelo Cliente-Servidor Modelo P2P (Peer-To-Peer) Aplicações e Protocolos

Leia mais

Licenciamento de estações de trabalho Windows para Ambientes VDI

Licenciamento de estações de trabalho Windows para Ambientes VDI Microsoft VDI e Windows VDA Perguntas Frequentes Licenciamento de estações de trabalho Windows para Ambientes VDI Como a Microsoft licencia o Windows das estações de trabalho em ambientes virtuais? A Microsoft

Leia mais

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados

Leia mais

Professor(es): Fernando Pirkel. Descrição da(s) atividade(s):

Professor(es): Fernando Pirkel. Descrição da(s) atividade(s): Professor(es): Fernando Pirkel Descrição da(s) atividade(s): Definir as tecnologias de redes necessárias e adequadas para conexão e compartilhamento dos dados que fazem parte da automatização dos procedimentos

Leia mais

Rede de Computadores II

Rede de Computadores II Slide 1 Técnicas para se alcançar boa qualidade de serviço Reserva de recursos A capacidade de regular a forma do tráfego oferecido é um bom início para garantir a qualidade de serviço. Mas Dispersar os

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Nesse capítulo, apresentamos os trabalhos relacionados ao GridFS, entrando em mais detalhes sobre os sistemas citados durante a introdução e realizando algumas considerações sobre

Leia mais

Banco de Dados Distribuídos

Banco de Dados Distribuídos Banco de Dados Distribuídos Emmanuel Filho¹, Maria Cristina C. Rodrigues¹ Nayguron Henrique de S. Barreto¹, Wilton de Serpa Monteiro¹ ¹ Tecnologia em Análise e Desenvolvimento de Sistemas do Instituto

Leia mais

Componentes dos sistemas computadorizados Aula 04 FTC FACULDADE DE TECNOLOGIA E CIÊNCIAS ADMINISTRAÇÃO IV SEMESTRE

Componentes dos sistemas computadorizados Aula 04 FTC FACULDADE DE TECNOLOGIA E CIÊNCIAS ADMINISTRAÇÃO IV SEMESTRE Componentes dos sistemas computadorizados Aula 04 FTC FACULDADE DE TECNOLOGIA E CIÊNCIAS ADMINISTRAÇÃO IV SEMESTRE Componentes da infraestrutura Hardware Software Tecnologia de gerenciamento de dados Tecnologia

Leia mais

Thin Clients : aumentando o potencial dos sistemas SCADA

Thin Clients : aumentando o potencial dos sistemas SCADA Artigos Técnicos Thin Clients : aumentando o potencial dos sistemas SCADA Tarcísio Romero de Oliveira, Engenheiro de Vendas e Aplicações da Intellution/Aquarius Automação Industrial Ltda. Um diagnóstico

Leia mais

Claudivan C. Lopes claudivan@ifpb.edu.br

Claudivan C. Lopes claudivan@ifpb.edu.br Claudivan C. Lopes claudivan@ifpb.edu.br Por que redes de computadores? Tipos de redes Componentes de uma rede IFPB/Patos - Prof. Claudivan 2 Quando o assunto é informática, é impossível não pensar em

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Evolução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Componentes de um sistema computacional Conceituação Características desejáveis Organização

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

Protocolos de gerenciamento

Protocolos de gerenciamento Protocolos de gerenciamento Os protocolos de gerenciamento têm a função de garantir a comunicação entre os recursos de redes homogêneas ou não. Com esse requisito satisfeito, operações de gerenciamento

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

Leia mais

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware. Camadas de Software - o Middleware Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Requerimentos para Arquitecturas Distribuídas

Leia mais

Alternativas de aplicação do serviço GPRS da rede celular GSM em telemetria pela Internet

Alternativas de aplicação do serviço GPRS da rede celular GSM em telemetria pela Internet Alternativas de aplicação do serviço GPRS da rede celular GSM em telemetria pela Internet Marcos R. Dillenburg Gerente de P&D da Novus Produtos Eletrônicos Ltda. (dillen@novus.com.br) As aplicações de

Leia mais

Arquiteturas de Aplicações Distribuídas

Arquiteturas de Aplicações Distribuídas Arquiteturas de Aplicações Distribuídas Fernando Albuquerque 061-2733589 fernando@cic.unb.br www.cic.unb.br/docentes/fernando Tópicos Introdução. HTTP / CGI. API sockets. JDBC. Remote Method Invocation.

Leia mais

CA ARCserve Backup. Visão geral

CA ARCserve Backup. Visão geral INFORME DE PRODUTO: CA ARCSERVE BACKUP R12.5 CA ARCserve Backup CA ARCSERVE BACKUP, O PRODUTO DE ALTA PERFORMANCE, LÍDER DA INDÚSTRIA DE PROTEÇÃO DE DADOS, COMBINA TECNOLOGIA INOVADORA DE ELIMINAÇÃO DE

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula Complementar - MODELO DE REFERÊNCIA OSI Este modelo se baseia em uma proposta desenvolvida pela ISO (International Standards Organization) como um primeiro passo em direção a padronização dos protocolos

Leia mais

FACSENAC. Versão:1.5. Identificador do documento: Projeto Lógico de Redes. Versão do Template Utilizada na Confecção: 1.0. Histórico de revisões

FACSENAC. Versão:1.5. Identificador do documento: Projeto Lógico de Redes. Versão do Template Utilizada na Confecção: 1.0. Histórico de revisões FACSENAC ECOFROTA Documento de Projeto Lógico de Rede Versão:1.5 Data: 21/11/2013 Identificador do documento: Projeto Lógico de Redes Versão do Template Utilizada na Confecção: 1.0 Localização: FacSenac

Leia mais

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s: Tecnologia em Redes de Computadores Redes de Computadores Professor: André Sobral e-mail: alsobral@gmail.com Conceitos Básicos Modelos de Redes: O O conceito de camada é utilizado para descrever como ocorre

Leia mais

Profs. Deja e Andrei

Profs. Deja e Andrei Disciplina Sistemas Distribuídos e de Tempo Real Profs. Deja e Andrei Sistemas Distribuídos 1 Conceitos e Projetos de Sistemas Distribuídos Objetivos: Apresentar uma visão geral de processamento distribuído,

Leia mais

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva The Eucalyptus Open- source Cloud-computing System Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva Sumário Introdução Trabalhos Correlatos Eucalyptus Design Conclusões Visão Geral Introdução:

Leia mais

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil Projeto 914 BRA5065 - PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 02 IMPLANTAÇÃO DE 1 (UM)

Leia mais

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente

Leia mais

Márcio Leandro Moraes Rodrigues. Frame Relay

Márcio Leandro Moraes Rodrigues. Frame Relay Márcio Leandro Moraes Rodrigues Frame Relay Introdução O frame relay é uma tecnologia de chaveamento baseada em pacotes que foi desenvolvida visando exclusivamente a velocidade. Embora não confiável, principalmente

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com O que veremos hoje... Evolução Histórica Motivação Conceitos Características

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel

Leia mais

Monitoramento de Rede de Nuvens Privadas

Monitoramento de Rede de Nuvens Privadas Monitoramento de Rede de Nuvens Privadas White Paper Autores: Dirk Paessler, CEO da Paessler AG Dorte Winkler, Redatora Técnica na Paessler AG Primeira Publicação: Maio de 2011 Edição: Fevereiro de 2013

Leia mais

Interligação de Redes

Interligação de Redes REDES II HETEROGENEO E CONVERGENTE Interligação de Redes rffelix70@yahoo.com.br Conceito Redes de ComputadoresII Interligação de Redes Quando estações de origem e destino encontram-se em redes diferentes,

Leia mais

SGBDs Móveis. Sumário 12/06/11. Emmanuel Férrer & Gabriela Fernanda. Introdução. Desafios do armazenamento. SQL Anywhere Studio.

SGBDs Móveis. Sumário 12/06/11. Emmanuel Férrer & Gabriela Fernanda. Introdução. Desafios do armazenamento. SQL Anywhere Studio. SGBDs Móveis Emmanuel Férrer & Gabriela Fernanda Introdução Sumário Desafios do armazenamento SQL Anywhere Studio DB2 Everyplace Microsoft SQL Server Oracle9I Lite Aplicações Móveis Referências 1 Introdução

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Capítulo 1 Introdução Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A apresentação utiliza algumas das figuras do livro

Leia mais

Tecnologia e Infraestrutura. Conceitos de Redes

Tecnologia e Infraestrutura. Conceitos de Redes Tecnologia e Infraestrutura Conceitos de Redes Agenda Introdução às Tecnologias de Redes: a) Conceitos de redes (LAN, MAN e WAN); b) Dispositivos (Hub, Switch e Roteador). Conceitos e tipos de Mídias de

Leia mais

Universidade Federal do Acre. Centro de Ciências Exatas e Tecnológicas

Universidade Federal do Acre. Centro de Ciências Exatas e Tecnológicas Universidade Federal do Acre Centro de Ciências Exatas e Tecnológicas Universidade Federal do Acre Centro de Ciências Exatas e Tecnológicas Pós-graduação Lato Sensu em Desenvolvimento de Software e Infraestrutura

Leia mais

RCO2. LANs, MANs e WANs Visão geral

RCO2. LANs, MANs e WANs Visão geral RCO2 LANs, MANs e WANs Visão geral 1 LAN, MAN e WAN Classificação quanto a alcance, aplicação e tecnologias Distâncias: WAN: : distâncias arbitrariamente longas MAN: : distâncias médias (urbanas) LAN:

Leia mais

Termo de Referência. Anexo II - Especificações Técnicas - Requisitos Funcionais. Diretoria Técnica-Operacional. Gerência de Tecnologia da Informação

Termo de Referência. Anexo II - Especificações Técnicas - Requisitos Funcionais. Diretoria Técnica-Operacional. Gerência de Tecnologia da Informação Diretoria Técnica-Operacional Gerência de Tecnologia da Informação Termo de Referência Anexo II Especificação Técnica 1 - INTRODUÇÃO Página 2 de 9 do TR-007-3700 de Este anexo tem por objetivo detalhar

Leia mais

UTFPR - Sistemas Distribuídos Prof. Cesar Augusto Tacla. Anotações. Copyright Cesar Augusto Tacla 2008 - 1 -

UTFPR - Sistemas Distribuídos Prof. Cesar Augusto Tacla. Anotações. Copyright Cesar Augusto Tacla 2008 - 1 - - 1 - - 2 - - 3 - Segundo (Garg, 2004), são sistemas compostos por múltiplos processadores conectados por uma rede de comunicação, sendo a rede de comunicação uma LAN (Ethernet) ou WAN (Internet). - 4

Leia mais