(Microsoft PowerPoint - A Arte de Escrever Artigos Cient\355ficos
Transcription
(Microsoft PowerPoint - A Arte de Escrever Artigos Cient\355ficos
Escrever Artigos como Arte A Arte de Escrever Artigos Científicos MIRELLA M. MORO Dept. Ciência Computação, UFMG mirella@dcc.ufmg.br Junho, 2009 + + + + + + ARTIGO 2 Essa Apresentação Essa Apresentação • Dicas básicas para escrever artigos • Não aborda todas (toooodas) opções • “Receita de bolo básico”: planejamento, estrutura, conteúdo, estilo Está online em www.dcc.ufmg.br/~mirella 3 4 Roteiro • • • • • • Planejamento Componentes Corpo do Artigo Dicas de Estilo Revisão Final Conclusões Planejamento Orientador Antes de Escrever 5 Planejamento Planejamento Orientador (a) Antes de Escrever • Qual o tema? • Qual a finalidade da publicação? – Conferência, periódico, demo, seminário de andamento, trabalho de disciplina • Com o seu orientador(a) • Qual o público alvo? – Comunidade da Computação, de uma área específica, estudantes, banca de pós-graduação, turma de pós – Quem sou eu? – Onde estou? – Para onde vou? • O que precisa escrever? – Qual o foco? O que revisar? O que detalhar? • Esqueleto – ver Componentes 7 8 Componentes Estrutura • • • • • • • Componentes Estrutura Fluxo Título, Resumo, … Título Autor (es) Resumo Introdução Corpo Conclusão Referências 10 Componentes 1. TÍTULO Fluxo • Referência principal ao trabalho • Chave para ser referenciado • Reflete o conteúdo do trabalho • Claro, curto, correto Título: keyword1 keyword2 Contexto Trabalhos Relacionados Resumo:line1 line2 line3 Intro: par1 par2 par3 par4 Contribuição 1 – Nome, não uma frase, original – Primeira coisa a se escrever?? Contribuição 2 Experimentos Conclusão:par1 par2 par3 11 12 Título: exemplos BRASILEIROS • Análise de Dados de expressão gênica: normalização de microarrays e modelagem de redes regulatórias André Fujita @ CTD 2008 – 1º lugar • Enhancing Spatial Association Rule Mining in Geographic Databases V. BOGORNY @ CTD 2007 – 1º lugar • Low Cost BIST Techniques for Linear and NonLinear Analog Circuits M. NEGREIROS @ DATE 2006 – Título: exemplos Clássicos • The Entity-Relationship Model: Toward a Unified View of Data PETER CHEN @ VLDB 1975 • Concurrency and Recovery in Data Base Systems C. MOHAN @ IEEE Db. Eng. Bulletin 1985 • Evaluating Software Complexity Measures E.J. WEYUKER @ TSE 88 dissertation award • Marching cubes: A high resolution 3D surface construction algorithm W.E. LORENSEN @ SIGGRAPH 1987 • BIRCH: An Efficient Data Clustering Method for Very Large Databases T. ZHANG et al @ SIGMOD 2006 • Developing Multimedia Applications with the WinWin Spiral Model B. W. BOEHM et al @ ESEC/FSE 1997 • Updating relations through XML Views V.P.BRAGANHOLO @ CTD 2005 – 1º lugar • Taming Heterogeneous Aspects with Crosscutting Interfaces C. CHAVEZ @ SBES 2005 – best paper award • Operadores de Seleção por Similaridade para Sistemas de Gerenciamento de Bases de Dados Relacionais A.S. ARANTES @ SBBD 2003 – best paper award 13 Título: exemplos 14 Título: exemplos Best paper awards • The Effectiveness of Automatically Structured Queries in Digital Libraries M.A. GONÇALVES @ JCDL 2004 CITESEER MOST CITED 2006 • Investigating The Integration of Gridcomputing and Metamodeling • Practical Group Signatures without Random Oracles • YA-TRAP: Yet Another Trivial RFID Authentication Protocol CITESEER MOST CITED 2005 • Universally Composable Security: A New Paradigm for Cryptographic Protocols • Energy-Efficient Target Coverage in Wireless Sensor Networks • Session-Key Generation Using Human Passwords Only CITESEER MOST CITED 2004 • Building a Large Annotated Corpus of English: The Penn Treebank • Rapid Object Detection Using a Boosted Cascade of Simple Features • Trace-Driven Memory Simulation: A Survey [student paper] • Cloud Control with Distributed Rate Limiting B. RAGHAVAN et al @ SIGCOMM 2007 [student paper] • Relaxed Online Support Vector Machines for Spam Filtering D. SCULLEY et al @ SIGIR 2007 [student paper] • Joint Design-Time and Post-Silicon Minimization of Parametric Yield Loss using Adjustable Robust Optimization M. MANI et al @ ICCAD 2006 • Modeling the relative fitness of storage M. MESNIER @ SIGMETRICS 2007 15 2. AUTOR (es) 3. RESUMO • Nome completo + filiação + email • Ordem dos autores?? • Um parágrafo 150-250 palavras –Propaganda ou trailer do artigo –Atrai (ou não!) a atenção e o interesse do leitor – Não há regra padrão aceita globalmente • André Silva, Bento Muniz, Carlos Costa • Carlos Costa, Bento Muniz, André Silva • Bento Muniz, Carlos Costa, André Silva Aluno “dono” tese Bolsista 16 Orientador 17 18 Resumo Resumo • Sempre menciona informações ou conclusões que estão no texto • Sem referências bibliográficas (exceto em • Sugestão 1 (uma ou duas linhas para cada item) – Escopo do trabalho – Principais objetivos – Principal resultado ou conclusão ocasiões raras, como modificações a um método publicado previamente) • Último a ser escrito (idéia melhor do trabalho) 19 20 Resumo: exemplo Escopo Objetivos Resultado Resumo Structural summaries are data structures that preserve all structural features of XML documents in a compact form. We investigate the applicability of the most popular summaries as access methods within XML query processing. In this context, issues like space and false positives introduced by the summaries need to be examined. Our evaluation reveals that the additional space required by the more precise structures is usually small and justified by the considerable performance gains that they achieve. • Sugestão 2 (uma a três linhas para cada item) – Contexto geral e específico – Questão/problema sendo investigado • Propósito do trabalho – Estado-da-arte • Por que precisa de uma solução nova/melhor – Solução • Nome da proposta • Metodologia básica sem detalhes • Quais características respondem as questões iniciais – Interpretação dos resultados, conclusões MORO et al – WWW 2006 21 22 Resumo: exemplo Resumo: exemplo Contexto Geral A Web é abundante em páginas que armazenam dados de forma implícita. Contexto Geral Problema Em muitos casos, estes dados estão presentes em textos semiestruturados sem a presença de delimitadores explícitos e organizados em uma estrutura também implícita. Contexto Específico Solução Neste artigo apresentamos uma nova abordagem para extração em textos semi-estruturados baseada em Modelos de Markov Ocultos (Hidden Markov Models - HMM). Problema Estado-da-Arte Ao contrário de outros trabalhos baseados em HMM, nossa e Método abordagem dá ênfase à extração de metadados além dos proposto dados propriamente ditos. Esta abordagem consiste no uso de Estado-da-arte uma estrutura aninhada de HMMs, onde um HMM principal identifica os atributos no texto e HMMs internos, um para cada atributo, identificam os dados e metadados. Os HMMs são gerados a partir de um treinamento com uma fração de amostras da base a ser extraída. Solução Método proposto Resultados Nossos experimentos com anúncios de classificados retirados da Web mostram que o processo de extração alcançáveis de qualidade acima de 0,97 com a medida F, mesmo se esta SANTOS et al @ SBBD 2006 fração de treinamento é pequena. Resultados 23 Publish-subscribe applications are an important class of contentbased dissemination systems where the message transmission is defined by the message content, rather than its destination IP address. With the increasing use of XML as the standard format on many Internet-based applications, XML aware pub-sub applications become necessary. In such systems, the messages (generated by publishers) are encoded as XML documents, and the profiles (defined by subscribers) as XML query statements. As the number of documents and query requests grow, the performance and scalability of the matching phase (i.e. matching of queries to incoming documents) become vital. Current solutions have limited or no flexibility to prune out queries in advance. In this paper, we overcome such limitation by proposing a novel early pruning approach called Bounding-based XML Filtering or BoXFilter. The BoXFilter is based on a new tree-like indexing structure that organizes the queries based on their similarity and provides lower and upper bound estimations needed to prune queries not related to the incoming documents. Our experimental evaluation shows that the early profile pruning approach offers drastic performance improvements over the current state-of-the-art in XML filtering. MORO et al @ VLDB 2007 24 Resumo: exemplo Resumo: exemplo Contexto e Finding useful patterns in large datasets has attracted considerable interest Problema recently, and one of the most widely studied problems in this area is the identification of clusters, or densely populated regions, in a multi-dimensional dataset. Estado-da-arte Prior work does not adequately address the problem of large datasets and minimization of I/O costs. Solução This paper presents a data clustering method named BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies), and demonstrates that it is especially suitable for very large databases. Método proposto BIRCH incrementally and dynamically clusters incoming multi-dimensional metric data points to try to produce the best quality clustering with the available resources (i.e., available memory and time constraints). Vantagens BIRCH can typically find a good clustering with a single scan of the data, and improve the quality further with a few additional scans. BIRCH is also the first clustering algorithm proposed in the database area to handle “noise” (data points that are not part of the underlying pattern) effectively. Resultados We evaluate BIRCH’s time/space efficiency, data input order sensitivity, and clustering quality through several experiments. We also present a performance comparisons of BIRCH versus CLARANS, a clustering method proposed recently for laerge datasets, and show that BIRCH is consistently superior. ZHANG et al – SIGMOD 1996 Contexto Geral Today’s cloud-based services integrate globally distributed resources into seamless computing platforms. Problema Provisioning and accounting for the resource usage of these Internet-scale applications presents a challenging technical problem. Solução This paper presents the design and implementation of distributed rate limiters, which work together to enforce a global rate limit across traffic aggregates at multiple sites, enabling the coordinated policing of a cloudbased service’s network traffic. Método proposto Our abstraction not only enforces a global limit, but also ensures that congestion-responsive transport-layer flows behave as if they traversed a single, shared limiter. We present two designs—one general purpose, and one optimized for TCP—that allow service operators to explicitly trade off between communication costs and system accuracy, efficiency, and scalability. Resultados Both designs are capable of rate limiting thousands of flows with negligible overhead (less than 3% in the tested configuration). We demonstrate that our TCP-centric design is scalable to hundreds of nodes while robust to both loss and communication delay, making it practical for deployment in nationwide service providers. RAGHAVAN et al – SIGCOMM 2007 25 4. INTRODUÇÃO ARTIGO ∩ 26 Introdução =∅ Um artigo científico não é um livro de suspense no qual o leitor só descobre o que está realmente acontecendo no capítulo final • Uma introdução bem escrita é fundamental!! • O leitor deve estar ciente do que acontece desde o início, desde a introdução APESAR de serem ambos bem escritos 27 Introdução 28 Introdução • A introdução é uma reafirmação extentida do conteúdo do Resumo • Em algum lugar (na introdução), adicionar exemplos (1 ou mais): – Como o seu trabalho pode ser empregado – Onde o seu trabalho pode ser empregado, quais os contextos, quais aplicações podem tirar vantagem – Quais problemas práticos o seu trabalho resolve ERRO MAIS COMUM Não colocar as contribuições Deixar tudo “implícito” Achar que é óbvio 29 30 Introdução Introdução • Sugestão 1 (um ou dois parágrafos por item) • Sugestão 2 (um ou dois parágrafos por item) – Identifica a área de interesse (palavras do título) – Contexto: revisão básica do estado-da-arte – Propósito: e/ou hipótese sendo investigada – – – – – • O propósito desse trabalho é definir... • Esse trabalho propõe três métodos para... – Solução a ser detalhada Contexto, motivação O problema em questão Trabalhos anteriores relacionados (limitações) Lista de contribuições, resultados principais Organização • Característica fundamental, técnica/metodologia, vantagens – Organização 31 Introdução 32 Introdução Contexto • Problema • Relacionados • Contribuições • Organização • Contexto, motivação • Evolução de um contexto “Yesterday’s version of distributed computing was a selfcontained, colocated server farm. Today, applications are increasingly deployed on third-party resources hosted across the Internet. Indeed, the rapid spread of open protocols and standards like Web 2.0 has fueled an explosion of compound services that script together third-party components to deliver a sophisticated service [27, 29]. These specialized services are just the beginning: flagship consumer and enterprise applications are increasingly being delivered in the software-asa-service model [9]. For example, Google Documents, Groove Office, and Windows Live are early examples of desktop applications provided in a hosted environment, and represent the beginning of a much larger trend.” • O problema em questão • Contexto Problema • Relacionados • Contribuições • Organização – Definição do problema – Sua importância, relevância, aplicações práticas “One of the key barriers to moving traditional applications to the cloud, however, is the loss of cost control [17]. In the cloud-based services model, cost recovery is typically accomplished through metered pricing. Indeed, Amazon’s EC2 charges incrementally per gigabyte of traffic consumed [3] […] Limiting global resource consumption in a distributed environment, however, presents a significant technical challenge. Ideally, resource providers would not require services to specify the resource demands of each distributed component a priori; such finegrained measurement and modeling can be challenging for rapidly evolving services. Instead, they should provide a fixed price for an aggregate, global usage, and allow services to consume resources dynamically across various locations, subject to the specified aggregate limit.” RAGHAVAN et al – SIGCOMM 2007 RAGHAVAN et al – SIGCOMM 2007 33 Introdução • Trabalhos anteriores relacionados 34 Introdução • Contexto • Problema Relacionados • Contribuições • Organização • Contribuições – Por extenso em um parágrafo • Contexto • Problema • Relacionados Contribuições • Organização • “Considerando o contexto atual, esse trabalho propõe ...” – No mesmo contexto, não resolvem o problema ou apresentam apenas soluções parciais – Extensão ou continuação de um trabalho anterior: deve ser mencionado na introdução – Uma frase sobre cada trabalho ou – Agrupar trabalhos similares e detalhar um ou dois: – Delimitado por itens “This paper makes three primary contributions: • Rate Limiting Cloud-based Services. We identify a key challenge... • Distributed Rate Limiter Design. We present the design and … • Evaluation and Methodology. We develop a methodology…” “... Como resposta a tal requisito, alguns trabalhos têm enfocado a questão do suporte a versões [2,4,9,13,23,27]. Entre esses, Golendziner propõe o Modelo de Versões: uma extensão aplicável a modelos de dados orientado a objetos ... ... [9]” RAGHAVAN et al – SIGCOMM 2007 35 36 Introdução • Organização 5. CORPO • Contexto • Problema • Relacionados • Contribuições Organização • Parte central do trabalho ( detalhado mais adiante) “O restante do artigo está organizado da seguinte maneira. A seção 2 apresenta alguns conceitos básicos e discute trabalhos relacionados. A seção 3 detalha o modelo proposto. A seção 4 apresenta um estudo comparativo através de experimentos, enquanto a seção 5 conclui o trabalho.” 37 6. CONCLUSÃO 38 Conclusão: exemplo “As cloud-based services transition from marketing vaporware to real, deployed systems, the demands on traditional Web-hosting and Internet service providers are likely to shift dramatically. In particular, current models of resource provisioning and accounting lack the flexibility to effectively support the dynamic composition and rapidly shifting load enabled by the software as a service paradigm. We have identified one key aspect of this problem, namely the need to rate limit network traffic in a distributed fashion, and provided two novel algorithms to address this pressing need. Our experiments show that naive implementations based on packet arrival information are unable to deliver adequate levels […] Our results demonstrate that it is possible to recreate, at distributed points in the network, the flow behavior that end users and network operators expect from a single centralized rate limiter. RAGHAVAN et al - SIGCOMM 2007 Moreover, it is possible […]” • Sugestão: ser mais específico que na introdução e informar (um parágrafo/linha por item) – – – – resumo do que o artigo apresentou principais resultados e contribuições comentários sobre a importância, relevância ou dicas para o uso prático do seu trabalho (como os resultados dos experimentos podem ajudar na prática...) – trabalhos futuros (evite entregar suas idéias de trabalhos mais inovadores de graça!!) 39 40 7. REFERÊNCIAS • Corretas, completas, específicas • Informações obrigatórias: autores, título, nome do evento ou periódico (editora), volume e número se necessário, ano • Referências relevantes Corpo do Artigo: Organização Interna – Do mesmo ano (ou ano anterior) para ilustrar que o tópico é atual e de interesse da comunidade – Artigos de conferências, periódicos, livros (não apenas sites da Internet!) – Todas as obras listadas no conjunto de referências devem ser mencionadas no texto, e vice-versa Exemplos O que já existe Novidade Validação Discussão 41 Corpo Escrever Artigos como Arte • Muitas maneiras de apresentar o corpo do trabalho • Faça rascunhos com ordens diferentes • Revise com seu orientador, escolha um • Pode ser mudado enquanto o trabalho é escrito 43 44 Corpo Corpo Exemplos de Organização Exemplos de Organização ARANTES @ SBBD 2003 1. Introdução 2. Trabalhos Relacionados 3. Motivação e Conceitos Fundamentais 4. Composição de Operadores por Similaridade: os Novos Algoritmos 5. Experimentos Realizados 6. Conclusões e Trabalhos Futuros LORENSEN @ SIGGRAPH 87 1. Introduction 2. Information flow for 3D medical algorithms 3. Related work 4. Marching cube algorithm 5. Enhancements of the basic algorithm 6. Implementation 7. Results 8. Conclusions BRAGANHOLO @ CTD 2005 1. Introduction 2. Related Work 3. Query Trees 4. Update Language 5. Mapping 6. Summary and Concluding Remarks WEYUKER @ TSE 88 Introduction Definitions Complexity Measures Desired Properties of Complexisty Measures 5. Conclusions, Summary, and Future Directions 1. 2. 3. 4. 45 46 Corpo Corpo Exemplos de Organização 1. 2. 3. 4. 5. 6. 7. ZHANG @ SIGMOD 1996 Introduction Summary of Relevant Research Background Clustering Feature and CF Tree The BIRCH Clustering Algorithm Performance Studies Summary and Future Research Exemplos de Organização 1. Introdução 2. O que já existe Estado-da-arte 3. NOVIDADE 4. VALIDAÇÃO 5. Conclusão RAGHAVAN @ SIGCOMM07 1. 2. 3. 4. Introduction Classes of Clouds Limiter Design Evaluation Methodology 5. Evaluation 6. Related Work 7. Conclusion 47 A. B. C. D. E. Conceitos Básicos MODELO LINGUAGEM; IMPLEMENTAÇÃO ESTUDO DE CASO Trabalhos Relacionados A. B. C. D. E. F. Conceitos Básicos Trabalhos Relacionados ARQUITETURA; ALGORITMOS ANÁLISE COMPARATIVA EXPERIMENTOS Discussão 48 1. O que já Existe Já existe • Novidade • Validação • Discussão O que já Existe: Conceitos Básicos • Conceitos Básicos e Trabalhos Relacionados • Apresentados juntos/não • Conceitos Básicos antes da contribuição principal • Trabalhos Relacionados no início ou fim Definições Notações Modelos Arquiteturas Linguagens Cenários Padrões necessários para entender o trabalho • Referências para trabalhos onde os conceitos são introduzidos ou melhor detalhados 49 50 O que já Existe: Trabalhos Relacionados O que já Existe: Trabalhos Relacionados • Como o artigo avança o estado-da-arte • O que antes não tinha, e agora tem • Trabalhos anteriores com temas relacionados ao seu • Mencionar todos os trabalhos relacionados (pessoal do comitê de programa, depto) • Detalhes desses trabalhos ajudam mostrar onde o seu trabalho é melhor ou • Foco: trabalhos RELACIONADOS a pesquisa apresentada no artigo • Desvantagens ou pontos fracos de trabalhos anteriores que são aprimorados • Condições, requisitos e limitações do seu trabalho 51 O que já Existe: Trabalhos Relacionados 52 O que já Existe: Trabalhos Relacionados • Mas o artigo é um survey, precisa de trabalhos relacionados??? • Seção de Trabalhos Relacionados é praticamente obrigatória • Por exemplo, o título é: – SIM – É impossível que um artigo referencie todos os outros – Que outros trabalhos ficaram fora do survey e por quê? “Resumos Estruturais em Processamento de Consulta XML” Exemplos de temas relacionados: – Resumos estruturais em outros contextos (outros processamentos) – Resumos estruturais para processar outros tipos de dados – Outras formas de processar consultas XML – ... • Precisa ter uma seção para Trabs. Rels? Não pode ir simplesmente mencionando os artigos aqui e ali no meio do artigo? – Melhor não – Melhor ter todos os artigos em uma seção – COMPARANDO com o trabalho em questão 53 54 2. Novidade: Contribuições • Já existe Novidade • Validação • Discussão Novidade: Contribuições • Um parágrafo com idéia geral da proposta • Esclareça novas definições (escreva claramente que são novas definições propostas no artigo) • Adicione quantos parágrafos necessários para apresentar: • Parte principal do artigo!!!! • A que veio • Adiciona o que • Tem de estar claríssimo – – – – o que é o trabalho como funciona a proposta o que é novidade, por que detalhes e explicações sobre partes principais do funcionamento da proposta 55 3. Validação • Já existe • Novidade Validação • Discussão 56 Validação: Análise • Mostrar que a solução proposta funciona e seus benefícios • Análise • Estudo de caso • Experimentos • Proposta é correta (demonstração e provas) • Inclua (conforme necessário): – Um parágrafo com o resumo do que é provado nessa seção – Um parágrafo com definições específicas usadas na análise (ex. estruturas usadas nas provas) – Provas e análises – Comentários finais sobre o significado das provas de um modo intuitivo ou num nível mais prático 57 Validação: Estudo de Caso 58 Validação: Experimentos • Proposta é aplicável, implementável • Inclua (conforme necessário): • Proposta funciona, desempenho bom/superior • Inclua (conforme necessário): – Contexto geral – Regras ou condições específicas necessárias nesse estudo de caso caso – Modelagem / Implementação – Funcionamento – Vantagens e desvantagens de usar o modelo proposto nesse estudo de caso – Contexto: o que é medido, o que não é, por que – Modelo de simulação ou infraestrutura das medições: configuração do sistema, tipo de máquinas usadas, linguagens, ... – Resultados dos experimentos [próximo slide] – Comentários finais, discussões, explicações adicionais 59 60 Validação: Experimentos Experimentos: Exemplo • Descrição de resultados • Performance studies – Subtítulo (em negrito): para diferenciar experimentos (ex: avaliando tamanho da entrada, variando a quantidade de consultas, usando dados sintéticos, usando dados reais, ...) – Razão clara: por que cada gráfico aparece no seu artigo (ex: conforme o tamanho dos arquivos de entrada aumenta, o throughput diminui, ...) – Explicar: os axis, o que o gráfico mostra, qual é a tendência, por que a tendência aparece, por que um algoritmo apresenta melhores resultados que outro, ... – Auto-contido: legendas devem ser legíveis e compreensíveis e suficientes para entender o gráfico – – – – – – – – 6.1 Analysis 6.2 Synthetic Dataset Generator 6.3 Parameters and Default Setting 6.4 Base Workload Performance 6.5 Sensitivity to Parameters 6.6 Time Scalability 6.7 Comparison of BIRCH and CLARANS 6.8 Application to Real Datasets ZHANG @ SIGMOD 1996 61 4. Discussão • Discussão 62 • Já existe • Novidade • Validação Discussão – Pode ser incluída como subseção final de Experimentos ou na Conclusão – Relacionamentos entre os fatos e resultados observados – Princícios, relações, generalizações mostrados nos Experimentos – Exceção ou falta de relação, pontos incertos – Mostrar que resultados e interpretações concordam (ou contrastam) com trabalhos previamente publicados – Implicações teóricas e possíveis aplicações práticas Dicas de Estilo • Conclusão – Principal contribuição – Evidências para cada conclusão (não assuma que o leitor é super capaz de juntar todos os pontos sozinho) 63 Dicas de Estilo Dicas de Estilo SETE pecados capitais • Siga o formato 1. Frases longas (repletas de vírgulas ou não!) 2. Erros ortográficos 3. Tradução literal e imbromation 4. Imagens/tabelas ilegíveis 5. Erros gramaticais – Confira cuidadosamente a seção de "Instruções a Autores"/"Instruções para Submissão" – Artigos podem ser recusados apenas por não seguir o formato requisitado (independente da qualidade de seu conteúdo) • Cópia literal não!!! – Quando referenciar outros trabalhos, resuma suas idéias principais – Resista à tentação de copiar literalmente colocando o texto entre “..” (paralelismo, concordância, conjugação, crase) 6. Cópia literal 7. Blablabla (encher linguiça) 65 66 Dicas de Estilo Dicas de Estilo • Palavras estrangeiras em itálico • Siglas esclarecidas • Uma imagem vale mil palavras – Trabalho apresenta um processo complicado, cheio de fases, entradas e saídas para lá e para cá, tente resumir tudo em uma imagem – Uma nova arquitetura – Colocar seu significado entre parênteses – “... conforme definido pela W3C (World Wide Web Consortium)...” – Lembre-se que pode existir sobreposição • Escreva enquanto trabalha – É uma boa idéia começar a escrever o artigo enquanto o trabalho está em desenvolvimento (enquanto idéias, problemas, soluções e detalhes estão mais frescos na memória) • REVISAR! REVISAR! REVISAR! • Backup! Backup! Backup! 67 68 Revisão Final Verificar antes da Submissão • Ortografia de título, nomes dos autores e filiação • Imprima o artigo (no formato final de submissão): tudo legível • Tenha certeza absoluta da data e do horário limites para submissão de trabalhos • MS Word: Revisão Final O que verificar Avaliação – Numeração das seções e subseções – Numeração no texto concorda com a numeração usada em figuras e tabelas – Referências cruzadas não foram perdidas dentro do editor 70 Revisão Final Exemplo de Formulário de Avaliação • Relevância (enquadramento no evento) Conclusões • • • • • Originalidade Mérito técnico-científico Apresentação Organização Legibilidade (readability) • Referências 71 Conclusões Conclusões Tudo junto Título Título inicial da tese/dissertação Autores Aluno + Orientador(es) Resumo / Abstract Contexto + problema + objetivos 1. Introdução Contexto + motivação + problema + estado-da-arte + contribuições + organização 2. O que já existe Estado-da-arte: avaliação comparativa 3. NOVIDADE Contribuições + trabalho desenvolvido 4. Validação Validação inicial + próximos passos 5. Conclusão Estado atual + próximos passos 6. Referências Local (DCC) + nacional + internacional • Como escrever artigos científicos • Muuuuitas outras opções www.dcc.ufmg.br/~mirella 73 74 Perguntas??? Estudo de Caso VLDB 2007 Best Paper Awards Scalable Semantic Web Data Management Using Vertical Partitioning Daniel J. Abadi, Adam Marcus, Samuel Madden, Katherine J. Hollenbach mirella@dcc.ufmg.br www.dcc.ufmg.br/~mirella Tem um formato particular 75 76 Estudo: Abstract • • • • • Estudo: Introduction Efficient management of RDF data is an important factor in realizing the semantic Web vision. Performance and scalability issues are becoming increasingly pressing as Semantic Web technology is applied to real-world applications. In this paper, we examine the reasons why current data management solutions for RDF data scale poorly, and explore the fundamental scalability limitations of these approaches. We review the state of the art for improving performance for RDF databases and consider a recent suggestion, “property tables.” We then discuss practically and empirically why this solution has undesirable features. As an improvement, we propose an alternative solution: vertically partitioning the RDF data. We compare the performance of vertical partitioning with prior art on queries generated by a Web-based RDF browser over a large-scale (more than 50 million triples) catalog of library data. Our results show that a vertical partitioned schema achieves similar performance to the property table technique while being much simpler to design. Further, if a column-oriented DBMS (a database architected specially for the vertically partitioned case) is used instead of a row-oriented DBMS, another order of magnitude performance improvement is observed, with query times dropping from minutes to several seconds. 77 • • The Semantic Web is an effort by the W3C [8] to enable integration and sharing of data across different applications and organizations. Though called the Semantic Web, the W3C envisions something closer to a global database than to the existing World Wide Web. In the W3C vision, […] . Database researchers will immediately recognize that building the Semantic Web requires surmounting many of the semantic heterogeneity problems faced by the database community over the years. In fact – as in many database research efforts – the W3C has proposed schema matching, ontologies, and schema repositories for managing semantic heterogeneity. One area in which the Semantic Web community differs from the relational database community is in its choice of data model. The Semantic Web data model, called the “Resource Description Framework,” [9] or RDF, represents data as statements about resources using a graph connecting resource nodes and their property values with labeled arcs representing properties. Syntactically, […]. For example, to represent the fact that Serge Abiteboul, Rick Hull, and Victor Vianu wrote a book called “Foundations of Databases” we would use seven triples: […] O artigo tem de explicar esses conceitos: Trata da área de Web Semântica em um evento de Banco de Dados 78 Estudo: Introduction • • Estudo: Introduction The commonly stated advantage of this approach is that it is very general […] These tools won’t be useful if different users describe objects differently, so the Semantic Web community has developed a set of standards for expressing schemas (RDFS and OWL); these make it possible, for example, to say that every book should have an author, or that the property “isAuthor” is the same as the property “authored.” This data representation, though flexible, has the potential for serious performance issues, since there […]. For example, […] Figure 1. • This query is potentially very slow to execute, since as the number of triples in the library collection scales, the RDF table may well exceed the size of memory, and each of these filters and joins will require a scan or index lookup. Real world queries involve many more joins, which complicates selectivity estimation and query optimization, and limits the benefit of indices. As a database researcher, it is tempting to dismiss RDF, as the data model seems to offer inherently limited performance for little – or no – improvement in expressiveness or utility. Regardless of one’s opinion of RDF, however, it appears to have a great deal of momentum in the web community, with several international conferences (ISWC, ESWC) each drawing more than 250 full paper submissions and several hundred attendees, as well as enthusiastic support from the W3C (and its founder, Tim Berners-Lee.) Further, an increasing amount of data is becoming available on the Web in RDF format, including the UniProt comprehensive catalog of protein sequence, function, and annotation data (created by joining the information contained in Swiss-Prot, TrEMBL, and PIR) [6] and Princeton University’s WordNet (a lexical database for the English language) [7]. The online Semantic Web search engine Swoogle [5] reports that it indexes 2,171,408 Semantic Web documents at the time of the publication of this paper. Vende o peixe para a comunidade de BD 79 80 Estudo: Introduction • • • Estudo: Introduction Hence, it is our goal in this paper to explore ways to improve RDF query performance, since […]. We focus on […] The gist of our technique is based on a simple and familiar observation to proponents of relational technology: […] We look at two different physical organization techniques for RDF data. The first, called the property table technique, denormalizes […]. For example, “title,” “author,” and “isbn” might all be properties that tend to be defined for subjects that represent book entities. […] This flattened property table representation will require many fewer joins to access, since self-joins on the subject column can be eliminated. One can use standard query rewriting techniques to translate queries over the RDF triple-store to queries over the flattened representation. There are several issues with this property table technique, including: – – – NULLs. Because […] Multi-valued Attributes. […] Proliferation of union clauses and joins. In the above example, […] Fornece uma primeira solução que requer menos joins. Explica os problemas desta solução. • To address these limitations, we propose a different physical organization technique for RDF data. We create a two-column table […] For the library example, […] Although many joins are still required to answer queries over multiple properties, each table is sorted by subject, so fast (linear) merge joins can be used. Further, only those properties that are accessed by the query need to be read off disk (or from memory), saving I/O time. Fornece uma segunda solução • The above technique can be thought of as a fully vertically partitioned database on property value. Although vertically partitioning a database can be done in a normal DBMS, these databases are not optimized for these narrow schemas (for example, the tuple header dominates the size of the actual data resulting in table scans taking 4-5 times as long as they need to), and there has been a large amount of recent work on column-oriented databases [19, 20, 29, 31], which are DBMSs optimized for vertically partitioned schemas. Explica a diferença da nova técnica para as anteriores (da própria comunidade de BD) 81 Estudo: Introduction • • • In this paper, we compare the performance of different RDF storage schemes on a real world RDF dataset. We use the Postgres open source DBMS to show that both the property table and the vertically partitioned approaches outperform the standard triple-store approach by more than a factor of 2 (average query times go from around 100 seconds to around 40 seconds) and have superior scaling properties. We then show that one can get another order of magnitude in performance improvement by using a column-oriented DBMS since they are designed to perform well on vertically partitioned schemas (queries now run in an average of 3 seconds). The main contributions of this paper are: an overview of the state of the art for storing RDF data in databases, a proposal to vertically partition RDF data as a simple way to improve RDF query performance relative to the state of the art, a description of how we extended a column-oriented database to implement the vertical partitioning approach, and a performance evaluation of these different proposals. Ultimately, the column-oriented DBMS is able to obtain nearinteractive performance (on non-trivial queries) over real-world RDF datasets of many millions of records, something that (to the best of our knowledge) no other RDF store has been able to achieve. The remainder of this paper is organized as follows. […] 83 82 Estudo: Corpo 2. Current State of the Art In this section, we discuss the state of the art of storing RDF data in relational databases, with an extended look at the property table approach. 2.1 RDF in RDBMSs 2.2 Property Tables 3. A Simpler Alternative We now look at an alternative to the property table solution to speed up queries over a triple-store. In Section 3.1 we discuss the vertically partitioned approach to storing RDF triples.We then look at how we extended a column-oriented DBMS to implement this approach in Section 3.2 3.1 Vertically Partitioned Approach 3.2 Extending a Column-Oriented DBMS 84 Estudo: Corpo Estudo: Validação 4. Materialized Path Expressions 5. Benchmark In this section, we describe the RDF benchmark we have developed for evaluating the performance of our three RDF databases. Our benchmark is based on publicly available library data and a collection of queries generated from a web-based user interface for browsing RDF content. 6. Evaluation Now that we have described our benchmark dataset and the queries that we run over it, we compare their performance in three different schemas – a triples schema, a property tables schema, and a vertically partitioned schema. We study the performance of each of these three schemas in a row-store (Postgres) and, for the vertically partitioned schema, also in a column-store (our extension of C-Store). Our goal is to study the performance tradeoffs between these representations to understand when a vertically partitioned approach performs better (or worse) than the property tables solution. Ultimately, the goal is to improve performance as much as possible over the triple-store schema, since this is the schema most RDF store systems use. 5.1 Barton Data 5.2 Longwell Overview 5.3 Longwell Queries 85 86 Estudo: Validação Estudo: Validação 6.1 System 6.4 Results 6.1.1 PostgreSQL Database (por que? configurações) 6.4.1 Postgres as a Choice of RDBM 6.2 Store Implementation Details 6.5 Scalabililty We now describe the details of our store implementations. Note that all implementations feature a dictionary encoding table that maps strings to integer identifiers (as was described in Section 2.1); these integers are used instead of strings to represent properties, subjects, and objects. The encoding table has a clustered B+tree index on the identifiers, and an unclustered B+tree index on the strings. We found that all experiments, including those on the triplestore, went an order of magnitude faster with dictionary encoding. 6.2.1 Triple Store 6.2.2 Property Table Store 6.2.3 Vertically Partitioned Store in Postgres 6.2.4 Column-Oriented Store 6.6 Materialized Path Expressions 6.7 The Effect of Further Widening 6.3 Query Implementation Details In this section, we discuss the implementation of all seven benchmark queries in the four designs described above. 87 Estudo: Conclusão 88 Estudo: Acknowledgments The emergence of the Semantic Web necessitates high performance data management tools to manage the tremendous collections of RDF data being produced. Current state of the art RDF databases – triplestores – scale extremely poorly since most queries require multiple selfjoins on the triples table. The previously proposed “property table” optimization has not been adopted in most RDF databases, perhaps due to its complexity and inability to handle multi-valued attributes. We showed that a poorly-selected property table can result in a factor of 3.8 slowdown over an optimal property table, thus making the solution difficult to use in practice. As an alternative to property tables, we proposed vertically partitioning tables and demonstrated that they achieve similar performance as property tables in a row-oriented database, while being simpler to implement. Further, we showed that on a version of the C-Store column-oriented database, it is possible to achieve a factor of 32 performance improvement over the current state of the art triple store design. Queries that used to take hundreds of seconds can now be run in less than ten seconds, a significant step toward interactive time semantic web content storage and querying. • We thank George Huo and the Postgres development team for their advice on our Postgres implementation, and Michael Stonebraker for his feedback on this paper. This work was supported by the National Science Foundation under grants IIS048124, CNS- 0520032, IIS-0325703 and two NSF Graduate Research Fellowships. 89 90