Уважаемые форумчане, здравствуйте! Нужен ваш совет. Алгоритм определения изменений схемы данных. Введение: В крупной системе, реализующей минросервисную архитектуру часто возникает необходимость синхронизации горячих данных между различными компонентами (исполняемыми модулями). Как правило единой точкой правды для всех компонентов является СУБД, а именно какая либо схема или набор объектов СУБД. Но частые обращения к этим объектам, в особенности запросы содержащие агрегатные или аналитические функции, негативно влияют на производительность СУБД в целом. Поэтому для разных ситуаций разрабатывают различные тактики определения разности состояний тех или иных объектов СУБД для синхронизации с приложением. Что нужно сделать: Спроектировать алгоритм (фунцию) определяющую есть ли изменения в СУБД или нет начиная с какого-либо времени или идентификатора. Вариации: —Вычисление изменение всей схемы целиком. —Вычисление изменений заданных объектов (таблиц, колонок). —Вычисление, реализованное только на JAVA без использования системных объектов СУБД. —(повышенной сложности) Вычисление, реализованное только на SQL на СУБД Postgres. —Вычисление допускает введение дополнительных сущностей в схему данных, либо рекомендации к проектированию схемы. Критерии оценки: Код должен быть покрыт нагрузочными тестами, приведены оценки планов запроса. Написано относительно сложно, суть, как я понимаю, необходимо написать на java какую-нибудь простую реализацию: класс, который будет отслеживать изменения данных. Я гуглил-гуглил и так и этак. Кто-то предлагает на основе анализа журнала транзакций, использовать механизм триггеров. Вроде бы в MS Sql Server и в postgresql есть какие-то встроенные инструменты для этого, кто то предлагал делать это посредством контрольных сумм, в то же время чего-то простого доступного мне найти не удалось. Может быть есть возможность подсказать?