Entrepôt des Données, année 2019

Bases de données vs Entrepôts de données

Précédemment:

On a vu comment on pouvait utiliser des bases de données dans des processus d’analyse de données. Cet usage n’est pas l’usage canonique des base de données relationnelles. Ces dernières sont fait pour gérer de gros volumes de données dynamiquement. Elles gères l’ajout, la mise à jour et la suppression de données en toute sécurité

Cette sécurité à un coût: une base de données en production doit: 1. Maintenir des indexes 2. Trouver un compromis entre rapidité en écriture et en lecture 3. Être robuste (à la panne et à la concurrence) via des systèmes de gestions des transactions

On parle de bases de données OLTP pour OnLine Transaction Processing. Pour être efficace, il faut concevoir ces bases de données précautionneusement pour garantir leur performance.

Problématiques de l’analyse de données:

Les services de gestions et stratégiques ont besoin d’avoir accès à des données issues des bases de données en production pour prendre des décisions.

Cela entraîne de nombreuses difficultés:

  1. Avoir accès à des données éparpillées dans des formats différents
  2. Les regrouper dans une base de données dédiées à l’analyse de données

Les conceptions de bases de données OLTP ne sont plus adaptées: on veut avant tout pouvoir analyser efficacement les données.

Un autre type conception de base de données peut être utilisée: on parle de bases de donnée OLAP pour OnLine Analytical Processing.

En pratique, les données sont versées dans l’entrepôt de données à intervalle réguliers (journalier, hebdomadaire, …) mais pas en continue pour éviter les conflits liés à l’écriture concurrente.

De l’indexation aux entrepôts de données

La situation classique est d’avoir des sources de données éparpillées en production dans des technologies de bases de données variées, qu’on regroupe dans une base de données spécialisés dans les requêtes d’agrégations.

Analyse multidimensionnel dans un entrepôts de données

Les données présentes dans une base de données OLAP sont structurées en fonction de différentes dimensions d’analyse qui dépendent de la situation à analyser.

Lorsque le nombre de dimensions à analyser est de un ou deux, on peut réaliser un simple tableau croisé.

Exemple.

Dans le TD2 nous avons étudié une table comprenant une entrée pour chaque naissance en France en 2017. Il s’agit d’une table contenant beaucoup d’information, pas toujours très pertinente pour l’analyse.

sexe anais mnais depnais jrecp mrecp arecp jrecm mrecm arecm jrecc mrecc arecc agemere agexactm indlnm situatmr indnatm depdom tudom tucom agepere agexactp indlnp situatpr indnatp amar dmarnais accouchr nbenf durecevp originom
index
0 2.0 2017.0 1.0 01 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 34.0 33.0 4.0 S 2.0 99 9.0 41.0 40.0 4.0 S 2.0 2014.0 1 ES 1.0 02 1
1 1.0 2017.0 3.0 01 0.0 0.0 0.0 0.0 0.0 0.0 14.0 2.0 2017.0 35.0 34.0 4.0 S 2.0 99 9.0 45.0 44.0 1.0 S 1.0 0.0 ES 1.0 1
2 2.0 2017.0 12.0 02 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 34.0 34.0 4.0 S 2.0 99 9.0 33.0 33.0 4.0 S 2.0 2011.0 2 ES 1.0 02 1
3 2.0 2017.0 9.0 02 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 33.0 33.0 4.0 S 2.0 99 9.0 33.0 32.0 4.0 S 2.0 2014.0 1 ES 1.0 03 1
4 1.0 2017.0 5.0 03 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 29.0 29.0 1.0 1.0 99 9.0 29.0 29.0 1.0 NS 1.0 2009.0 1 ES 1.0 05 1

Le TD demandait de construire un tableau croisé du nombre de naissance en fonction du mois et du département. Une proposition de correction utilisant Pandas peut être trouvé ici. Nous avons étudié plusieurs tableaux croisés issue de cette table:

Le cube OLAP

La plupart des données qu’on consulte sont sous la forme de tables: des lignes d’arités fixées où chaque colonne contient une information.

Nous avons vu pour l’instant comment il était possible de gérer de grosses tables afin d’en extraire des tableaux croisées.

L’intérêt des tableaux croisés est de facilité l’analyse de données en ne présentant que deux dimensions d’analyses mise en relations par rapport à un opérateur d’agrégation.

Le cube OLAP est une formalisation de comment extraire ces tableaux croisés à partir de table. Des points de vocabulaire:

TD3

Vous trouverez à l’adresse suivante la base sirene de la métropole lilloise. Il s’agit d’une base de données de toutes les entreprises de la métropole. Ce fichier n’est pas trop gros (~500 mo). La base de donnée nationale est beaucoup plus volumineuse et nécessiterait un traitement spécifique.

Vous pouvez vérifier que le téléchargement s’est bien passé à l’aide de la commande md5sum qui devrait vous retourner 08e751b6664f85e9d3b709de7502e0ce. La commande wget peut également être utile pour éviter la mise en cache par le navigateur web d’une version corrompue.

En explorant ce fichier, construisez une dataframe Pandas qui modélise un cube d’analyse contenant les dimensions d’analyses suivantes: le nombre d’employé, par communes, en fonction de l’activité de l’établissement, de sa date de création et d’éventuelle fermeture. Vous proposez des fonctions permettant d’agréger les communes par population et les dates par mois et par années.



Compiled the: dim. 07 janv. 2024 23:18:55 CET