historique des bases de données - loxodata...stockage de données théories base de données Ère...

30
Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données Sébastien Lardière Loxodata mars 2016 Sébastien Lardière DBHISTORY mars 2016 1 / 30

Upload: others

Post on 12-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

Historique des Bases de données

Sébastien Lardière

Loxodata

mars 2016

Sébastien Lardière DBHISTORY mars 2016 1 / 30

Page 2: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

Historique des Bases de Données

1 Stockage dedonnées

Les débuts

2 ThéoriesHistoriqueModèlerelationnel

Entité RelationFormesNormales

3 Base de donnéesSQLPostgres

4 Ère ModerneCAP

BASEEventuallyConsistent

5 NoSQLDB HiérarchiqueNoSQL

6 Perspectives

Sébastien Lardière DBHISTORY mars 2016 2 / 30

Page 3: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

Les débuts

Les débuts

Avant les disques : une lampe de 1024 bit en 1946 !

Sébastien Lardière DBHISTORY mars 2016 3 / 30

Page 4: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

Les débuts

Les débuts

Avant les disques : Cartes perforées

Sébastien Lardière DBHISTORY mars 2016 4 / 30

Page 5: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

Les débuts

Les débuts

Avant les disques : Tambour magnétique, 10kb en 1950

Sébastien Lardière DBHISTORY mars 2016 5 / 30

Page 6: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

Les débuts

Les débuts

Premiers disques durs : IBM 350, 5MB en 1956

Sébastien Lardière DBHISTORY mars 2016 6 / 30

Page 7: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

Les débuts

Les débuts

IBM 3380 : 1GB en 1980

La taille d’un frigo250kg

Sébastien Lardière DBHISTORY mars 2016 7 / 30

Page 8: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

HistoriqueModèle relationnelEntité RelationFormes Normales

Premiers SGBDs

IDS (Général Electric)

1961Modèle Réseau

Sébastien Lardière DBHISTORY mars 2016 8 / 30

Page 9: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

HistoriqueModèle relationnelEntité RelationFormes Normales

Premiers SGBDs

IMS (IBM)

1965-1970Modèle Réseau

Sébastien Lardière DBHISTORY mars 2016 9 / 30

Page 10: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

HistoriqueModèle relationnelEntité RelationFormes Normales

Premiers SGBDs

Modélisation et recherche : 1970’s

Modèle RelationnelTravail universitaireMerisePremières conférencesModèle Entité-Association

Sébastien Lardière DBHISTORY mars 2016 10 / 30

Page 11: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

HistoriqueModèle relationnelEntité RelationFormes Normales

Premiers SGBDs

SYSTEM-R d’IBMINGRES de l’Université de Californie

Sébastien Lardière DBHISTORY mars 2016 11 / 30

Page 12: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

HistoriqueModèle relationnelEntité RelationFormes Normales

Codd

Modèle relationnel proposé en 1970

Travaux académiques (IBM)Par opposition au monde “industriel”Prix Turing pour Codd en 1981

Sébastien Lardière DBHISTORY mars 2016 12 / 30

Page 13: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

HistoriqueModèle relationnelEntité RelationFormes Normales

Chen

Modèle “Entité Relation” en 1975

Besoin d’une méthodologieRésultat d’interactions utilisateursBasé sur des maths : Théorie des ensembles, Algebre, Logique. . .

Sébastien Lardière DBHISTORY mars 2016 13 / 30

Page 14: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

HistoriqueModèle relationnelEntité RelationFormes Normales

Chen

Modèle “Entité Relation” vs. Modèle Relationnel

“ER” : SémantiqueLien Explicite vs. ImpliciteRapprochement ultérieur des modèles

Sébastien Lardière DBHISTORY mars 2016 14 / 30

Page 15: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

HistoriqueModèle relationnelEntité RelationFormes Normales

Chen

Chen évoque l’écriture chinoise :

Sébastien Lardière DBHISTORY mars 2016 15 / 30

Page 16: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

HistoriqueModèle relationnelEntité RelationFormes Normales

Formes Normales

Type de relation entre les entitésValide le modèle1NF et 2NF systèmatiqueRecherche académique (70’)

Sébastien Lardière DBHISTORY mars 2016 16 / 30

Page 17: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

SQLPostgres

SQL

Structured Query Language, auparavant “SEQUEL (StructuredEnglish QUEry Language)”

Début 70’s, pour IBM System RDifférences avec la théorieAdopté par Oracle, puis DB2

Sébastien Lardière DBHISTORY mars 2016 17 / 30

Page 18: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

SQLPostgres

SQL

Norme, mais peu d’interopérabilité

Norme ANSI : 1986 ; ISO en 1987ISO/IEC 9075SQL-92, SQL:1999, . . . , SQL-2011Norme modulaire (options)

Sébastien Lardière DBHISTORY mars 2016 18 / 30

Page 19: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

SQLPostgres

PostgreSQL

Postgres : “Post-Ingres”

Initié par Michael Stonebraker, Université de Berkeley, 1985Idées de Ingres, mais pas le code1994 : arrêt et libération du codeYu et Chen remplacent POSTQUEL par SQL : Postgres951996 : démarrage du projet open-source, et nouveau nom :PostgreSQL

Sébastien Lardière DBHISTORY mars 2016 19 / 30

Page 20: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

SQLPostgres

Outils

Oracle DatabaseSybase, Microsoft SQL ServerMySQLIBM DB2IBM InformixPostgreSQL

Sébastien Lardière DBHISTORY mars 2016 20 / 30

Page 21: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

CAPBASEEventually Consistent

CAP Theorem

Pour un système distribué : 2 propriétés sur les 3 :

Sébastien Lardière DBHISTORY mars 2016 21 / 30

Page 22: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

CAPBASEEventually Consistent

CAP Theorem

Brewer’s theorem : Eric Brewer (Berkeley, 2000)Preuve Formelle en 2002 : Gilbert et Lynch (MIT)Revu en 2012

Sébastien Lardière DBHISTORY mars 2016 22 / 30

Page 23: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

CAPBASEEventually Consistent

BASE

Opposé à ACID, informel :

Basic AvailabilitySoft-stateEventual consistency

Sébastien Lardière DBHISTORY mars 2016 23 / 30

Page 24: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

CAPBASEEventually Consistent

Eventually Consistant

Werner Vogels - CTO Amazon - 2008

Données Finalement consistenteExtension au CAP Theorem

Sébastien Lardière DBHISTORY mars 2016 24 / 30

Page 25: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

DB HiérarchiqueNoSQL

DB Hiérarchique ou Réseau

Stockage de données bas-niveau

CODASYL : Langage de données, 1959Hiérarchique : Adabas, IMSRéseau : Charles Bachman, 1969

Sébastien Lardière DBHISTORY mars 2016 25 / 30

Page 26: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

DB HiérarchiqueNoSQL

NoSQL

NoSQL recouvre beaucoup de notions

Pas Seulement SQLPas de DB RelationnelBeaucoup de notions et de techniques différentes

Sébastien Lardière DBHISTORY mars 2016 26 / 30

Page 27: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

DB HiérarchiqueNoSQL

NoSQL

Des modèles différents :

Column: Cassandra, VerticaDocument: Apache CouchDB, MongoDBKey-value: CouchDB, Dynamo, Redis, Riak, Berkeley DBGraph: Neo4J, VirtuosoMulti-model: Alchemy Database

Sébastien Lardière DBHISTORY mars 2016 27 / 30

Page 28: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

Perspectives

De quoi a-t-on besoin ?

Sharding, DB DistribuéeGestion de gros volumes

Sébastien Lardière DBHISTORY mars 2016 28 / 30

Page 29: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

Conclusions

Beaucoup de travaux issus d’universitéRéponse à des besoins réelsAdoption par les acteurs commerciauxValidé par les experiences

Sébastien Lardière DBHISTORY mars 2016 29 / 30

Page 30: Historique des Bases de données - Loxodata...Stockage de données Théories Base de données Ère Moderne NoSQL Perspectives Historique des Bases de données SébastienLardière Loxodata

Stockage de donnéesThéories

Base de donnéesÈre Moderne

NoSQLPerspectives

Questions

Merci ! Des Questions ?

Sébastien Lardière DBHISTORY mars 2016 30 / 30