La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Systèmes de Gestion des Bases de Données Chapitre 1 Professeur: Iluju Kiringa

Présentations similaires


Présentation au sujet: "Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Systèmes de Gestion des Bases de Données Chapitre 1 Professeur: Iluju Kiringa"— Transcription de la présentation:

1 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Systèmes de Gestion des Bases de Données Chapitre 1 Professeur: Iluju Kiringa kiringa@site.uottawa.ca kiringa@site.uottawa.ca http://www.site.uottawa.ca/~kiringa SITE 5072

2 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke2 Définition dun SGBD Une base de données est une très large collection de données intégrées. Les organisations font face à de larges quantités de données qui doivent être gérées efficacement. Bien d enterprises entreposent des GBs, voire des TBs de données Quelques applications scientifiques entreposent des PBs de données Modèle le monde réel des organisations / entreprises : Entités (p.ex., étudiants, cours, corps professoral et salle de cours) Relation (p.ex., Michel est enrôlé dans CSI3717; Iluju enseigne CSI3717, CSI3717 a lieu dans la salle LP154) Un système de gestion des bases de données (SGBD) est un ensemble de logiciels conçus pour stocker et gérer des bases de données.

3 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke3 Défauts des Systèmes de Fichiers Chaque application doit déplacer de large quantités de données entre la mémoire principale et la mémoire secondaire (doit donc soccuper p.ex. de la gestion des mémoires tampon, de laccès aux pages, etc.) Chaque application doit avoir une méthode didentification de toutes les données pour le cas où le mode dadressage sous-jacent ne suffit pas (p.ex., un adressage 32-bits ne permet pas daccéder directement à tous les enregistrements des données dépassant plus de 4GB.)

4 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke4 Défauts des Systèmes de Fichiers (Suite) Besoin dun code spécial pour différentes requêtes. Besoin de protection des données dinconsistances dues aux multiples usagers simultanés qui changent ces données. Besoin dassurer un sauvetage (« crash recovery ») consistant. Besoin de fournir plus de sécurité et de contrôle de laccès que le mécanisme de mots de passe offert par les systèmes dexploitation.

5 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke5 Pourquoi Utiliser un SGBD? Indépendance des données : une application ne voit pas les détails de la représentation et du stockage des données. accès efficient : utilisation de méthodes de stockage et daccès très sophistiquées et efficientes. Temps de développement dapplications réduit : les fonctionnalités dun SGBD nont pas besoin dêtre dédoublées.

6 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke6 Pourquoi Utiliser un SGBD? (Suite) Intégrité et sécurité des données : appliquer les contraintes dintégrité et un contrôle daccès. Administration uniforme de données : des utilisateurs expérimentés administrent les données utilisées par des utilisateurs inexpérimentés. accès concurrent, sauvetage ( « crash recovery » -- reprise des plantages) : un utilisateur accède aux données sans tenir compte des autres utilisateurs du système.

7 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke7 Pourquoi Etudier les SGBDs? Le volume des données et leur diversité saccroît énormément. Bibliothèques digitales, système de vidéo interactif, projet du génome humain, projet EOS, lexploration de Mars …... Les besoins pour des SGBDs explosent La gestion efficiente dune masse si diverse de données implique de la recherche sur beaucoup de problèmes fondamentaux ayant trait à linformatique. Les SGBDs comprennent la plupart des sujets de recherche en informatique. Génie logiciel, langues, théorie, IA, multimédia, logique, etc. ?

8 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke8 Modèles des Données Un modèle des données est une collection déléments de haut niveau servant à décrire les données. Un schéma est une description dune collection particulière de données utilisant un modèle précis des données. Une instance dun schéma est un ensemble de données organisées selon un schéma donné. Le modèle relationnel est le modèle le plus largement utilisé aujourdhui. Concept principal: instance relationnelle ( relation ), i.e. une table ayant des lignes et des colonnes. Chaque relation a un schéma relationnel ( schéma ) qui décrit le nom et les attributs de la dite relation.

9 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke9 Niveaux dAbstraction Les schémas de données sont décrits à 3 niveaux dabstractions: vues, schéma conceptuel et schéma physique. Les Vues (schémas externes) décrivent comment les utilisateurs voient les données. Un schéma conceptuel définit la structure logique. Un schéma physique décrit les fichiers et lindex à utiliser. * Les schémas sont définis en utilisant un langage de définition de données (DDL). schéma physique schéma conceptuel vue 1vue 2vue 3

10 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke10 Indépendance des Données * Les applications sont isolées de la manière dont les données sont structurées et stockées. Chaque niveau dabstraction est protégé des changements dans la structure du niveau inférieur. Indépendance logique : protection des changements dans la structure logique des données. Indépendance physique : protection des changements dans la structure physique des données. * Un des plus importants bénéfices de lutilisation dun SGBD

11 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke11 Exemple: Base de Données Universitaires schéma conceptuel: Students(sid: string, name: string, login: string, age: integer, gpa: real) Courses(cid: string, cname: string, credits: integer) Enrolled(sid: string, cid: string, grade: string) schéma physique: Relations stockées comme fichiers non triés. Index sur la première colonne de Students et Courses; index sur les deux premières colonnes de Enrolled, etc. schéma externe (Vue): Course_info(cid: string, enrollment: integer)

12 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke12 Requêtes Une requête est une question impliquant les données stockées. Quel est le nom du professeur qui enseigne CSI3717? Quel est le nombre total détudiants enrollés dans CSI3717? Quel est le pourcentage détudiants ayant eu un A+ dans CSI3717? Un langage de requêtes est langage spécialisé dans lequel des requêtes peuvent être posées sur une base de données. Les données sont modifiées /requises en utilisant un langage de manipulation des données (DML). Ainsi un langage de requêtes est un sous langage dun DML. Le modèle relationnel supporte 2 langages de requêtes: Calcul relationnel : langage de requêtes basé sur la logique Algèbre Relationnelle : basée sur un ensemble dopérateurs pour la manipulation des relations.

13 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke13 Contrôle dAccès Simultanés Lexécution simultanée des programmes dutilisation est essentiel pour une bonne performance des SGBDs. il est important de garder le cpu occupé en travaillant simultanément sur plusieurs programmes dutilisateurs. Lentrelacement des actions de différents utilisateurs peut conduire à des inconsistances (incohérences): p. ex. lors dun retrait dargent pendant que la balance du compte est calculée. Le SGBD garantit que des inconsistances narrivent pas: un utilisateur peut utiliser le système comme sil sagissait dun système à usager unique.

14 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke14 Transaction Une transaction est une séquence atomique dactions sur la base de données (reads/writes) correspondant à lexécution dun programme de transaction. Chaque transaction, exécutée complètement, doit laisser la BD dans un état consistant si la BD était consistante au début de la transaction. Les utilisateurs peuvent spécifier de simples contraintes dintégrité sur les données et le SGBD les appliquera. Au delà de cela, le SGBD ne comprend pas la sémantique des données. (p. ex. il ne comprend pas comment calculer la moyenne cumulée sur un compte détudiant). Doù, lutilisateur est en dernier ressort responsable du maintien de la consistance des données!

15 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke15 Planification des Transactions Simultannées Un SGBD garantit que lexécution de {T1,..., Tn} est équivalente à une exécution sérielle de T1,..., Tn. Avant de lire/écrire un objet, une transaction requiert un verrou sur cet objet et attend que le verrou soit libre. Tous les verrous sont relâchés à la fin de la transaction. (verrouillage 2PL strict.) Idée: Si une action de Ti (soit writes X ) affecte Tj (qui pourrait être entrain dexécuter un reads X ), un parmi les deux, soit Ti, doit obtenir un verrou sur X dabord et lautre,Tj, sera forcé dattendre jusqua ce que Ti finisse; ceci entraîne que les transactions seront effectivement ordonnées. Si p. ex. Tj a déjà un verrou sur Y et Ti requiert plutard un verrou sur Y, il y a dans ce cas un interblockage (deadlock)! Ti ou Tj est annullé et redémarré!

16 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke16 Garantie dAtomicité Un SGBD garantit l atomicité (propriété du « tout ou rien ») même en cas de crash (plantage) au milieu de la transaction. Idée: garder un journal ( log ) de toutes les actions exécutées par le SGBD lors de lexécution dun ensemble de transactions: Avant que un changement ne soit fait sur une BD, lentrée correspondante dans le log est forcément stockée à un endroit sûr ( protocole WAL ); les SOs noffrent souvent à ce sujet quun support inadéquat.) Après un changement, les effets de la transaction partiellement exécutée sont défaits en utilisant le log. (Grâce au WAL, si une entrée dans le log nétait pas sauvée avant le crash, le changement associé à cette entrée na donc pas été appliqué à la base de données!)

17 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke17 Le Log Les actions suivantes sont enregistrées dans le log: Ti écrit un objet : la vielle et la nouvelle valeurs sont enregistrées. Lenregistrement du log doit aller sur le disque avant la page qui a changé! commit/abort (validation/abandon) : un enregistrement indiquant une telle action est inscrite dans le log. Les enregistrements du log sont chaînés sur base des numéros didentification des transactions. De la sorte, il est facile de défaire une transaction donnée. Le log est souvent archivé sur un stockage stable. Toute activité relative au log (ainsi que toute autre activité relative au contrôle daccès simultané telle que verrouillage/déverrouillage, traitement des deadlocks, etc.) est traité de manière transparente par le SGBD.

18 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke18 Personnes Impliquées dans les BDs Utilisateur final: accède seulement à une interface du SGBD Vendeurs de SGBDs: IBM, Oracle, Informix, Microsoft, etc Chercheurs et programmeurs: inventent de nouvelles théories et algorithmes pour les SGBDs et en écrivent le code Programmeurs dapplications: écrivent des programmes C/C++/Java/… qui interagissent avec les SGBDs P.ex. Webmasters avancés, programmeurs dapplications Administrateur de base de données (DBA) Conçoit les schémas logiques /physiques Traite les questions de sécurité et dautorisation Assure la disponibilité des données (« crash recovery ») Adapte la base de données à lévolution des besoins Les DBAs doivent comprendre le fonctionnement dun SGBD !

19 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke19 Structure dun SGBD Un SGBD typique a une architecture à plusieurs couches (layers). Notez que les modules daccès simultanés et de crash recovery ne sont pas montrés. Ceci est un parmi plusieurs choix possibles darchitectures, chaque système ayant ses propres particularités. exécution et optimisation Des requêtes Operateurs relationels accès aux fichiers Gestion de tampons Gestion despace disque DB Ces couches doivent considérer Laccès simultané et Le crash recovery

20 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke20 Historique Début des années 60: GE conçoit le 1er SGBD à caractère général et basé sur le modèle réseau Fin des années 60s: IBM développe IMS qui est basé sur le modèle hiérarchique Début des années 70: E. Codd introduit le modèle relationnel pour résoudre les problèmes relatifs aux modèles précédents Fin des années 70 et début 80: travaux sur le traitement des transactions par Jim Gray et P. Bernstein

21 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke21 Historique (Suite) Années 80: Lutilisation des BDs relationnelles devient courante dans les grandes entreprises, arrivée de plusieurs vendeurs de SGBDs, standardisation de SQL, le langage de requêtes pour les BDs relationnelles, etc Fin 80 et début 90s: modèles de données plus riches (orienté-objet, object-relationnel, etc) et des langages de requêtes plus expressifs (Datalog, relations nichées, etc) sont introduits

22 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke22 Historique (Suite) Fin 90: les grands vendeurs étendent les SGBD relationnel avec de nouveaux types de données (images, texte, contenu multimédia, etc) ainsi que avec les requêtes basé sur ces nouveaux types Pendant toute lhistoire du développement des BDs: Reconnaissance scientifique: Turing Awards aux chercheurs en BDs C. Bachman, E. Codd, et J. Gray Naissance dune large industrie de plusieurs milliards de dollars

23 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke23 Résumé Un SGBD est utilisé pour maintenir et poser des requêtes à de larges collections de données. Les bénéfices comprennent le recouvrement du crash, laccès simultané, développement rapide des applications, intégrité des données et sécurité. Les niveaux dabstraction entraînent lindépendance des données.

24 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke24 Résumé (Suite) Un SGBD a généralement une architecture à niveaux. Les chercheurs en BDs, les programmeurs et les administrateurs ont des jobs de grande responsabilité et sont bien payés ! La recherche et le développement en SGBDs est un domaine large et excitant au sein de linformatique; le Canada y joue un rôle clé (3 conférences VLDB !). Les BDs sont une industrie de plusieurs milliards de $$ !


Télécharger ppt "Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Systèmes de Gestion des Bases de Données Chapitre 1 Professeur: Iluju Kiringa"

Présentations similaires


Annonces Google