Комментарии 9
Поймал вас за накруткой, коллега ¯\_(ツ)_/¯

О, зацепил подход про keyframe, как бы его лаконичнее объяснять только не придумал :) И использование updated_at тоже интересно, по нему оч удобно в итоге даже иногда диффы строить при распространении данных на минималках.
А почему не использовать updated_at вместо generation?
updated_at изменяется каждый раз при изменении записи любым из сервисов, который её обрабатывает.
Нужно отдельное поле, которое вправе менять только первый сервис в цепочке поставки данных. Для цен такой сервис — интеграции, для категорий товаров — админка категорий.
Только в таком случае интеграции могут быть уверены, что после того как они отдали очередную пачку записей, generated_at обновилось только у этих записей. updated_at у записей, которых не было в новом поколении, мог быть обновлён изменениями других сервисов, про которые интеграции даже не знают.
Миллиард записей и 8 Марта: как YDB спас праздник