5.3.1 : Format de données plat ?
La principale implication des optimisations liées aux format de données présentées dans la section 5.2 implique que le format de données est moins granuleux que précédemment ou plus plat.
Il a été (et il est toujours) difficile de sortir des mauvaises habitudes données à toute une génération de développeur par l'arrivée de la programmation objet dans les années 80-90 qui fut une révolution et par la suite une mode, d'autant que les volumes de données traités étaient bien plus faible qu'aujourd'hui, et les machines de calcul moins puissantes.
Partant du constat que les structures de tableaux sont bien plus performantes que les tableaux de structure, il est naturel de pousser ce concept jusqu'au bout en développant un format de données qui n'est basé que sur des tableaux. Un format de données plat donc. Dans ce cas, si chaque colonne du tableau a un certain nom, un type, un nombre de dimensions, la taille de toutes ses dimensions et une documentation, on parle de :
- Table dans le cas général
- DataFrame si les colonnes ont une dimension
- Panel si les colonnes on deux dimensions
- Panel4D si les colonnes on trois dimensions
Mais si vous dîtes DataFrame pour les deux derniers on vous comprendra.
L'avantage d'un format de données est qu'il est très facile et très rapide de ne lire qu'une partie de ses données, ce qui est capital lorsque la quantité de mémoire par coeur a tendence à diminuer sur les super-calculateurs. Il est aussi facile d'afficher ces données dans des graphes, qui utilisent des tableaux.
Les formats de données basés sur des classes peuvent aussi fournir ce genre de fonctionnalités mais, le coût du temps de chargement et du temps de développement est bien plus grand, pour un résultat égal.
Comme me l'a très bien dit Pablo :
On s'en fou que les données soit stockées comme des objets. En physique, on veux pouvoir les plotter facilement!!!
Pablo
Il faut reconnaître que de ce point de vue, un format de données est un ouil qui se doit d'être simple, fiable et efficace,
et aucun argument de pseudo-autorité de soit disant expert informatico-génielogicielo-sarcastique n'y poura rien.