首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用数据表进行审计与使用单独的审计表进行审计

使用数据表进行审计与使用单独的审计表进行审计
EN

Stack Overflow用户
提问于 2014-12-17 02:45:52
回答 1查看 299关注 0票数 0

我正在设计一个新的java应用程序,它对审计有非常严格的要求。这里有一个简短的上下文:

我有一个具有多个一对多嵌套关系的复杂实体。如果任何字段发生更改,我需要将其视为对象的新版本,并且所有这些都需要进行审计。现在我有两个选择:

1.)不要做任何更新操作,只要有任何变化就插入一个新的实体。这将要求我创建所有关系对象(即使它们没有被更改),因为我不想持有对任何以前版本对象的引用。我的数据表也变成了我的审计表。

2.)始终执行更新操作,并在单独的表中维护审计信息。这将在实现方面增加一些复杂性。

我想知道这两种方法中的任何一种是否有好的做法和坏的做法。

谢谢,-csn

EN

回答 1

Stack Overflow用户

发布于 2014-12-17 03:37:40

应该定义您的选择的是“实时”数据和审计的插入/更新/读取模式。

最常见的情况是,这两种类型的模式非常不同。

  • Conserning“实时”这在很大程度上取决于你的应用程序,但我可以想象你有重要的插入;有意义的更新;大量的读取。实时数据还需要事务性,并且表之间有许多关系,因此需要保持一致性。它们可能需要快速而复杂的搜索。
  • 审计的许多列上的索引有大量插入;几乎没有更新;读取很少。Read,search不需要复杂的搜索(例如,您只需要查阅审核并按日期对其进行排序)和许多列的索引。

因此,随着负载和数据大小的增加,您可能需要根据用例拆分数据并优化表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27511768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档