Roses : Un moteur de requêtes continues pour l’aggrégation de flux RSS à large échelle
Institution:
Paris 6Disciplines:
Directors:
Abstract EN:
Les flux RSS et Atom sont souvent des inconnus du grand public, néanmoins ils sont présents partout sur le web. Aujourd’hui, tous les sites d’actualités publient des milliers de fils RSS/Atom, normalement organisés par des thématiques (politique, économie, sports, société. . . ). Chaque blog possède son propre fil RSS, en outre, des sites de micro-blogage comme Twitter ou même les réseaux sociaux comme Facebook fournissent un fil RSS pour chaque utilisateur ou trending topic. Cette immense quantité de sources de données continues sont principalement utilisées par des agrégateurs de fils, soit en ligne (Google Reader), soit en local (Firefox, Thunderbird), mais également par des applications mash-up (comme Yahoo! pipes, Netvibes ou Google News). Nous pourrions voir l’ensemble des fils RSS et Atom comme un grand flux de données textuelles structurées, dont le potentiel est toutefois peu exploité encore. Dans cette thèse, nous présentons ROSES –Really Open Simple and Efficient Syndication–, un modèle de données et un langage de requêtes continues pour des flux RSS/Atom. ROSES permet aux utilisateurs de créer des nouveaux flux personnalisés à partir des flux existants sur le web à travers d’un simple, mais complet, langage de requêtes déclaratif et algèbre. ROSES c’est aussi un système capable de gérer et traiter des milliers de requêtes d’agrégation ROSES en parallèle, un des principaux objectifs du moteur de requêtes étant le passage à l’échelle par rapport au nombre de requêtes. En particulier, il implémente une nouvelle approche d’optimisation multirequête basée sur la factorisation des filtres similaires. Nous proposons deux algorithmes de factorisation: (I) STA, une adaptation d’un algorithme d’approximation pour calculer des arbres de Steiner minimaux [CCC+98a], et (ii) VCA, un algorithme glouton qui améliore le coût CPU d’optimisation du précédant. Nous avons validé notre approche d’optimisation avec un important nombre de tests sur des données réelles.
Abstract FR:
RSS and Atom are generally less known than the HTML web format, but they are omnipresent in many modern web applications for publishing highly dynamic web contents. Nowadays, news sites publish thousands of RSS/Atom feeds, often organized into general topics like politics, economy, sports, culture, etc. Weblog and microblogging systems like Twitter use the RSS publication format, and even more general social media like Facebook produce an RSS feed for every user and trending topic. This vast number of continuous data-sources can be accessed by using general-purpose feed aggregator applications like Google Reader, desktop clients like Firefox or Thunderbird and by RSS mash-up applications like Yahoo! pipes, Netvibes or Google News. Today, RSS and Atom feeds represent a huge stream of structured text data which potential is still not fully exploited. In this thesis, we first present ROSES –Really Open Simple and Efficient Syndication–, a data model and continuous query language for RSS/Atom feeds. ROSES allows users to create new personalized feeds from existing real-world feeds through a simple, yet complete, declarative query language and algebra. The ROSES algebra has been implemented in a complete scalable prototype system capable of handling and processing ROSES feed aggregation queries. The query engine has been designed in order to scale in terms of the number of queries. In particular, it implements a new cost-based multi-query optimization approach based on query normalization and shared filter factorization. We propose two different factorization algorithms: (i) STA, an adaption of an existing approximate algorithm for finding minimal directed Steiner trees [CCC+98a], and (ii) VCA, a greedy approximation algorithm based on efficient heuristics outperforming the previous one with respect to optimization cost. Our optimization approach has been validated by extensive experimental evaluation on real world data collections.