ale*_*oid 0 mysql spring hibernate amazon-web-services hibernate-envers
现在,我正在尝试选择最合适的方法,以便为使用AWS RDS MySQL数据库的实体实现Audit Trail.
我必须记录所有实体更改,包括发起这些更改的发起者(用户).其中一个主要标准是表现.
Hibernate Envers看起来是最简单,最完整的解决方案,可以快速集成.现在我担心Envers推出后可能出现性能下降.我看到一些帖子,开发人员更喜欢基于数据库触发器的Audit Trail方法.
触发器的主要问题是如何获得发起这些更改的发起者(用户).
根据您的经验,您是否可以建议Java/Spring/Hibernate/MySQL(AWS)的方法,以便为历史更改实现Audit Trail.
另外,我们在AWS RDS MySQL数据库基础架构中是否有任何Audit Trail解决方案?
理解关于性能的猜测,如果没有具体的证据来支持一个人的理论,就会过早地优化代码.这几乎总是浪费时间.
从简单的数据库角度来看,随着表增长到特定限制,是的,它的性能会降低,但通常这会主要影响查询,如果表被正确编入索引并且查询正确形成,则会减少插入/更新.
但是许多数据库支持分区作为控制性能问题的手段,特别是在较大的表上.这通常涉及在由您创建的分区方案定义的一组边界之间分隔表的数据.您只需定义最相关的数据,然后尝试将此分区存储在最快的驱动器/存储上,而较不相关(通常较旧)的数据存储在较慢的驱动器/存储上.
您还可以通过指定envers属性来选择将数据库表存储在不同的模式/表空间中org.hibernate.envers.default_schema.如果数据库支持将模式放在文件系统上的不同数据库文件中,则可以通过允许实体表读/写不影响审计表的读/写来帮助提高性能.
我无法谈论MySQL对这些事情的支持,但我知道MSSQL/Oracle非常容易支持分区,Oracle肯定允许在不同的数据库文件之间分离模式.
| 归档时间: |
|
| 查看次数: |
844 次 |
| 最近记录: |