DISPONIBILIZAÇÃO DE CONTEÚDOS BINÁRIOS VERSIONADOS NA WEB: UMA ANÁLISE DE DESEMPENHO DOS SISTEMAS POSTGRESQL, MYSQL E SVN VISANDO ARQUITETURAS COM SOLUÇÕES PARA ACESSO E ARMAZENAMENTO EFICIENTES. Corneli Júnior, Danielo Gomes, José Soares e Giovanni Barroso Programa de Pós-Graduação em Eng. de Teleinformática Universidade Federal do Ceará - UFC
TÓPICOS Objetivos Gerais e Específicos Justificativas e Motivação Trabalhos Relacionados Principais Contribuições Metodologia Ambiente de testes Resultados Obtidos Conclusões 2
OBJETIVOS GERAIS Avaliar os aspectos positivos e negativos de técnicas distintas para versionamento de conteúdos binários (CB) na Web; Expor uma análise comparativa de desempenho entre o SVN, MySQL e PostgreSQL; OBJETIVOS ESPECÍFICOS Apresentar métricas de desempenho; Apresentar cenários de testes; Descrever testes realizados; Coletar e Exibir resultados; Comparar os resultados obtidos;
JUSTIFICATIVAS E MOTIVAÇÃO (I) InterRed: Repositório que visa o incentivo ao compartilhamento e reuso de conteúdos didáticos digitais (CDDs) gerados por professores dos Institutos Federais de Educação Ciência e Tecnologia (IF); Requisito fundamental: Os CDDs (conteúdos binários) postados, quando modificados, devem dar origem a novas versões do mesmo conteúdo e que estes sejam retornados ao repositório; Guardar os créditos de autoria; 4
JUSTIFICATIVAS E MOTIVAÇÃO (II) Uma arquitetura de armazenamento versionado de conteúdos foi elaborada para o InterRed; Substituição do Sistema Gerenciador de Banco de Dados (SGBD) pelo SVN: Otimização do espaço; Deltas; Solução Ineficiente: Tempo de utilização de CPU; Consumo de memória; Tempo de resposta (upload e download); 5
TRABALHOS RELACIONADOS Algumas equipes do Fábrica Virtual utilizam um arquivo externo ao objeto para representar sua arquitetura de informação, que é constituída de metadados. Muzio (Muzio et al. 2002) descreve suas experiências práticas na criação, armazenamento, uso e reuso de conteúdos didáticos no CEDAR². ²Centre for Economic Development and Applied Research. 6
TRABALHOS RELACIONADOS O LOM (Learning Object Metadata) é um padrão genéricos de metadados, possibilitando que objetos educacionais desenvolvidos, organizados e armazenados nesse padrão possam ser recuperados (SCHEER; GAMA, 2004). LOM é utilizado em padrões mais modernos e abrangentes, como SCORM (BOHL et al., 2002), além de recomendado pelo RIVED. 7
TRABALHOS RELACIONADOS Alguns benchmarks foram construídos para comparar o desempenho de SGBDs de código aberto: TPCC-UVA (HERNÁNDEZ; GONZALO, 2002) e OSDB (OSDB, 2000). Entretanto, nenhum destes é aplicado à análise de desempenho do SVN. Mabanza et al. (2006) Comparação do desempenho de 4 BD de código fonte aberto: Berkeley BD XML, Xindice, exist e dbxml Submissão às operações de inserção, exclusão, busca e alteração de conteúdos Fator de desempenho analisado: somente o tempo de execução das tarefas. 8
TRABALHOS RELACIONADOS Wang et al. (2008) Descreve e faz uso de uma ferramenta para avaliar o desempenho e a escalabilidade de um sistema de armazenamento de conteúdos baseados em LDAP; Métricas: Tempo de Inserção e Resgate, Consumo de memória e Taxa de utilização de CPU; 9
PRINCIPAIS CONTRIBUIÇÕES (I) Nos trabalhos relacionados reuso é mais fortemente centrado na representação do conteúdo digital do que em aspectos relacionados à sua composição em termos de estrutura de dados. Deste trabalho o tratamento dado ao conteúdo binário (e.g. vídeos, slides,.mp3,.doc) para evitar redundância no armazenado de novas versões, busca de soluções que não comprometam o desempenho de acesso aos conteúdos disponibilizados. 10
PRINCIPAIS CONTRIBUIÇÕES (II) Reaproveitamento de conteúdos sem passar por um processo de desenvolvimento integral; Versionamento configura-se como uma técnica adequada ao desenvolvimento de revisões diversas de um conteúdo didático. 11
METODOLOGIA: REPOSITÓRIOS ANALISADOS SVN FSFS-backed BDB-backed MySQL PostgreSQL; 12
METODOLOGIA Cada um dos repositórios foi submetido às operações de inserção (upload) e resgate (download) de CDDs. Metodologia 1: Tamanho Inicial: 10 MB Tamanho Final: 200 MB Variação: 10 MB Metodologia 2: N inicial de threads: 15 N Final de threads: 300 Variação: 15 threads 50% das threads: 1 MB 30% das threads: 1,5 MB 20% das threads: 5 MB 13
METODOLOGIA Métricas utilizadas tempo de inserção e de resgate de conteúdos, consumo de memória, tempo de utilização de CPU e total de espaço em disco utilizado Coletadas durante o período de execução de uma ou grupo de tarefas; 14
AMBIENTE DE TESTES 15
RESULTADOS OBTIDOS 16
RESULTADOS OBTIDOS 17
RESULTADOS OBTIDOS 18
RESULTADOS OBTIDOS 19
RESULTADOS OBTIDOS 20
RESULTADOS OBTIDOS 21
CONCLUSÕES Foi apresentado um estudo sobre o desempenho de repositórios com vistas ao versionamento de arquivos binários; Foram analisados os sistemas SVN BDB-backed, SVN FSFS-backed, MySQL e PostgreSQL com o uso de ferramentas de testes desenvolvidas especificamente para reproduzir as funções de inserção e resgate de conteúdos binários via HTTP. 22
CONCLUSÕES Inserção / Resgate de Conteúdos MySQL 1 PostgreSQL 2 SVN FSFS-backed 3 SVN BDB-backed 4 Consumo de Memória e CPU MySQL 1 PostgreSQL 2 SVN FSFS-backed 3 SVN BDB-backed 4 Legenda: 1 Maior Desempenho 4 Menor Desempenho
CONCLUSÕES Espaço ocupado em disco MySQL 3 PostgreSQL 4 SVN FSFS-backed 1 SVN BDB-backed 2 Legenda: 1 Maior Desempenho 4 Menor Desempenho Resgate de Conteúdos em ambientes concorrentes 15 < usuários < 165 165 < usuários MySQL 1 2 PostgreSQL 2 1 Legenda: 1 Maior Desempenho 2 Menor Desempenho
CONCLUSÕES A análise sugere ser mais eficiente, do ponto de vista do espaço físico para armazenamento, o uso de ferramentas especificamente concebidas para realizar a deltificação. Os resultados apontam para a concepção de um ambiente de armazenamento híbrido, cujas últimas versões sejam mantidas em SGBD e as mais antigas no sistema SVN.