En ce moment j'essaie de choisir l'approche la plus appropriée afin de mettre en œuvre Audit Trail pour mes entités avec base de données MySQL AWS RDS.Hibernate Envers performance MySQL
Je dois enregistrer toutes les modifications d'entité, y compris l'initiateur (utilisateur) qui a initié ces modifications. L'un des principaux critères est la performance.
Hibernate Envers est la solution la plus simple et la plus complète et peut être intégrée très rapidement. En ce moment, je m'inquiète du ralentissement possible de la performance après l'introduction d'Envers. J'ai vu quelques messages où les développeurs préfèrent l'approche pour Audit Trail basée sur des déclencheurs de base de données.
Le principal problème avec les déclencheurs est comment obtenir l'initiateur (utilisateur) qui a initié ces modifications. Sur la base de votre expérience, pourriez-vous suggérer l'approche pour Java/Spring/Hibernate/MySQL (AWS) afin de mettre en œuvre Audit Trail pour les changements historiques.
En outre, avons-nous une solution pour Audit Trail dans l'infrastructure de base de données MySQL d'AWS RDS?
Pouvez-vous élaborer sur les problèmes de performance ou les préoccupations que vous avez? Je ne suis pas au courant de problèmes de performances, mais je vous invite à les décrire ici ou à ouvrir un JIRA pour que je puisse y jeter un coup d'œil. – Naros
en raison de la quantité de demandes que je peux obtenir rapidement de très grandes tables avec des changements historiques. Je crains que cela puisse ralentir mon système – alexanoid
Ce problème n'est pas un problème de performance Envers, c'est simplement un effet secondaire auquel est confrontée toute solution d'audit lorsque vous devez auditer toutes les modifications dans un scénario de système à haut volume. Que vous choisissiez d'utiliser une autre solution ou de recourir à des déclencheurs de base de données, le volume de lignes que vous générez reste constant en fonction des besoins de votre entreprise. – Naros