снкс.
Maxim Boguk |
---|
<> при этом без "дубль исходных данных в таблице[ах] событий (как в лондайсте) нежелателе" вы никак не обойдетесь... каким собственно образом вы себе представляете работу такой системы без лога всех изменений? <> |
0. для простоты --
FK [как минимум -- на реплицируемые таблицы]
в БД отсутствуют.
далее, -- тут 2 случая:
1. update PK разрешен
2. update PK запрещен.
если 2 -- то нас интересует [только] последнее событие с данным pk и [только] последнее актуальное данное по NEW.pk из самой таблицы, а не из лога. [если событие -- delete -- то кроме ключа тем паче ничего не нужно]
если 1 -- то видимо всё то же самое [интересует последнее событие по OLD.pk, и актулаьное состояние с NEW.pk [возможно -- вдоль цепи апдейтов пк]], но надо проверить, что в цепи событий с пк мы не обманем такой подход (пока тщательно не выверял диаграммы переходов).
покуда склоняюсь к тупому запрету смены всех pk триггерами. (это всё равно суррогаты)
другое дело, если на события репликации надо реагировать на подписчике в том же порядке, как на события на паблишере -- тогда, с необходимостью, всё катать строго по логам.