yop,
Je cherche à modéliser un stock de pièces, et j'aimerais votre avis.
Voici de quoi compose un stock :
- un certain nombre de classes
- chaque classe comprend un certain nombre de sous-classes
- chaque sous-classe comprend un certain nombre de pièces référencées, dont l'entrée en stock est datée
Concrètement, il s'agit donc d'un arbre à trois niveaux, donc pas de souci pour le représenter avec de simples listes.
J'ai besoin de ces données essentiellement pour deux choses :
- connaitre l'état du stock maintenant
- faire un diff du stock entre deux moment quelconques
Et là, je me rends compte qu'il y a une autre manière de représenter les choses : une façon chronologique, et donc très linéaire dans la représentation des données.
Alors, les +/- des deux méthodes :
- je vais devoir parcourir l'intégralité de l'arbre pour avoir un stock à une date donnée, alors que ça serait super rapide avec une représentation chronologique
- la représentation sous forme d'arbre correspondant à la réalité de mon stock, elle sera ultra-rapide à charger (proportionnelle à la taille du stock), tandis qu'une représentation chronologique demandera toujours plus de temps avec le temps qui passe (proportionnelle avec les mouvements de l'historique)
- avec une représentation chronologique, pour connaitre le stock à une date aléatoire, il faut recalculer tous les mouvements depuis l'origine du stock. Charmant.
- pour une représentation en arbre, il va falloir parcourir l'historique de chaque élément dans l'arbre. Excitant
Ma question : quel sont les formats de données existants pour s'occuper de ce genre de cas ? C'est sûrement étudié sous toutes les coutures, de la gestion de stock il y en a partout.
Existe-t-il des outils, pour faire tout le boulot de calcul quand on veut accéder aux données à une date ou à une autre ?
Une solution qui me masquerait la représentation en mémoire pour ne me fournir que des fonctions de haut niveau serait la bienvenue.
Si ça n'existe pas ou que c'est trop complexe, ça ne me dérange pas non plus d'écrire mon format de données, pour peu qu'on m'aiguille vers la direction qui restera la plus performante dans le temps
Merci beaucoup.
Finalement, un stock, ça ressemble furieusement à un dépôt de sources. Comment font-ils pour être aussi performants ??