Parallélisme
à outrance pour éviter tout goulot d’étranglement dans l’architecture, c’est ainsi qu’on pourrait résumer la technologie présentée par Greenplum qui doit révolutionner le petit monde du chargement des données. 1 To chargé en 15mn là une solution traditionnelle type Oracle tourne à 200 Go de l’heure et que Netezza pointe à 500 Go de l’heure, ça pose son homme. Brian Nolan de Fox Interactive Media, le client emblématique de Greenplum a confirmé cette performance : 4 To effectivement chargés en une heure Mais est-ce que la solution Greenplum, baptisée du doux nom de « MPP Scatter/Gather Streaming » ou « SG Streaming » pour les intimes est une vraie révolution dans l’ETL.
Quelques premiers éléments de réponse.
Contrairement à certains ETL traditionnels, Greenplum prône pour la parallélisation à tous les étages, et pas seulement au niveau des traitements. Le SG Streaming maximise le nombre de nœuds de chargement. Greenplum annonce que chaque nœud de la base va pouvoir recevoir un ou plusieurs flux de données et ce sans qu’il soit nécessaire d’introduire de points de synchronisation qui évidemment ralentirait l’ensemble lors de la phase de scattering, d’éparpillement des données. Autre avantage de l’approche : pas besoin de mettre en place une batterie de machines dédiées à l’ETL, puisque ce sont les nœuds de la base de données MPP qui sont exploités pour le chargement.
Reste à voir l’impact en terme de performances sur ces machines que va avoir ce chargement si la base est exploitée en 24/7 et que potentiellement Greenplum annonce que ce sont des centaines voir des milliers de flux parallèles et simultanés qui sont maintenus pour alimenter la base… La performance de l’ensemble est annoncée comme linéaire en fonction du volume et du nombre de nœuds. Les flux sont de type ELT (Extract-Load-Transform) ou bien ETLT (Extract-Transform-Load-Transform). La phase de Gatheting consiste a distribuer les données chargées entre les nœuds, effectuer la compression des données le cas échéant.
L’éditeur souligne qu’il est possible de faire travailler les nœuds soit en mode batch intégral, donc pour viser la performance de chargement maximale, soit en mode near-real-time, c’est-à-dire les nœuds restent affectés à la base de données et mènent les chargements en tâche de fond, avec un impact faible sur la performance d’ensemble. A tester.









