Bases de données Open Source

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

description

Bases de données Open Source. Pierre Cr é pieux 13/03/2008. 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 - PowerPoint PPT Presentation

Transcript of Bases de données Open Source

Page 1: Bases de données Open Source

Bases de donnéesOpen Source

Pierre Crépieux13/03/2008

Page 2: Bases de données Open Source

2 Groupe France Télécom

Plan

Généralités sur les bases de données relationnellesA quoi serrent elles ?Pourquoi un modèle relationnel ?

L'Open SourceQu'est ce que c'est ?Pourquoi utiliser une base de données Open Source

Les bases de données Open sourcePostgreSQL

MySQL…

Conclusion

Page 3: Bases de données Open Source

3 Groupe France Télécom

MySQL

Page 4: Bases de données Open Source

4 Groupe France Télécom

MySQLIl est intéressant de voir comment les histoires de PostgreSQL et MySQL se croisent

• Celle de MySQL commence a Helsinki en 1979!– Michael Widenius (société TcX) développe une base de données "maison"

appelée UNIREG • En 1983, Michael fait la connaissance de David Axmark avec qui il créera MySQL AB.• En 1994, TcX décide d'utiliser SQL (devenu un standard) pour ces appli web. • C'est à ce moment que Michael s'intéresse à mSQL.• mSQL a été développé par David Hughes qui travaille alors sur le projet Minerva.• Au tout début, mSQL est juste un traducteur SQL vers POSTQUEL.• Postgres s'est avéré par la suite trop lourd et complexe pour les besoins de Minerva, David décide

alors d'écrire son propre moteur de stockage.• Michael contact David pour lui proposer d'intégré des fonctionnalités d'UNIREG (B+ ISAM handler)

a mSQL.• En 1995, MySQL AB est fondée.• 2005, Oracle rachète Innobase• 2008, SUN rachète MySQL.

Licence GPL, et commerciale

Page 5: Bases de données Open Source

5 Groupe France Télécom

Page 6: Bases de données Open Source

6 Groupe France Télécom

Fonctionnalités• Base de données relationnelle.

• Base de données garantissant les propriétés ACID (en fonction du moteur de stockage)

• Permet de définir des procédures stockées ainsi que des triggers.

• Tablespaces

• Replication, Cluster

• Nombreuses API

• Possibilité de définir ces propres fonction (UDF)

• Multi-plateformes

Page 7: Bases de données Open Source

7 Groupe France Télécom

Terminologie (Ronald Bradford, MySQL conf 2007)

Database (files) --> Database Server Instance

Database Instance (memory) --> Database Server Instance

Schema User --> DatabaseUser --> User

Table Space --> Table Space

--> Storage Engine

Page 8: Bases de données Open Source

8 Groupe France Télécom

ProcessusLe serveur consiste principalement en 1 unique processus:

– mysqld• Il s'agit du serveur "multi-utilisateur". • Toute application cliente doit se connecter au mysqld qui va créer un

nouveau thread pour gérer cette connexion.• Il gère également d'autres thread comme la réplication par exemple.

– accompagné de script de démarrage:• mysqld_safe (peut être remplacé par mysqlmanager), • mysql.server et • mysqld_multi (peut être remplacé par mysqlmanager).

Il est en charge de l'accès aux données hébergées sur le serveur

• Plusieurs processus mysqld 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).

Page 9: Bases de données Open Source

9 Groupe France Télécom

Outilsmysqladmin

– client d'administration

mysql– client en ligne de commande

mysqldump – sauvegarde de bases

mysqlimport – importe des fichiers de données

Page 10: Bases de données Open Source

10 Groupe France Télécom

Mise en oeuvre

/etc/init.d/mysqld start$ mysqladmin -u root password NEWPASSWORD $ mysqladmin create NEWDBNAME

$ mysql --user=myuser tp mysql> create table test(……) ENGINE=INNODB

$ mysqldump –user=myuser tp

Page 11: Bases de données Open Source

11 Groupe France Télécom

Architecture

Page 12: Bases de données Open Source

12 Groupe France Télécom

Architecture cluster

Page 13: Bases de données Open Source

13 Groupe France Télécom

Storage engine

MyISAM Inno NDB

Transaction - X X

Clé étrangère - X -

Verrous Table Ligne Ligne

Isolation des transaction

- les 4 Read commited

Page 14: Bases de données Open Source

14 Groupe France Télécom

Expériences

Page 15: Bases de données Open Source

15 Groupe France Télécom

Backup

Page 16: Bases de données Open Source

16 Groupe France Télécom

IsolationLe 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)