TECHNIQUES DES SGBDO 1. Qu'est-ce qu'un SGBDO ?

Slides:



Advertisements
Présentations similaires
Chap. 4 Recherche en Table
Advertisements

Systèmes de Gestion de Bases de Données Orientés Objet
Le developpement web  Préparé par : ASSAL Lamiae JAMALI Zakarya
Applications et Techniques
Fonctionnalités des SGBD
Witold Litwin Structures physiques Witold Litwin
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
TP 3-4 BD21.
Bases de données orientées-objets
Optimisation de Requêtes
Gestion de la persistance des objets
Bases de données orientées-objets
Bases de données orientées-objets
Oracle Orienté Objet Amanda Evans Mai 2000.
TECHNIQUES DES SGBDO 1. Qu'est-ce qu'un SGBDO ?
BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Configuration de Windows Server 2008 Active Directory
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Développement d’applications web
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Contrôles d'accès aux données
Serveurs Partagés Oracle
Principes de persistance dans les applications orienté objet
COURS Bases de données orientées objet
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
Configuration de Windows Server 2008 Active Directory
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
L’utilisation des bases de données
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
SYSTEMES D’INFORMATION
SSO : Single Sign On.
Cours Bases de données Nguyen Tuan Loc.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Initiation aux bases de données et à la programmation événementielle
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Chapitre 3 Les bibliothèques de balises JSP et la JSTL
Copyright Serge Miranda
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
SGBD orientés Objet Standards : OMG et ODMG.
Introduction.
BD Relationnelles versus BD Objets Fariza Tahi
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Outil de gestion des cartes grises
Module 8 : Surveillance des performances de SQL Server
Présentation Session RPSI
Algorithmique et programmation (1)‏
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Créer des packages.
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
Optimisation de requêtes
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
1 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel.
D. E ZEGOUR Institut National d ’Informatique
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
Module 3 : Création d'un domaine Windows 2000
1 J. PHILIPP d'après G. Gardarin SGBDR : la gestion des vues l 1. Contexte l 2. Vues externes l 3. Interrogation des vues l 4. Mises à jour des vues l.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Initiation aux SGBD Frédéric Gava (MCF)
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Module 2 : Planification de l'installation de SQL Server
La gestion des bases de données
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Séance /10/2004 SGBD - Approches & Principes.
Introduction Module 1.
Introduction SGDBOO Sommaire Définition d’un SGBD (6 services)
Transcription de la présentation:

TECHNIQUES DES SGBDO 1. Qu'est-ce qu'un SGBDO ? 2. Architectures des SGBDO 3. Persistance des objets 4. Langages de requêtes 5.Optimisation des requêtes

Rappel modèle objet Objet Identifiant Classe Attributs Opérations Héritage Objets complexes (collections) Polymorphisme

1. Qu'est-ce-qu'un SGBDO ? The Object-Oriented Database System Manifesto Atkinson, Bancilhon, Dewitt, Ditrich, Maier, Zdonick ( DOOD'89) Fonctionnalités BD obligatoires : la persistance la concurrence la fiabilité la facilité d'interrogation Fonctionnalités BD optionnelles : la distribution les modèles de transaction évolués les versions

Fonctionnalités objets Fonctionnalités objets obligatoires : les objets atomiques et complexes l'identité d'objets l'héritage simple le polymorphisme (surcharge) Fonctionnalités objets optionnelles : l'héritage multiple les messages d'exception

2. ARCHITECTURES Architecture fonctionnelle type : • Editeur de classes • Manipulateur d’objets • Bibliothèques graphiques • Débogueur, éditeur Outils Interactifs LOO Persist. OQL ODL OQL = Object Query Language ODL = Object Defintion Language LOO = Langage Orienté Objet • Persistance • Concurrence • Identification • Fiabilité • Accès • Sécurité Gérant d'objets

Architecture opérationnelle Problèmes : comment distribuer les fonctions du SGBDO ? quel protocole de communication utiliser ? quelle organisation en processus et tâches répartis ? Constatation environnement de stations en réseau très fréquent puissance croissante des postes de travail le débit réseau n'est plus un goulot (100 Mbit/sec.) Conclusion puissance de traitement importante au niveau des clients une grande partie des fonctions peut résider à ce niveau

Serveur d'objets Application Cache objets Verrous Recherche Fichiers et index Cache pages

Serveur de pages Application Objets actifs Recherche Verrous et journaux Fichiers et index pages Cache pages Cache pages

Serveur de méthodes Application Remote Object Call Objets actifs Répartiteur de Répartiteur de Messages ORB Messages Gestion d'objets Gestion d'objets Cache pages Cache pages

Comparaisons Points forts Points faibles Serveur • méthodes sur client ou serveur • serveur centralisé d'objets • concurrence niveau objet • duplication de fonctions Serveur • distribution de pages possible • méthodes sur le serveur imposs. de pages • serveur plus simple • concurrence niv. objet difficile • hétérogénéité difficile Serveur • méthodes sur client ou serveur • performances pour petits objets de • transfert de messages standards • peu bases de données méthodes • système uniforme et extensible • Corba et service BD ?

3. PERSISTANCE DES OBJETS Objectifs faire persister les objets du LOO sans les démonter assurer le plus possible la transparence pour le programmeur garder des performances proches du travail en mémoire récupérer les emplacements des objets détruits Moyens gérant d'objets persistants assurant concurrence et fiabilité identifiant d'objets permettant de retrouver les objets en 1 ou 2 accès ramasse-miettes périodique

La Persistance par héritage Classe racine de persistance PObject tout objet d'une sous-classe hérite des propriétés de persistance New, Delete et Envoi de message sont surchargés une primitive Lookup est ajoutée pour les recherches Non orthogonale au type seuls les types héritants de PObject persistent nécessité de dupliquer les classes persistantes et transiantes possibilité de marquer la persistance pour éviter la duplication (attribut booléen Persistant) Pobject New Delete Lookup --> PPerson Nom Prenom …

La Persistance par référence Définition par le programmeur de racines de persistance Mot clé "persistant" ou "db" ajouté aux déclarations exemples: Employe* emp = new persistant Employe("Toto"); persistant int x; un objet racine de persistance est catalogué accessible par lookup Tout objet référencé par un objet persistant est persistant les références sont rendues persistantes : lors de l'écriture d'un objet les références sont remplacés par des oid Catalogue toto x voiture moteur

Translation des pointeurs Les adresses mémoires doivent être translatées en adresses BD (oid) lors des écritures et vice versa VoitureToto Peugeot Toto Véhicule* Mémoire Toto Véhicule* Pointeur invalide Disque

Approche double pointeur Tout pointeur sur un objet persistant est remplacé par un double pointeur En écriture si Ad BD inconnue ALORS { Ad BD = AllouerBD(Objet) ; Ecrire (Ad BD, Objet) } ; En lecture si Ad MC inconnue ALORS {Ad MC = AllouerMC(Ad BD); Lire(AdMC, Ad BD) } ; Inconvénients objets persistants versus objets transients (doubles pointeurs) lecture des objets pointés faiblesse des performances Ad MC Ad BD

Approche mémoire virtuelle (1) Ecriture des objets sans modification Pointeurs disques = adresse mémoire virtuelle Sauvegarde des pages dans des partitions BD images de la mémoire Pré-allocation des objets en mémoire virtuelle Lorsqu'un objet est retrouvé, des pages inaccessibles sont allouées pour tous les objets référencés. L'objet est chargé lors du premier accès par récupération de la violation mémoire virtuelle. Cette technique a été brevetée par ODI

Approche mémoire virtuelle (2) Page Manquante 2**32 Mémoire Virtuelle Client 1 Accès 2 Violation OBJECT-STORE Tout pointeur est une adresse mémoire virtuelle client/serveur 4 Retour Page 3 Accès Serveur Image Disque

4. LANGAGES DE REQUETES Véhicule - numéro - couleur - fabriquant Groupe - nom - ville - président Employé - nss - nom - date naissance - age() Numéro des véhicules de couleur rouge dont le fabriquant a son siège à Paris et un président de moins de 50 ans ?

Langage navigationnel Parcours un objet à la fois via les pointeurs véhicule* v, groupe* g, personne* p; for each v in vehicule { if v->couleur == “Rouge” then { g = v->fabriquant; if g->ville == "Paris" then { p = g->president; if p->age() < 50 then cout << v.numéro; } ; } ; };

Les SQL Objets Extension ou Variation de SQL (adapté aux objets) parcours de chemin : Voiture.fabriquant.président => Personne exécution de méthodes : voiture. démarrer() prise en compte de l'héritage présentation des résultats : ensemble ou classe parcours des collections Problème de compatibilité avec la norme SQL travaux de l'ODMG (ODL et OQL 93/96) normalisation de SQL3 prévue pour 1999

Principaux SQL objets FSQL HP IRIS OPEN-DB OSQL MCC ORION XSQL UNISQL UNISQL SQL3 ISO Norme ? ISQL C.A. INGRES O-SQL ORACLE ORACLE VSQL VERSANT VERSANT O2SQL O2 O2 ESQL INRIA-BULL DBS3 OQL ODMG Norme objet ?

5. OPTIMISATION DE REQUETES Objectif de l’optimisation : Élaborer un plan optimisé Permettre le partage et la réutilisation de plans Importance de l’optimisation peut diviser les temps d’exécution de requêtes par des facteurs 1000 ou plus ! très nécessaire pour des objets complexes et volumineux Principes de base extension des techniques relationnelles utilisation d’une forme interne généralement basée sur une algèbre d’objets

Architecture type d'un SGBD SYNTAXE SEMANTIQUE SCHEMA VUES INTEGRITE AUTORISATIONS ORDONNANCEMENT ELABORATION D'UN PLAN Le plan est exécuté directement (interprété) ou stocké et exécuté plus tard (compilé) EXECUTION METHODES D'ACCES ANALYSEUR Forme interne de la question CONTROLEUR OPTIMISEUR METABASE Plan d’exécution GENERATEUR Code à exécuter EXECUTEUR Résultat de la question

Problèmes de l'optimisation objet Support des méthodes évaluation du coût évaluation des résultats Jointures par références possibilité de jointures n-aires traversée des chemins en profondeur, en largeur, … Structures complexes parcours de collection application de prédicats Utilisation d’index et placement prise en compte du placement des objets utilisation d’index de chemin

6. Conclusion Des techniques multiples bien maîtrisées : architecture client-serveur persistance des objets langages de requêtes optimisation de requêtes concurrence et fiabilité Quel standard pour demain ? absence de standards reconnu effort de normalisation (ODMG, SQL3) intégration plus ou moins complètes du relationnel