существенная её часть полностью переращитывается, и нужно хранить последнию версию, и на основе этой таблицы потом нужно строить сложный репорт на основе ВСЕХ данных (во время дня апдейты тоже бывают, но их гараздо меньше):
1. Сразу сделал через AggregationMergeTree и argMax(triggerTime,..) на каждом из столбцов, но кажется, что можно всё таки лучше, а то по сравненю с просто данными в MergeTree требуют значительно больше памяти для вычислений
2. Лучше ли тут использовать ReplacingMergeTree? (но как отсечь оставшиеся дубли, групировать и отсекать по версии?)
3. CollapsingMergeTree ? (какие bast practics, по доставаниь предыдущих записей(или их кэшировании) чтоб затереть)
4. Есть ущущения, что если забить на апдейты во время дня, то стоит вообще просто делать (alter delete/drop table), и накатить последние значения
2. ReplacingMergeTree -> FINAL
Вставлять новую партицию (с новой датой). Старую дропать
Обсуждают сегодня