Datamart : la dimension du temps

La dimension du temps dans un datamart avec PostgreSQL

Le modèle en étoile de l'informatique décisionnelle repose sur 2 grands types de tables : les dimensions (dim) et les faits (fact).

Schéma de structure générique d'un datamart

En règle générale, le calcul des faits nécessite une dimension de temps afin de suivre l'évolution d'un indicateur dans la durée. De cette nécessité découle donc le besoin de générer une dimension du temps suffisamment précise pour être utilisée dans la plupart des contextes.

Même si ce n'est pas une règle absolue, il convient de diviser le temps en 2 dimensions : la date et l'heure.

La date calendaire correspond au jour et s'incrémente d'un enregistrement dans la dimension à chaque nouveau jour.

Le temps correspond à l'heure dans une journée. Le nombre d'enregistrements est généralement fini car il correspond au nombre de tranches horaires possibles dans une journée. Cela peut être à la minute, à l'heure, au quart d'heure… Tout dépend de la granularité désirée.

Installer Postgresql

Installer Postgresql sous freeBSD

Postgresql est reconnu pour être un excellent SGBD, plusieurs fois récompensé pour ses performances, même comparé à Oracle. Il possède en plus, l'avantage d'être open source (donc gratuit).

Pour donner un ordre d'idée de la vélocité de postgresql, avec mon modeste serveur (VIA 1 GHz, 512 Mo de RAM), je charge un fichier de 800 000 enregistrements dans une table identique en moins de 3 secondes, ce qui acceptable et plus rapide qu'oracle dans les mêmes conditions (8s).

Comparé à MySQL, Postgresql a plus de maturité, possède des fonctions plus avancées, un langage de programmation avancé… Tout ce qui est nécessaire à la fois à un développeur ou à un SI en production.

Script SQL avec paramètre

Exécuter un script SQL avec un paramètre sous PostgreSQL

Il peut être parfois utile ou nécessaire de pouvoir exécuter un script SQL sous PostgreSQL en passant un ou plusieurs paramètres.

PostgreSQL | sauvegardes automatisées

Automatiser et gérer les sauvegardes de PostgreSQL

Lorsqu'on possède une base PostgreSQL installée sur une machine, il peut être utile (et recommandé) d'effectuer des sauvegardes régulièrement.

PostgreSQL fournit un ensemble d'outils pour effectuer ces opérations. Cependant, il s'agit d'outils bruts. Il manque quelques opérations de gestion et d'organisation des sauvegardes.