【发布时间】:2016-03-14 11:44:08
【问题描述】:
我正在使用spring mvc和hibernate envers来审计我的数据库,我该如何处理旧数据以减少使用的磁盘空间?
我是否必须在每个特定时期备份数据库并在备份后清空审计数据库?有什么技术可以解决这个问题吗?
【问题讨论】:
标签: mysql spring hibernate hibernate-envers
我正在使用spring mvc和hibernate envers来审计我的数据库,我该如何处理旧数据以减少使用的磁盘空间?
我是否必须在每个特定时期备份数据库并在备份后清空审计数据库?有什么技术可以解决这个问题吗?
【问题讨论】:
标签: mysql spring hibernate hibernate-envers
Hibernate 的手册中描述了一种技术,称为分区:
https://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch15.html#envers-partitioning
然而,它似乎只解决了索引/查询时间问题(它只创建了最可能重要的数据“桶”(最近的数据)),而不是磁盘空间本身。
如果您的旧数据对于您的应用程序运行而言并非绝对必要,您可以使用“结束修订日期”作为 cut 来删除您的 _AUD 表中的哪些行。这不会破坏环境,只是不会为您提供正确的修订历史记录。
【讨论】: