Bases de données avancées Données en flux et requêtes continues

Documents pareils
Bases de données avancées Introduction

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Les bases de données

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

1 Introduction et installation

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Bases de données et sites WEB

Architectures d'intégration de données

Présentation du module Base de données spatio-temporelles

Compétences Business Objects

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Administration des bases de données. Jean-Yves Antoine

Masses de données. 1. Introduction 2. Problématiques 3. Socle de formation (non présenté) 4. Liens avec Formation INSA

CESI Bases de données

Bases de données Outils de gestion

Le langage SQL Rappels

Langage SQL : créer et interroger une base

Plan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation

CHAPITRE 1 ARCHITECTURE

Bases de données relationnelles

Introduction aux Bases de Données

Information utiles. webpage : Google+ : digiusto/

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Diplôme de Comptabilité et de Gestion. D é c r e t N d u 2 2 d é c e m b r e A r r ê t é d u 8 m a r s

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SQL Serveur Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

A QUOI SERVENT LES BASES DE DONNÉES?

SQL Server et Active Directory

Les Utilisateurs dans SharePoint

SQL Historique

TP Bases de données réparties

Le Langage SQL version Oracle

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Easy to. report. Connexion. Transformation. Stockage. Construction. Exploitation. Diffusion

Intégrité des données

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

Encryptions, compression et partitionnement des données

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

Dossier I Découverte de Base d Open Office

Systèmes de Gestion de Bases de Données

Session S12 Les bases de l optimisation SQL avec DB2 for i

Bases de Données OLAP

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

SQL MAP. Etude d un logiciel SQL Injection

Introduction au Système de Gestion de Base de Données et aux Base de Données

Business Intelligence simple et efficace avec Excel et PowerPivot

Bases de Données relationnelles et leurs systèmes de Gestion

BI2 : Un profil UML pour les Indicateurs Décisionnels

Les bases de l optimisation SQL avec DB2 for i

Introduction aux SGBDR

Bases de données - Modèle relationnel

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Partie II Cours 3 (suite) : Sécurité de bases de données

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Notes de cours : bases de données distribuées et repliquées

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

Arian Papillon

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Mercredi 15 Janvier 2014

OpenPaaS Le réseau social d'entreprise

Bases de SQL. Hacks 1-6 CHAPITRE UN

MyReport, LE REPORTING SOUS EXCEL

La présente publication est protégée par les droits d auteur. Tous droits réservés.

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Cours Base de données relationnelles. M. Boughanem, IUP STRI

MODE OPERATOIRE OPENOFFICE BASE

Oracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK

Bases de données Cours 1 : Généralités sur les bases de données

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

2014/2015. Rapport 4 REALISE PAR : ISMAIL NAIT ABDELLAH OUALI SOUFIANE HOURRI MOHAMED OUSSAFI ENCADRE PAR : MME L.LAMRINI ANOUAR OUFQIR SMARTSIR

Bases de données multidimensionnelles et mise en œuvre dans Oracle

Évolution de schémas dans les entrepôts de données mise à jour de hiérarchies de dimension pour la personnalisation des analyses

Bases de données cours 1

Le langage SQL (première partie) c Olivier Caron

2 Serveurs OLAP et introduction au Data Mining

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

La Business Intelligence en toute simplicité :

Pascale Borla-Salamet Consultante Avant Vente Oracle France. Oracle Exadata Performance et Optimisation de votre Datawarehouse

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

OLAP : Mondrian + Pentaho. Maguelonne Teisseire Hugo Alatrista Salas hugo.alatrista- salas@teledetec9on.fr Flavien Bouillot

Master Exploration Informatique des données DataWareHouse

Thierry Déléris. BMC Mainview Data Server Synthèse & Mise en œuvre

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Cours Bases de données 2ème année IUT

CAHIER DES CHARGES D IMPLANTATION

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Bases de données relationnelles : Introduction

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

2011 Hakim Benameurlaine 1

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

Transcription:

Bases de données avancées Données en flux et requêtes continues Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA BD pour flux de données Flux de données Données qui arrivent en flux, ordonnées avec des estampilles temporelles Exemples: cotations boursières, dépêches d'agences de presse, données en provenance de capteurs (position, température, ), flux RSS, etc. Qu'est-ce qui change par rapport au BD classiques? On peut voir chaque donnée comme une ligne dans une table relationnelle Nouvelle donnée (article): insertion dans la table mais On ne peut pas tout stocker On a envie de réagir sur l'arrivée d'un nouvel article Le temps joue un rôle particulier Au niveau des données: estampille temporelle, ordre Au niveau de l événement «nouvelle donnée» Cours BDA (UCP/M1) : Données en flux et requêtes continues 2

Pourquoi utiliser des flux? Volume des données Impossibilité de tout stocker Big Data Production fréquente de nouveau contenu Réaction sur l arrivée de nouvelles données Réduction du délai entre production et utilisation de contenu Production «naturelle» de données en flux Capteurs, cotations, dépêches, Applications de surveillance, alerte, veille Accélération des traitements Traitement continu, à la volée, de type filtrage Réduit le besoin d accéder à des données sur disque Cours BDA (UCP/M1) : Données en flux et requêtes continues 3 Approches dans le traitement des flux Deux extrêmes Traitement avec stockage Chaque article arrivé est stocké Requêtes sur les données stockées Traitement continu Pas de stockage Requêtes continues flux Système de gestion de flux BD requêtes réponses On peut imaginer diverses solutions intermédiaires entre les deux approches Traitement avec stockage activé par l arrivée de nouvelles données Ex. Exécuter une requête toutes les N arrivées de données Traitement continu mais accédant à des données stockées Ex. Filtrer la donnée arrivée selon un critère utilisant des données stockées Cours BDA (UCP/M1) : Données en flux et requêtes continues 4

Requêtes continues Requêtes classiques: données + requêtes à différents moments Le calcul se fait au moment de la requête sur les données courantes Requêtes continues: requête + données à différents moments Le calcul se fait à chaque fois qu'une donnée arrive Particularités des requêtes continues Nombre indéterminé de résultats On n'a pas accès à toutes les données Donnée courante + éventuellement quelques données passées mémorisées Résultats produits seulement sur des événements d'entrée (arrivée d'une donnée) Requêtes généralement moins complexes que les requêtes classiques Requête continue = souscription Résultat = notification Cours BDA (UCP/M1) : Données en flux et requêtes continues 5 Fenêtres sur flux Fenêtre = sous-séquence finie d'articles d'un flux Préserve l'ordre d'arrivée des articles Inhérentes aux traitement des flux Stockage: on stocke en fait des fenêtres (les flux sont infinis) Continu: nécessaires pour des opérations de jointure entre flux Opérations spécifiques aux flux: agrégation sur fenêtres Ex. La moyenne des cotations des 10 derniers jours Types de fenêtres Glissantes: déterminées par le moment courant Sur le temps: les articles des N derniers jours Sur le nombre: les N derniers articles Sur condition: déterminées par des conditions de début/fin Ex. début: cotation baisse en dessous de 40 euros, fin: fin de la journée Cas particulier: «tumbling windows», qui partitionnent le temps de façon régulière (chaque jour, mois, ) Cours BDA (UCP/M1) : Données en flux et requêtes continues 6

Traitement des flux dans les BD relationnelles Peu de support standardisé pour le traitement des flux Approche de type stockage Pas de requêtes continues Événement d'arrivée: gestion par triggers ou par programme Seul support explicite: notion de fenêtre dans SQL:1999 En pratique: systèmes spécifiques, dédiés au traitement de flux, construits parfois au-dessus de BD relationnelles Oracle Oracle CEP (Complex Event Processing): ex- WebLogic Event Server Utilise le langage CQL (Stanford) pour décrire les traitements sur flux Plus récemment: PipelineDB Clauses SQL spécifiques au traitement en flux Cours BDA (UCP/M1) : Données en flux et requêtes continues 7 Clause WINDOW Introduite en SQL:1999, permet d'exprimer des requêtes sur des données stockées provenant d'un flux Permet l'agrégation sur des fenêtres de type flux Plutôt vue comme une extension pour les entrepôts de données que pour le traitement des flux Syntaxe window nom-fenêtre as ( partition by attributs-partition order by attributs-ordre range rows intervalle ) Idée: pour chaque ligne de la table on définit une fenêtre de lignes Situées toutes dans la même partition Dans l'ordre spécifié (selon le temps pour un flux) De taille donnée par l'intervalle précisé Cours BDA (UCP/M1) : Données en flux et requêtes continues 8

Syntaxe de la clause WINDOW Partition by : découpage de la table en partitions Similaire à group by, mais pas dans le même but group byun résultat par groupe, partition by un résultat par ligne! Rôle du partition by: définir des "types" de lignes une fenêtre contient des lignes d'une seule partition (d'un seul type) Absence partition byune seule partition (toute la table) Order by : ordonnancement des lignes dans la fenêtre Range/Row between: largeur de la fenêtre Range: largeur exprimée par un intervalle de valeurs de l'attribut d'ordonnancement avant et après la ligne courante Ex. range between interval '8' day preceding and interval '3' day following range interval '6' day preceding Row: largeur exprimée par un nombre de lignes avant et après Ex. rows between 5 preceding and 5 following rows 7 preceding Cours BDA (UCP/M1) : Données en flux et requêtes continues 9 Exemple Table Cotation(Csoc, Cdate, Cval) Une cotation en bourse par jour pour différentes sociétés Pour chaque société et chaque date, la moyenne glissante sur le dernier mois de la cotation de cette société select Csoc, Cdate, avg(cval) over w from Cotation window w as ( partition by Csoc order by Cdate range interval '1' month preceding ) Cours BDA (UCP/M1) : Données en flux et requêtes continues 10

Oracle CQL Oracle CEP (complex event processing) Description d un réseau de traitement d événements (EPN) Les fonctionnalités de traitement de flux décrites en langage CQL Langage CQL (continuous query language) Deux types de collections: flux et relations Basé sur la transformation de flux en relations et vice-versa Opérateurs: Relation-à-relation: opérateurs relationnels traditionnels Flux-à-relation: fenêtrage (window) Ex. F [Range T], F [Rows N], F [Partition by A 1 A k Rows N] Pourquoi? le filtrage se fait sur des relations Relation-à-flux: mises-à-jour d une relation flux IStream(R): flux des insertions dans R DStream(R): flux des suppressions dans R RStream(R): flux des lignes existantes dans R Flux-à-flux: opérateur MATCH_RECOGNIZE de détection de motif Produit un flux: une donnée à chaque nouvelle détection de motif Motifs de type expression régulière sur les séquence d articles + conditions Ex. La cotation dépasse 24$, après plusieurs cotations entre 23-24$ successives à une > 24$ Cours BDA (UCP/M1) : Données en flux et requêtes continues 11 Exemples CQL Flux Fcotation(Csoc, Cdate, Cval) select * from Fcotation where Cval > 24 produit un flux avec seulement les cotations de plus de 24$ select * from Fcotation [range 10 days] where Csoc = 'IBM' produit une relation avec les cotations d IBM des 10 derniers jours Dstream( select * from Fcotation [range 10 days]) produit le flux Fcotation retardé de 10 jours Cours BDA (UCP/M1) : Données en flux et requêtes continues 12

PipelineDB SGBD open source qui étend PostgreSQL Relations et flux Basé sur la notion de «vue continue» sur flux Modifications par «transformations continues» sur des vues continues Exemples create continuous view avgcotation select Csoc, avg(cval) from Fcotation group by Csoc Maintient pour chaque société la moyenne de ses cotations create continuous view avgcotation with (sw = '10 days') select Csoc, avg(cval) from Fcotation group by Csoc Maintient pour chaque société la moyenne de ses cotations des 10 derniers jours Cours BDA (UCP/M1) : Données en flux et requêtes continues 13 Exemple de système avec traitement continu RoSeS Système d agrégation de flux d information (texte) sur le web Traitement continu sans stockage Cours BDA (UCP/M1) : Données en flux et requêtes continues 14

Architecture RoSeS Acquisition Sources System Manager Evaluation & Optimization Query Graph Items to evaluate Catalog Interface Publica tions Items to publish Dissemination Subscrip tions Cours BDA (UCP/M1) : Données en flux et requêtes continues 15 Langage de requêtes register feed Définit des noms internes pour les flux Source ex: register feed http://feeds.nytimes.com/nyt/rss/homepage as nytimes create feed Crée de nouveaux flux (Publications) 4 opérateurs: union, sélection, jointure et fenêtrage ex: create feed englishnews from nytimes cnn telegraph nytimes cnn telegraph englishnews subscribe to Définit une Souscription à une publication, un mode de notification (rss, mail, sms) et une fréquence de notification ex: subscribe to englishnews output mail Jordi.Creus@lip6.fr every 12 hours Cours BDA (UCP/M1) : Données en flux et requêtes continues 16

Exemples create feed newsofsyria from nytimes cnn telegraph where title contains syria or title contains assad create feed messifeed from (eurosport as $e fcbarcelonablog) as $u facebookmessi where $e[author <> diego ] and $u[title contains messi ] eurosport fcbarcelonablog facebookmessi nytimes cnn telegraph σ title contains syria title contains assad newsofsyria σ author diego σ title contains messi messifeed Cours BDA (UCP/M1) : Données en flux et requêtes continues 17 Exemples create feed mymovies from allocine as $a join last 3 weeks on myfriendstweets with $a[title similar window.title] where $a[description not contains julia roberts ] allocine myfriendstweets σ description contains julia roberts ω last 3 weeks title ~ window.title mymovies Cours BDA (UCP/M1) : Données en flux et requêtes continues 18