Bases de données documentaires et distribuées

Les bases relationnelles sont adaptées à des informations bien structurées, décomposables en unités simples (chaînes de caractères, numériques), et représentables sous forme de tableaux. Beaucoup de données ne satisfont pas ces critères: leur structure est complexe, variable, et elles ne se décomposent par aisément en attributs élémentaires. Comment représenter le contenu d’un livre par exemple? d’une image ou d’une vidéo? d’une partition musicale?, etc.

Une unité d’information complexe non décomposable peut être désignée de manière générique par le terme de document. La gestion d’ensembles de documents selon les principes des bases de données, avec notamment des outils de recherche avancés, relève des bases documentaires. Le volume important de ces bases amène souvent à les gérer dans un système distribué, “NoSQL”, constitué de fermes de serveurs allouées à la demande dans une infrastructure de type “cloud”. C’est le sujet de cet enseignement.

Supports

Le principal support de cours est un “polycopié” rédigé organisé en chapitres et en sections. Chaque chapitre traite un thème bien identifié. Le découpage en sections correspond à une unité de contenu homogène, enseigné sous forme de session pendant le cours. A chaque session correspond en règle générale: une section rédigée, sauf cas particulier (démonstration notamment); un fichier de diapositives, support des cours, une vidéo dans laquelle un enseignant présente le contenu de la session, des exercices à effectuer immédiatement. Voici les liens.

  • Support rédigé complet: HTML, PDF ePub. 
  • Les présentations (transparents) sont accessibles par lien direct associé à chaque début de section dans le support rédigé.
  • Les vidéos sont également accessibles par lien, dans le support rédigé.
  • Un forum de discussion 

Sujets couverts

Les cours présentés ici rassemblent plusieurs aspects des bases documentaires, centrées sur les documents de nature textuelle (ce qui exclut les documents multimédia comme les images ou vidéos). Ces aspects sont:

  • Documents structurés (XML et JSON) et bases de documents structurés (BaseX, MongoDB, CouchDB, etc.).
  • Indexation et recherche: extraction de descripteurs, moteurs de recherche, techniques de classement.
  • Gestion de grandes collections de documents: systèmes NoSQL (Hadoop, HBase, traitements MapReduce, etc).

Enseignements

Tout le matériel proposé ici sert de support au cours “Bases de données documentaires et distribuées” proposé par le département d’informatique du Cnam. Le code du cours est NFE204 (voir le site http://deptinfo.cnam.fr/new/spip.php?rubrique146 pour des informations pratiques). Il est donné en

  • Cours présentiel (premier semestre, mardi soir)
  • Cours à distance (second semestre, avec supports audiovisuels)

Vous pouvez utiliser les supports proposés ici librement, sous réserve bien entendu de citer l’auteur.