L’infrastructure se déplace dans le cloud... Placer le datawarehouse dans le cloud doit permettre de résoudre la plupart des problèmes d'infrastructure physique, mais impose ses propres compromis en matière de performance, de coût et de facilité d'utilisation. Comment, dans ces conditions, choisir la bonne solution pour votre organisation ?

La construction d’un datawarehouse correctement configuré est essentielle pour assurer le succès d’analytiques opérationnelles. A l’inverse, un entrepôt de données mal configuré ou inadapté est une source de problèmes sans fin…

Un datawarehouse est différent d'une base de données opérationnelle en ce qu'il est construit pour faciliter l'analyse des données historiques, par opposition aux opérations de manutention. Cela signifie que les entrepôts de données ont tendance à être dans des ordres de grandeur plus grands que les bases de données opérationnelles correspondantes. S’ajoute à cela la nécessité d’exécuter des requêtes ultra rapides sur des données en cours de traitement, à des vitesses en quasi temps réel.

Pour choisir un datawarehouse, faut d’abord répondre à ces 4 questions :

1Comment ingérer des données ?

L’un des plus grands défis des datawarehouses est d’obtenir des données et de les mettre correctement en forme. Traditionnellement, ces opérations reposent sur les travaux de traitement par lots ETL (Extract-Transform-Load). Aujourd’hui, les ETL sont toujours importants, mais des options de streaming d'ingestion de données sont également proposés, ainsi que des services pour exécuter des requêtes SQL sur des données non structurées qui peuvent même être hors de l'entrepôt.

2Comment gérer des requêtes ad hoc ?

La méthode de traitement par lots est peu pratique pour les requêtes ad hoc. C’est pourquoi de nombreux datawarehouses se tournent vers le MPP (Massive Parallel Processing), une architecture semblable à MapReduce qui propage des requêtes sur plusieurs processeurs haut de gamme. D'autres solutions se tournent vers Apache Spark, qui utilise le traitement en mémoire et une nouvelle structure de données pour atteindre des vitesses de traitement qui sont plus rapide que MapReduce. Enfin, il faut prendre en considération le langage utilisé pour exécuter des requêtes. Certains d’entre eux supportent le standard SQL, tandis que d'autres reposent sur des dialectes qui peuvent soutenir des commandes personnalisées et en interdire les autres.

3Comment se mettre à l’échelle ?

Tous les datawarehouses sont destinés à traiter de gros volumes de données, mais certains d’entre eux sont souvent optimisés pour des clusters de tailles différentes. Dans les entrepôts dans le cloud, un facteur important est la rapidité et la facilité pour fournir de nouvelles ressources, et si les ressources informatiques et de stockage peuvent être provisionnées séparément.

4Quelle maintenance pour quels besoins ?

Qu'il soit on premise ou dans le cloud, le datawarehouse est un système complexe qui nécessite souvent une maintenance régulière que seul un administrateur de base de données expérimenté peut fournir. Les différents entrepôts de données exigent différents niveaux de données, avec la nécessité d'être nettoyées, de recourir à des paramètres de compression à ajuster, ainsi que d'être déplacées entre les disques. La façon dont ces tâches sont gérées peut également conduire à des temps d'arrêt significatifs.

Image d’entête 639813844 @ iStock skold Romanov