(я использую C #, но это не обязательно зависит от платформы)
Скажем, у меня есть таблица значений, которые индексируются тройкой ключей (A, B, C). Значения в таблице поступают из внешнего источника с единичными интервалами. Я хочу публиковать агрегаты по различным наборам ключей, например, рассчитать сумму по всем значениям, где B = b1.
Это тривиально, если я просто перебираю всю таблицу каждый раз, но, очевидно, это неэффективно. Что меня интересует, так это то, что есть ли особенно хороший способ создать такую вещь, чтобы я обновлял sum(B = b1)
только тогда, когда значение в таблице изменяется, что повлияет на эту сумму? Кажется, мне нужно было бы создать какой-то объект Aggregation
, который бы содержал список всех значений, включенных в эту агрегацию, но я чувствую, что может быть более элегантный способ избежать меня. Что-то вроде запроса LINQ "в реальном времени" ...