Bases de données Open Source Pierre Crépieux 13/03/2008.

Slides:



Advertisements
Présentations similaires
Introduction aux réseaux informatiques
Advertisements

Une solution personnalisable et extensible
Fonctionnalités des SGBD
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
Design Pattern MVC En PHP5.
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
Logiciel de base de données
Initiation aux bases de données et à la programmation événementielle
Base de données: Généralité
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
SECURITE DU SYSTEME D’INFORMATION (SSI)
Contrôles d'accès aux données
L’utilisation des bases de données
PostGIS – Création d'une base spatiale
JDBC ou comment manipuler une base de données en Java ?
Le Travail Collaboratif ...
L’utilisation des bases de données
Gestion des bases de données
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
Intégration ActiveXML - Xyleme
Base de données: Généralités IFT6800 – E 2008 Pierre Poulin.
Les concepts et les méthodes des bases de données
Journée d´étude SPIP : Niveau 1 Campus Numérique Francophone de Cotonou Simon F. Adjatan.
Initiation aux bases de données et à la programmation événementielle
Les transactions.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
1. Représentation des informations
PHP & My SQL.
SQL Partie 1.
UNIX™ est le nom d'un système d'exploitation multitâche et multi-utilisateur créé en 1969, à usage principalement professionnel. Il a donné naissance à.
BD Relationnelles versus BD Objets Fariza Tahi
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
Présentation Session RPSI
Systèmes de gestion de bases de données NFP 107 Introduction à la concurrence d’accès Second fragment Philippe Rigaux
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Bases de données Open Source Pierre Crépieux 13/03/2008.
Créer des packages.
Surveiller et résoudre le conflit de verrouillage
PHP & MySQL Master1 ICD Claire Jacquot Emilie Hot le 24/10/2006.
 Requêtes MySQL en PHP Introduction
Ait Ahmed Madjid Cohen Lior Jaballah Seddik Leborgne Fabien
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
PostgreSQL – Présentation
Structure de stockage et relations
PDF Un format universel?.
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
Gestion d’accès aux centrales nucléaires françaises
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Module 1 : Vue d'ensemble de Microsoft SQL Server
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Module 7 : Restauration de bases de données
Initiation aux SGBD Frédéric Gava (MCF)
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
Le Langage SQL Introduction
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.
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Les bases de données Séance 8 Jointures.
Séance /10/2004 SGBD - Approches & Principes.
Développement à base de Logiciels Libres Chapitre 2 : Législations logiciels libres 2012 Institut Supérieur d’Informatique ISI.
Introduction aux Bases de Données et au langage SQL
Initiation aux bases de données et à la programmation événementielle
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
Introduction Module 1.
Analyse, élaboration et exploitation d’une Base de Données
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Transcription de la présentation:

Bases de données Open Source Pierre Crépieux 13/03/2008

2 Groupe France Télécom Plan Généralités sur les bases de données relationnelles A quoi serrent elles ? Pourquoi un modèle relationnel ? L'Open Source Qu'est ce que c'est ? Pourquoi utiliser une base de données Open Source Les bases de données Open source PostgreSQL MySQL … Conclusion

3 Groupe France Télécom Généralités sur les bases de données relationnelles

4 Groupe France Télécom Généralités Base de données Une base de données est un ensemble structuré d'informations. Système de Gestion de Base de Données Un système de gestion de base de données est un ensemble d'outils permettant : La mise a jour des données (ajout, suppression, modification), La consultation des données, La maintenance des données, dans un environnement généralement "Multi-Utilisateurs"

5 Groupe France Télécom Généralités Les bases de données font l'objet d'un grand intérêt depuis les années 60. Le premier système de BD a été conçu pour la gestion des données du projet Apollo de la NASA (1961) Il se basait sur un modèle hiérarchique. Le modèle hiérarchique n'étant pas exempt de limitations, d'autres travaux ont mené à définir un modèle en réseau [Codasyl71]. En 1970, un article de E. F. Codd pose les bases du modèle relationnel [Codd70]

6 Groupe France Télécom Généralités Juin 1970, « A Relational Model of Data for Large Shared Data Banks" : L'article de E. F. Codd pose les fondements du modèle relationnel. Edgar Franck Utiliser la théorie ensembliste ainsi que la logique du premier ordre pour mettre au point un système de gestion de base de données. 2 principaux objectifs maximiser l'indépendance vis-à-vis de la représentation interne des données (même la définition de la base de données est conservée par le biais de relations) adresser la cohérence des données

7 Groupe France Télécom Généralités Le premier système relationnel a été développé dans les années 70 (System/R). – Afin de manipuler les données qui y étaient stockées le language SEQUEL a été mis au point. SEQUEL=Structured English Query Language Ce langage est ensuite devenu le Structured Query Language: SQL SQL a été adopté comme recommandation par l'institut de normalisation américaine (ANSI) en 1986, puis comme norme internationale par l'ISO en 1987 sous le nom de ISO/CEI Technologies de l'information - Langages de base de données - SQL.ANSI1986ISO1987

8 Groupe France Télécom Généralités Les propriétés ACID sont quatre propriétés essentielles d'un sous-système de traitement de transactions d'un système de gestion de base de données. Le mot ACID est un acronyme référant aux propriétés suivantes : système de gestion de base de données Atomicité : une transaction doit soit être complètement validée ou complètement annulée.transaction Cohérence : aucune transaction ne peut sortir de la base de données dans un état incohérent.transaction Isolation : une transaction ne peut voir aucune autre transaction en cours d'exécution.transaction Durabilité : une probabilité suffisante que la base de données ne perdra aucune transaction validée.transaction Elle sont décrites dans la norme ISO/IEC ISO

9 Groupe France Télécom Théorie Table = Relation Contrairement à ce que l'on peut parfois imaginer, le terme relationnel ne vient pas du fait que l'on peut mettre en relation plusieurs tables. ex : select * from personnes, immatriculations where personnes.id = immatriculations.personne_id Soit les ensembles E 1, E 2 et E 3, la relation R est un sous ensemble du produit cartésien E 1 X E 2 X E 3. Dans ce cas R est une relation ternaire constituée de triplets. (e1,e2,e3 ) є R

10 Groupe France Télécom Théorie L'algèbre relationnel est aux relations ce que l'arithmétique est aux entiers. Cas des immatriculations: Plaque| Marque| Propriétaire XTC-157| Opel Vectra| Paul Lenoir WTD-324| Citroen| Paul Lenoir CRT-143| Mitsubishi| Elodie Detor RTE-666| Mercedes| RobVilain L'ensemble des véhicule que possède Paul Lenoir est donné par: { (v1,v2):(v1,v2,Pol Lenoir) є R}

11 Groupe France Télécom Open Source

12 Groupe France Télécom Open source 10 critères: – Libre redistribution, – Disponibilité du code source, – Autorisation de faire des modifications et travaux dérivés, – Intégrité du code source de l'auteur, – Pas de discrimination envers des personnes, – Pas de discrimination sur l'usage, – Distribution de la licence, – Licence non spécifique à un produit, – Licence non restrictive vis-à-vis d'autres logiciels, – Licence technologiquement neutre.

13 Groupe France Télécom Free Software 4 libertés: – Liberté d'utiliser un programme quelque soit l'usage (freedom 0). – Liberté d'étudier le fonctionnement d'un programme et de l'adapter à ses besoins. (freedom 1). L'accès au code source est une précondition. – Liberté de redistribuer le logiciel pour aider son prochain (freedom 2). – Liberté d'améliorer le programme, et de distribuer ses améliorations pour en faire bénéficier l'ensemble de la communauté. (freedom 3). L'accès au code source est une précondition.

14 Groupe France Télécom Open Source / Free Software Open Source Open Source Initiative (OSI) a été fondée en Définition établie à l'origine par Bruce Perens Conduit une politique plus adaptée aux réalités économiques et techniques ≠ Free Software La Free Software Foundation est apparue en 1985 Sous l'impulsion de Richard Stallman “Open source is a development methodology; free software is a social movement.”

15 Groupe France Télécom Offres propriétaires, commerciales Force de vente Base de clients établie Pérennité Absence présumée de risques de défaillance Sécurisant pour le Direction Technique Support Technique Fonctionnalités … Couts des licences manque de souplesse Complexité d'administration …

16 Groupe France Télécom Offre Open Source Absence de licence Disponibilité du code – Modifications possibles – Réactivité de la communauté Support – Importante communauté Sécurité Manque de visibilité pour les décideurs Couts cachés – Développement, – Intégration, – Prise en mains. Support – contractualisation ???

17 Groupe France Télécom Les bases de données Open source

18 Groupe France Télécom PostgreSQL PostgreSQL est un moteur de base de données issu de travaux menés à l'université de Berkeley Le projet initial s'appelait POSTGRES et était dirigé par Michael Stonebraker (1985) Michael Stonebracker stop le projet en 1993 Le projet est ensuite repris par 2 étudiants, puis une communauté grandissante. En 1995, le suppport du language SQL est ajouté, le projet devient Postgres95 En 1996, il devient PostgreSQL Licence BSD Développement 100% communautaire !

19 Groupe France Télécom Fonctionnalités Base de données relationnelle-objet. – Il est possible de faire hériter une table d'une autre table Base de données garantissant les propriétés ACID Très respectueux des normes existantes Permet de définir des procédures stockées ainsi que des triggers. PITR (Point In Time Recovery) Tablespaces Nombreuses API Possibilité de définir ces propres types Multi-plateforme

20 Groupe France Télécom Processus Le serveur consiste principalement en 2 types de processus: – postmaster Il s'agit du serveur "multi-utilisateur". Toute application cliente doit se connecter au postmaster qui va créer un nouveau process (postgres) pour gérer cette connexion. Il gère également les communications entre les processus qu'il a instancié. – postgres C'est un processus dédié à une connexion qui va traiter les requêtes du client. Ils sont en charge de l'accès aux données hébergées sur le serveur – Un processus postmaster gère les données d'un seul cluster de base de données. – Plusieurs processus postmaster peuvent fonctionner simultanément sur une même machine (il suffit qu'il ait des zone de stockage et des ports de communication différents).

21 Groupe France Télécom Outils initdb – Créé un cluster de base de données créé une arborescence sur le système de fichier afin de stocker les données de chaque base de données createdb (dropdb) – crée une base de donnée createuser (dropuser) – crée un nouvel utilisateur pg_dump (pg_dumpall) – sauvegarde une base de données psql – client en ligne de commande permettant de se connecter un serveur PostgreSQL

22 Groupe France Télécom Architecture de PostgreSQL

23 Groupe France Télécom Mise en oeuvre /etc/init.d/postgresql start createuser -U postgres postuser createdb -U postuser tp psql -U postuser -l Name | Owner | Encoding | tp | postuser | SQL_ASCI I postgres | postgres | SQL_ASCI I template0 | postgres | SQL_ASCI I template1 | postgres | SQL_ASCI (4 rows)

24 Groupe France Télécom Mise en oeuvre psql -U postuser tp > \h CREATE TABLE > CREATE TABLE people ( id SERIAL NOT NULL, first_name TEXT NOT NULL, last_name TEXT NOT NULL, _address TEXT NOT NULL, PRIMARY KEY(id), UNIQUE( _address) ); NOTICE: CREATE TABLE will create implicit sequence "people_id_seq" for serial column "people.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "people_pkey" for table "people" NOTICE: CREATE TABLE / UNIQUE will create implicit index "people_ _address_key" for table "people" > Insert into people (first_name, last_name, _address) values ('pierre', > select first_name,last_name from people;

25 Groupe France Télécom MVCC MVCC (Multiversion Concurrency Control ) – Chaque transaction voit un snapshot de la base de données (une version donnée) permet de garantir l'isolation des transaction – Grâce au MVCC, les "verrous" d'accès en lecture ne bloquent pas les verrous d'accès en écriture sur les données. permet d'optimiser la concurrence des accès

26 Groupe France Télécom Isolation Le standard SQL définit 4 niveaux d'isolation dépendant de 3 phénomènes à éviter entre transactions concurrentes: dirty read: – Une transaction peut lire des données écrites par une transaction concurrente "non commitée". nonrepeatable read – Une transaction relit une donnée qu'elle a lu et constate que cette dernière a été modifiée par une autre transaction qui a "commité" entretemps. phantom read – Une transaction ré-execute une requête renvoyant un ensemble de tuples et constate que l'ensemble est différent du précédent. – Il diffère du précédent car les données qui avaient déjà été lu n'ont pas changée, par contre il y en a plus (ou moins)

27 Groupe France Télécom Isolation Isolation LevelDirty Read Non repeatable read Phantom read Read uncommitted Possible Read committed Not possiblePossible Repeatable read Not possible Possible SerializableNot possible

28 Groupe France Télécom WAL WAL (Write Ahead Log) L'idée est que les modifications des fichiers de données (tables, indexes) doivent être écrites sur disque après avoir été loggées. – un log décrivant ces changements a été flushé sur disque. – Il n'est plus nécessaire d'écrire les pages de données sur le disque à chaque commit de transaction – Il est possible de reconstituer la base de donnée grâce à ce log (REDO log) – le log étant séquentielle, l'activité disque est grandement réduite

29 Groupe France Télécom Architecture logicielle

30 Groupe France Télécom Architecture logicielle

31 Groupe France Télécom Conclusion