Сейчас я пытаюсь выбрать наиболее подходящий подход для реализации Audit Trail для моих объектов с базой данных AWS RDS MySQL.Hibernate Envers performance MySQL
Мне нужно зарегистрировать все изменения сущностей, включая инициатора (пользователя), который инициировал эти изменения. Одним из основных критериев является производительность.
Hibernate Envers выглядит как самое простое и наиболее полное решение и может быть очень быстро интегрировано. Сейчас я беспокоюсь о возможном замедлении производительности после введения Envers. Я видел несколько сообщений, в которых разработчики предпочитают подход к Audit Trail на основе триггеров базы данных.
Основная проблема с триггерами заключается в том, как получить инициатор (пользователь), который инициировал эти изменения.
Основываясь на своем опыте, не могли бы вы предложить подход для Java/Spring/Hibernate/MySQL (AWS), чтобы реализовать Audit Trail для исторических изменений.
Кроме того, есть ли у нас какое-либо решение для аудита в рамках инфраструктуры баз данных AWS RDS MySQL?
Можете ли вы рассказать о проблемах или проблемах производительности, которые у вас есть? Я не знаю о каких-либо проблемах с производительностью, но вас приветствует, чтобы описать их здесь или открыть JIRA для просмотра. – Naros
из-за количества запросов я могу быстро получить очень большие таблицы с историческими изменениями. Я боюсь, что это может замедлить мою систему. – alexanoid
Это не проблема производительности Envers, это просто побочный эффект, с которым сталкивается любое решение для аудита, когда вам нужно проверять все изменения в системном сценарии высокой громкости. Если вы решите использовать другое решение или прибегнуть к триггерам базы данных, объем создаваемых строк останется постоянным с учетом ваших бизнес-требований. – Naros