Использовать таблицы ревизий для хранения бизнес-данных?
Мы используем Hibernate Envers в нашем проекте для хранения полной ревизии всех наших таблиц базы данных.
Вы бы посоветовали использовать эти теневые таблицы для извлечения бизнес-данных (например, creationDateTime/modifyDateTime/business "history" сущности) или было бы гораздо лучше интегрировать бизнес-данные в бизнес-сущность (каким-то образом дублируя ее Конечно, как теневые таблицы также хранят, например, время создания) и просто позволяют envers работать свое волшебство?
Пожалуйста, имейте в виду, что доступ и получение из таблиц envers иногда не являются наиболее эффективными.
Заранее спасибо!
1 ответ
Основной вариант использования Envers предназначен для аудита данных, поэтому ведение учета изменений, а не обязательно бизнес-функций. Однако, если характеристики производительности хорошие (в таком случае я бы порекомендовал использовать стратегию аудита достоверности), я не понимаю, почему бы вам не использовать встроенную версию, предоставляемую Envers.