【问题标题】:Hibernate Enverse old data handling?Hibernate Envers 旧数据处理?
【发布时间】:2016-03-14 11:44:08
【问题描述】:

我正在使用spring mvc和hibernate envers来审计我的数据库,我该如何处理旧数据以减少使用的磁盘空间?

我是否必须在每个特定时期备份数据库并在备份后清空审计数据库?有什么技术可以解决这个问题吗?

【问题讨论】:

    标签: mysql spring hibernate hibernate-envers


    【解决方案1】:

    Hibernate 的手册中描述了一种技术,称为分区:

    https://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch15.html#envers-partitioning

    然而,它似乎只解决了索引/查询时间问题(它只创建了最可能重要的数据“桶”(最近的数据)),而不是磁盘空间本身。

    如果您的旧数据对于您的应用程序运行而言并非绝对必要,您可以使用“结束修订日期”作为 cut 来删除您的 _AUD 表中的哪些行。这不会破坏环境,只是不会为您提供正确的修订历史记录。

    【讨论】:

    • 我使用 DefaultAuditStrategy 不包含结束修订日期,是否使用 DefaultAuditStrategy 替换分区?
    猜你喜欢
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多