Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。
上个月关闭。
Improve this question
(与版本化数据库模式无关)
与数据库接口(interface)的应用程序通常具有由许多表中的数据组成的域对象。假设应用程序在CVS的意义上支持这些域对象的版本控制。
对于某些仲裁域对象,您将如何设计数据库架构来处理此要求?有经验可以分享吗?
想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。
上个月关闭。
Improve this question
(与版本化数据库模式无关)
与数据库接口(interface)的应用程序通常具有由许多表中的数据组成的域对象。假设应用程序在CVS的意义上支持这些域对象的版本控制。
对于某些仲裁域对象,您将如何设计数据库架构来处理此要求?有经验可以分享吗?
最佳答案
仔细考虑修订要求。一旦您的代码库在操作系统中内置了普遍的历史记录跟踪,它将变得非常复杂。 Insurance underwriting systems对此特别不利,因为架构经常运行超过1000个表。查询也往往非常复杂,这可能导致性能问题。
如果确实仅需要报告历史状态,请考虑实现一个“当前状态”事务处理系统,其中的数据仓库结构可以跟踪历史记录。 Slowly Changing Dimensions是一种用于跟踪历史状态的结构,比尝试将临时历史跟踪机制直接直接嵌入到操作系统中的结构要简单得多。
同样,对于在当前记录中进行了更改的“当前状态”系统,Changed Data Capture更简单-记录的主键不会更改,因此您不必将包含同一实体的不同版本的记录匹配在一起。有效的CDC机制将使增量仓库装载过程变得相当轻巧,并且可以相当频繁地运行。如果您不需要最新的历史状态跟踪(几乎,但不是很清楚,以及oxymoron),这可以是一种有效的解决方案,其代码库比直接内置到应用程序中的完整历史跟踪机制要简单得多。
关于database - 对数据库持久对象进行版本控制,您将如何? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/125877/