Master 2, Bases de données avancées, année 2022

Le cours se décompose en 6 séances de 4h réparties entre CM et TD/TP.

L’objectif du cours est de donner une vue d’ensemble théorique et pratiques des bases de données non relationnelle, de leur intérêt en particulier dans la modélisation et la distribution des données.

TPs

Les TD sont a déposer sur un git et a partager avec moi. Ce git sera utilisé pour la seconde chance. Seront évalué la régularité des comités et la qualité de la production.

Les travails collaboratifs sont autorisé mais doivent être indiqué clairement et chacun doit avoir un repo git séparé.

On utilise un seul repo git pour l’ensemble des TD.

Bibliographie et ressources

Le cours de Philippe Rigaux (version PDF), la documentation de PostgreSQL et de nombreux articles de Wikipédia.

Également quelques papiers de recherches (liste complétée durant le semestre):

Lien vers le Glossaire

Cours 1. Rappel sur les bases de données relationnelles

Contenu du cours

  1. Atomicité, Consistance, Isolation, Durabilité
  2. Les schéma relationnels
  3. Difficultés liées au modèle relationnel
  4. La distribution des BDD relationnelles

Objectifs du TP

  1. Rappel sur OpenStack.
  2. Installation de PostgreSQL
  3. Primary/replica
  4. Schéma distribué

Partie 2. Introduction aux bases de données non relationnelles (12h)

Notions couvertes:

Cours 2. Les key/value stores (4h)

  1. Présentation du modèle de données
  2. Distributed hashing
    • consistent hashing
    • rendez-vous hashing
  3. A quick presentation of Redis.

TP

2. Les bases de données orientée documents (4h)

  1. Presentation du modèle de donnée
  2. Query languages and indexation
  3. Sharding and replicas
  4. Eventual consistency
    • shared nothing (https://dsf.berkeley.edu/papers/hpts85-nothing.pdf)

TP

3. Les bases de données orientée Graphes (4h)

Remerciements

Mastodon