Nos últimos anos, diversas áreas modernas de aplicação de banco de dados como comércio eletrônico e sistemas multimídia, estão lidando com o desafio



Documentos relacionados
Fabíola S. Fernandes, Sandra de Amo

TPref-SQL: uma linguagem de consultas para bancos de dados com suporte a preferências temporais

CPrefSQL-Tool: Uma Ferramenta Web para Consultas com Suporte a Contextos e Preferências do Usuário

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

NOME SEXO CPF NASCIMENTO SALARIO

Comandos de Manipulação

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Persistência e Banco de Dados em Jogos Digitais

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

ARQUITETURA DE UM SISTEMA SPATIO-TEXTUAL. PALAVRAS-CHAVE: banco de dados espaciais, busca spatio-textual. aplicativo.

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

NOVAS FUNCIONALIDADES PARA A LINGUAGEM CPREF-SQL COM SUPORTE A PREFERÊNCIAS DO USUÁRIO RESUMO

4 Implementação e Resultados Experimentais

Processamento e Otimização de Consultas

Sistemas de Banco de Dados

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSOR RESPONSÁVEL : Josino Rodrigues Neto

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO

Persistência de Dados

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Banco de Dados. Prof. Antonio

Arquiteturas RISC. (Reduced Instructions Set Computers)

Modelagem Flexível para Processos de Negócio. Resultados de um Estudo Experimental

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

Apêndice A. Documento de Especicação de Requisitos de Software do Classroom experience

Introdução a Java. Hélder Nunes

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Orientação a Objetos

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Noções de. Microsoft SQL Server. Microsoft SQL Server

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Arquitetura de Banco de Dados

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Processos de Desenvolvimento de Software

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Organizaçãoe Recuperação de Informação GSI521. Prof. Rodrigo Sanches Miani FACOM/UFU

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

1.1. Aplicações de TVD dinâmicas

Prof. Marcelo Machado Cunha

1) O QUE NÃO É BANCO DE DADOS?

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Extensão do SGBD PostgreSQL para suportar recuperação de imagens por conteúdo

Engenharia de Requisitos

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Prof.: Clayton Maciel Costa

INE 5616 Banco de Dados II

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

BDII SQL Junção Revisão 8

1 Introdução Motivação

6 Construção de Cenários

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha.

Universidade Federal de Alfenas

Análise comparativa sobre bases de dados para armazenamento e consulta de dados não estruturados no formato JSON.

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Estatística Básica via MySQL para Pesquisas On-Line

Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas.

Curso de Data Mining

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Universidade Federal do Estado do Rio de Janeiro UNIRIO. Guia para criação do banco de dados de redes sociais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Material de Apoio. Sistema de Informação Gerencial (SIG)

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Especificação do 3º Trabalho

INE 5336 Banco de Dados II

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

RESPOSTA AO RECURSO = que corresponde a 260 decimal, alternativa A.

Licenciamento BMC Remedy. Esclarecimento sobre licenciamento dos produtos. 6/5/2010

Introdução à Computação

1.6. Tratamento de Exceções

OTIMIZAÇÃO E PERFORMANCE DE BANCO DE DADOS UTILIZANDO SQL TUNING

Estratégia de execução de consultas em um Sistema de Gerenciamento de Banco de Dados Geográfico

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Principais Comandos SQL Usados no MySql

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Revisão de Banco de Dados

Tarefa Orientada 16 Vistas

O que são Bancos de Dados?

CURSO DE FORMAÇÃO. webqda - SOFTWARE DE APOIO À ANÁLISE QUALITATIVA. Entidade de formação credenciada e homologada

BANCO DE DADOS 1 AULA 1. estrutura do curso e conceitos fundamentais. Professor Luciano Roberto Rocha. contato@lrocha.

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Tarefa Orientada 14 Subconsultas

Taxa de Gravação da Memória RAM (MegaBytes / segundo) G5 2.7 Ghz (Mac) Linux Kernel

Transcrição:

Implementação de uma Linguagem de Consulta com Suporte a Preferências Condicionais Aluna: Fabíola S. F. Pereira 1, Orientadora: Sandra de Amo 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal de Uberlândia (UFU) Uberlândia MG Brasil fabfernandes@comp.ufu.br, deamo@ufu.br Nível: Mestrado Ano de ingresso: 2009 Época esperada de conclusão: Fevereiro de 2011 Etapa concluída: Defesa da proposta de dissertação Abstract. Many important applications like e-commerce and multimedia systems require the use of efficient techniques for customizing and manipulating user preferences. In the database field, the researches are focused on the development of query languages able to express and filter preferences. This paper proposes the implementation of the CPref-SQL query language, which is an extension of SQL with support to conditional preferences. Algorithms are proposed to implement the new preference operators: Select-Best and SelectK-Best. They are capable of evaluating top-k queries with preferences, i.e., queries that return the k most preferred tuples according to a hierarchy of user preferences. The proposal is the direct implementation of these algorithms in the PostgreSQL query processor. Also is part of the scope of this work to develop a method that allows to insert the notion of preferences in the context of similarity queries. Keywords: conditional preferences, SQL extension, top-k queries Resumo. Muitas aplicações importantes como comércio eletrˆonico e sistemas multimídia demandam o uso de técnicas eficientes para personalização e manipulação de preferḙncias do usuário. No campo de banco de dados, as pesquisas estão voltadas para o desenvolvimento de linguagens de consulta capazes de expressar e filtrar preferḙncias. Este trabalho propõe a implementação da linguagem de consulta CPref-SQL, que é uma extensão da SQL com suporte a preferḙncias condicionais. São propostos algoritmos que implementam os novos operadores de preferḙncia Select-Best e SelectK-Best, capazes de avaliar consultas top-k com preferḙncias, ou seja, consultas que retornam as k tuplas mais preferidas de acordo com uma hierarquia de preferḙncias do usuário. A proposta é a implementação direta desses algoritmos no core do processador de consultas do PostgreSQL. Também faz parte do escopo deste trabalho desenvolver um método que possibilite adicionar a noção de preferḙncias ao contexto de consultas por similaridade. Palavras-chave: preferḙncias condicionais, extensão da SQL, consultas top-k

1. Introdução e Motivação Nos últimos anos, diversas áreas modernas de aplicação de banco de dados como comércio eletrônico e sistemas multimídia, estão lidando com o desafio de recuperar informações de acordo com preferências do usuário. A pesquisa com o foco em expressar e filtrar preferências do usuário através de consultas em banco de dados tem ganhado espaço na comunidade de BD [Kießling and Köstler 2002, Chomicki 2003]. Mais especificamente, o interesse está em retornar as tuplas mais preferidas de acordo com uma ordem de preferência. O tratamento de preferências pode ser feito de forma quantitativa ou qualitativa. Por exemplo, dada uma relação de viagens turísticas, para encontrar aqueles pacotes mais interessantes para o usuário de maneira quantitativa, basta solicitar que o mesmo dê uma nota a cada opção de viagem, de maneira que aquelas com maiores notas serão as selecionadas. Entretanto, esse método pode ser inviável para uma grande relação de viagens. Pela abordagem qualitativa, é possível obter do usuário informações sobre quais atributos afetam sua preferência. Assim, se o usuário prefere viagens nacionais a internacionais, já consegue-se obter uma classe de destinos preferidos sem que tenha sido necessário avaliar cada opção individualmente. Nesse contexto de consultas personalizadas, em [de Amo and Ribeiro 2009] foi introduzida a linguagem CPref-SQL que permite expressar consultas contendo preferências condicionais (consultas-pc), através de uma abordagem qualitativa. As consultas em CPref-SQL incorporam as usuais restrições hard (declaradas na cláusula WHERE), além das restrições soft, especificadas através de um conjunto de regras de preferências e referenciadas pela cláusula ACCORDING TO PREFERENCES. Juntamente com a linguagem CPref-SQL, em [de Amo and Ribeiro 2009] também foi proposto o operador Select-Best que obtém as tuplas dominantes. Entretanto, não foi abordada a implementação da linguagem. Outro aspecto que vem sendo discutido em relação a consultas com preferências, é a possibilidade do usuário poder controlar a quantidade de tuplas preferidas a serem retornadas [Papadias et al. 2005]. Caso isso não aconteça, dois cenários podem existir: (1) as regras especificadas pelo usuário podem ser muito restritivas e, assim, o conjunto das tuplas mais preferidas será muito pequeno; (2) as regras podem ser muito permissivas, fazendo com que o usuário confronte novamente com um conjunto de dados que pode ser tão grande quanto a própria base. Assim, é importante que uma linguagem de consultas com suporte a preferências tenha a flexibilidade de permitir que o usuário especifique a quantidade de tuplas preferidas que devem ser retornadas. Por exemplo, diante de uma lista de opções de viagens turísticas, é interessante que o usuário realize uma consulta top-k com preferências do tipo: gostaria de obter uma lista com os 4 destinos que mais se adequam às minhas preferḙncias. Este trabalho tem como objetivo (1) propor uma nova abordagem para obter as k tuplas preferidas pelo usuário: através de consultas-pc top-k. A proposta é incorporar à linguagem CPref-SQL um novo operador, SelectK-Best, que avalia consultas-pc retornando as k tuplas mais preferidas de acordo com uma hierarquia de preferência. Uma vez especificado o operador, também é objetivo desse trabalho (2) implementar a linguagem CPref-SQL, através de algoritmos para os operadores Select-Best e SelectK-Best codificados diretamente no core do SGBDR PostgreSQL. Por fim, diante do avanço de sistemas que manipulam dados complexos como imagens e áudio, torna-se interessante uma integração entre aspectos de similaridade e preferências em uma consulta sobre dados convencionais e complexos. Uma integração significa a possibilidade de realizar consultas do tipo: Dentre as minhas viagens mais preferidas, liste aqueles destinos que mais se assemelham à essa imagem de um ponto turístico. Em [Barioni et al. 2006] foi proposto o SIREN (SImilarity Retrieval ENgine), um avaliador de consultas por similari-

dade através de comandos que estendem a SQL. Assim, um terceiro objetivo desse trabalho é (3) combinar os operadores de preferência da CPref-SQL com operadores de similaridade do SIREN, para realizar consultas que incorporam as duas abordagens. Este artigo encontra-se organizado da seguinte maneira: na Seção 2 são apresentados alguns trabalhos correlatos. A Seção 3 descreve os principais objetivos do trabalho, expondo as soluções propostas que estão sendo desenvolvidas. A Seção 4 apresenta alguns resultados obtidos em relação à implementação da CPref-SQL e, na Seção 5, são feitas considerações finais acerca do andamento das atividades envolvidas no projeto. 2. Trabalhos Correlatos Extensões da SQL e Algoritmos para Avaliação de Consultas com Preferências. Em [Borzsonyi et al. 2001] foi proposto o operador skyline, bem como o algoritmo básico BNL (block-nested-loop) para avaliar consultas skyline. [Kießling and Köstler 2002] introduziram a linguagem Preference SQL que estende a SQL com construtores de preferências. As consultas em Preference SQL são traduzidas em SQL padrão para serem executadas. Já no contexto de consultas com preferências condicionais, o algoritmo BNL foi proposto em [de Amo and Ribeiro 2009] para avaliar o operador Select-Best. Ele segue as linhas do algoritmo BNL e utiliza um grafo better-than reduzido, através do qual é possível comparar duas tuplas conforme suas listas de escopos. Esse algoritmo não foi implementado. No presente trabalho, é proposto um segundo algoritmo, BNL, que utiliza agora um Programa Datalog para comparar duas tuplas. Consultas Top-k. As consultas top-k dominantes foram introduzidas em [Papadias et al. 2005] como uma extensão das consultas skyline de [Borzsonyi et al. 2001]. Uma consulta top-k dominante retorna as k tuplas que dominam o maior número de tuplas na base de dados. Esse conceito é ortogonal às consultas skyline e pareto, bem como às consultas-pc. Preferências em Consultas por Similaridade. Em [Bartolini et al. 2007] é discutida a utilização de mecanismos de feedback do usuário para consultas interativas por similaridade sob uma abordagem de preferências qualitativas skyline. Em [Barioni et al. 2006] foi proposto o sistema SIREN que avalia e executa comandos expressos em uma extensão da SQL para consultas por similaridade. O SIREN está implementado entre o SGBDR e a aplicação, interceptando as consultas submetidas. É um potencial sistema que pode utilizar preferências do usuário para otimizar suas respostas. Um dos objetivos deste trabalho é propor uma integração entre o SIREN e o SGBDR PostgreSQL estendido, possibilitando a realização de consultas por similaridade com preferências condicionais do usuário. 3. Descrição do Trabalho Os principais objetivos do trabalho são: (1) Introduzir o conceito de consultas com preferências condicionais top-k (consultas-pc top-k); (2) Propor os algoritmos BNL** e R-BNL** para avaliação de consultas-pc e consultas-pc top-k, respectivamente e implementá-los no core do SGBDR PostgreSQL; (3) Propor uma aplicação do sistema de preferências implementado, integrando-o com um sistema de consultas por similaridade para possibilitar maior expressividade e otimizações nas consultas. A seguir, cada um desses objetivos são detalhados. 3.1. Consultas Top-k com Preferências Condicionais A CPref-SQL foi proposta seguindo o formalismo lógico de [Wilson 2004] para especificação e raciocínio com preferências. De acordo com tal formalismo, as preferências do usuário são expressas através de um conjunto de regras de preferências condicionais (regras-pc) sobre uma relaçãor(a 1,...,A n ) do tipo: ϕ : B 1 = b 1... B k = b k (A = a 1 ) > (A = a 2 )[W 1,...,W j ], onde {B 1,...,B k,a,w 1,...,W j } {A 1,...,A n }, b i dom(b i ), para i {1,...,k}, e a 1,a 2

dom(a). Aqui, dom(x) denota o domínio do atributo X. Um conjunto de regras-pc determina uma ordem parcial (ordem de preferência) sobre o conjunto de tuplas da relação R. A semântica de uma regra-pc é: sejam u,v tuplas da relação R. Diz-se que u é preferido a v (u > v) se u[b i ] = v[b i ] = b i, parai {1,...,k},u[A] = a 1 ev[a] = a 2 eu[z] = v[z], para cada atributo Z / {B 1,...,B k,a,w 1,...,W j }. Duas tuplas podem ser comparadas pela transitividade da ordem parcial associada ao conjunto de regras-pc [de Amo and Ribeiro 2009]. A partir da ordem de preferência, é possível introduzir o conceito de nível (level) de uma tuplat(denotadol(t)) dada uma instânciar sobrer: l(t) = 0, se não existet r tal quet > t. Caso contrário, l(t) = max {l(t ) t > t}+1. O novo operador SelectK-Best(K,r) retorna o conjunto das K tuplas com os menores níveis. Representa, portanto, a inserção da abordagem top-k com preferências na linguagem CPref-SQL. O exemplo a seguir ilustra a realização de uma consulta-pc top-k através da linguagem CPref-SQL. Exemplo 3.1 Seja uma relação VIAGENS que armazena informações sobre opções de pacotes turísticos com os atributos D (Destino), T (Temporada), R (Roteiro), T r (Transporte), C (Categoria). A Figura 1(a) descreve uma instância de VIAGENS. As seguintes sentenças expressam as preferências de um turista: (1) Em geral, prefiro viajar para praia do que para um centro urbano; (2) Para viagens de carnaval a centros urbanos, prefiro que o transporte seja rodoviário (rod); (3) Para roteiros a centros urbanos, prefiro viajar nas férias do que no carnaval. Liste os 4 destinos que mais se adequam aos meus desejos, desde que não sejam viagens na temporada de Páscoa. A consulta-pc top-k correspondente é: CREATE PREFERENCES MyPrefs FROM VIAGENS AS R= praia > R= urbano [D,Tr,C] AND IF T= carnaval and R= urbano THEN Tr= rod > Tr= aereo [D,C] AND IF R= urbano THEN T= ferias > T= carnaval [D]; SELECT D FROM VIAGENS WHERE T <> pascoa ACCORDING TO PREFERENCES (4, M yp ref s); Nessa consulta a restrição hard é T <> pascoa e as restrições soft são dadas pelas regras MyPrefs. Através do operador SelectK-Best, serão retornadas as 4 tuplas com os menores níveis. A ordem induzida em VIAGENS pelo conjunto de regras é ilustrada no grafo better-than da Figura 1(b). Uma seta de t para t significa que t > t (setas obtidas pelo fecho transitivo não estão representadas). Note, por exemplo, que t 1 > t 2 pela regra 1, t 2 > t 3 pela regra 3, e t 1 > t 3 por transitividade. De acordo com tal ordem e pela definição de nível, tem-se: SelectK-Best(4, VIAGENS) = {t 1,t 4,t 5,t 2 }. SelectK-Best(2, VIAGENS) = {t 1,t 4 } (note que l(t 5 ) = l(t 4 ) = l(t 1 ) = 0, mas tuplas de mesmos níveis são consideradas pela ordem que aparecem na relação. Finalmente, Select-Best(VIAGENS) = {t 1,t 4,t 5 }. 3.2. Implementação dos Operadores de Preferência Neste trabalho, são propostos os algoritmos BNL** e R-BNL** (Ranked BNL**) para avaliar os operadores Select-Best e SelectK-Best, respectivamente. Eles seguem as linhas dos algoritmos de laços aninhados existentes na literatura [Borzsonyi et al. 2001, Chomicki 2003]. Basicamente, o Select-Best retorna as tuplas dominantes e o SelectK-Best envolve a avaliação das tuplas dominantes de maneira iterativa. Um ponto essencial nos algoritmos é o teste de dominˆancia, que decide se uma tupla t 1 domina outra tupla t 2, seja por inferência direta a partir de uma regra, ou devido a uma inferência por transitividade sobre duas ou mais regras. Como solução do problema, o teste de dominˆancia foi implementado através de um Programa Datalog. Cada teste de dominância executado pelos algoritmos corresponde à satisfação da instanciação de um goal para o programa. Os novos operadores não aumentam o poder de expressão da SQL, já que eles podem ser expressos em álgebra relacional [Chomicki 2003]. Assim, com uma reescrita é possível traduzir

consultas CPref-SQL em consultas SQL com recursão. Entretanto, na Seção 4 são apresentados alguns resultados que comprovam ganhos em performance com a definição explícita dos novos operadores, estendendo a SQL, através dos algoritmos específicos propostos. O plano de execução canônico associado a um bloco CPref-SQL (sem construtores de agregação) é mostrado na Figura 1(c). Neste trabalho, a implementação da linguagem CPref- SQL adota uma abordagem built-in, ou seja, a codificação dos algoritmos foi feita diretamente no código-fonte do SGBDR PostgreSQL para possibilitar que os novos operadores de preferência interajam com operações internas do plano de execução de consultas SQL (seleções, junções, projeções), abrindo caminhos para futuras otimizações. Figura 1. (a)instância r de VIAGENS; (b)grafo better-than de r; (c)plano de execução da CPref-SQL 3.3. Consultas por Similaridade com Preferências Condicionais do Usuário A proposta de aproximar o tópico de preferências às consultas por similaridade visa poder contribuir na qualidade das respostas fornecidas ao usuário, em se tratando de bases de dados multimídia. Os operadores de similaridade do SIREN [Barioni et al. 2006] e os de preferência do PostgreSQL estendido para CPref-SQL se complementam e serão combinados para realização de consultas sob duas abordagens: (i) consultas-pc sobre os objetos mais similares; (ii) consultas por similaridade sobre os objetos mais preferidos. Assim, o usuário poderá estabelecer suas preferências e fazer consultas do tipo: dentre as minhas viagens mais preferidas, liste aqueles destinos que mais se assemelham à essa foto. Ou ainda, dentre as imagens que mais se assemelham a essa foto, liste meus destinos preferidos. O SIREN possui um módulo de mineração de dados, através do qual obtém regras de associação para otimizar consultas. Acredita-se, num segundo momento, ser possível traduzir essas regras de associação em regras-pc, possibilitando a união entre as regras mineradas e aquelas fornecidas pelo usuário para melhor acurácia nos resultados. 4. Resultados Experimentais Os testes referentes à implementação da linguagem foram feitos utilizando o benchmark TPC- H 1, que possui um gerador de dados sintéticos e um conjunto de consultas SQL padrão 2. Tais consultas foram adaptadas com a inserção da cláusula ACCORDING TO PREFERENCES e remoção das funções de agregação (não suportadas pela atual implementação dos operadores). Na Figura 2 são apresentados alguns resultados de performance e escalabilidade. Os parâmetros default são: base de dados de 10MB, preferências com 6 regras, 8MB de buffer e consulta Q5 do TPC-H. Foram analisados os desempenhos das consultas CPref-SQL, que utilizam o operador Select-Best, em comparação com suas traduções em SQL recursivo. A Figura 2(a) mostra que a performance da consulta SQL decresce numa proporção bem maior à medida que o número de regras aumenta. Por exemplo, uma consulta CPref-SQL com 40 1 http://www.tpc.org/tpch 2 Ambiente de testes: PC 2.2GHz AMD Turion X2 Ultra Dual-Core, com 4GB de memória RAM, executando Linux. Foi utilizado o psql como front-end para o PostgreSQL 8.4.

regras é aproximadamente 4 vezes mais rápida. O mesmo comportamento pode ser observado durante a variação do tamanho da base (Figura 2(b)). Para um banco de dados de 100MB, a consulta em SQL recursivo demora 5 vezes mais que sua correspondente em CPref-SQL. Ao variar o parâmetro K em consultas com o operador SelectK-Best (Figura 2(c)) o algoritmo R- BNL necessita de um tempo extra para processar o nível das tuplas em relação ao BNL, daí a performance parak = 1 (Select-Best) ser melhor. Figura 2. Resultados de performance e escalabilidade 5. Considerações Finais O projeto está sendo conduzido de acordo com as etapas descritas a seguir. A tabela 1 apresenta o cronograma semestral das atividades até a defesa. No momento, a etapa 3 foi concluída e a etapa 4 está em execução. 1. Levantamento bibliográfico e seminários para entendimento do problema 2. Proposta da abordagem top-k em consultas-pc, desenvolvimento de algoritmos para os operadores Select-Best e SelectK-Best e implementação no SGBD 3. Realização de experimentos sobre o método implementado 4. Estágio no GbdI-ICMC/USP pelo projeto PROCAD para proposta e desenvolvimento de uma integração entre consultas por similaridade e preferências 5. Redação e submissão de um artigo para um periódico 6. Redação da dissertação 7. Conclusão do trabalho e defesa Etapas 1/2009 2/2009 1/2010 2/2010 1/2011 Etapas 1/2009 2/2009 1/2010 2/2010 1/2011 Etapa 1 Etapa 5 Etapa 2 Etapa 6 Etapa 3 Etapa 7 Etapa 4 Tabela 1. Cronograma de atividades para a execução do projeto Referências Barioni, M. C. N., Razente, H., Traina, A., and Traina, Jr., C. (2006). Siren: a similarity retrieval engine for complex data. In Proceedings of the 32nd international conference on Very large data bases, 1155 1158. Bartolini, I., Ciaccia, P., Oria, V., and Özsu, M. T. (2007). Flexible integration of multimedia sub-queries with qualitative preferences. Multimedia Tools Appl., 33:261 273. Borzsonyi, S., Kossmann, D., and Stocker, K. (2001). The skyline operator. In Proc. 17th International Conference on Data Engineering (ICDE 2001), Germany, 412 430. Chomicki, J. (2003). Preference formulas in relational queries. ACM Transactions on Database Systems, 427 466. de Amo, S. and Ribeiro, M. R. (2009). Cpref-sql: A query language supporting conditional preferences. In 24th Annual ACM Symposium on Applied Computing (ACM SAC), March 2009, Hawaii, USA., 1573 1577. Kießling, W. and Köstler, G. (2002). Preference sql - design, implementation, experiences. In VLDB, 990 1001. Papadias, D., Tao, Y., and Fu, G. (2005). Progressive skyline computation in database systems. TODS, 30:41 82. Wilson, N. (2004). Extending cp-nets with stronger conditional preference statements. In AAAI, 735 741.