(j'utilise C#, mais ce n'est pas nécessairement spécifique à la plateforme)de mettre à jour une valeur agrégée lorsqu'un élément change
Dire que j'ai une table de valeurs, qui sont indexées par un triplet de clés (A, B, C). Les valeurs de la table transitent depuis une source externe à intervalles sporadiques. Je souhaite publier des agrégats sur divers ensembles de clés, par ex. calculer une somme sur toutes les valeurs où B = b1.
Cela est trivial à faire si je ne fais que répéter l'opération sur toute la table à chaque fois, mais évidemment ce n'est pas efficace. Ce que je me demande est, y at-il une manière particulièrement bonne de concevoir une telle chose de sorte que je mette à jour seulement sum(B = b1)
quand une valeur dans la table change qui affecterait cette somme? Il semble que je devrais créer une sorte d'objet Aggregation
qui conserve une liste de toutes les valeurs incluses dans cette agrégation, mais je pense qu'il pourrait y avoir une manière plus élégante de m'échapper. Quelque chose comme une requête LINQ "temps réel" ...
S'il vous plaît poster un exemple de code pour nous de commencer ... –