如何在数据库中存储修订数据?
How to store revision data in database?
我在 SQL 服务器数据库 table 中有一个 xml
类型的列。
此列数据必须能够存储其所有以前的修订和每个修订的一些数据。
因为它可能是大文件,只有很少的更改,所以在每次保存时重新存储整个 XML 字符串是愚蠢的。所以我正在寻找一种以版本控制方式仅存储差异的方法。
我需要的主要功能:
- 保存第一次修订
- 每次更改时,将此版本与上一版本进行比较并仅存储差异,将当前版本静态存储在某个地方以获得方便的版本
- 回滚
如何实现该功能?
XmlDiff 可能会有用。它在两个 XML 文档之间产生差异(如 XML)。
我还会压缩(zip、deflate)列中的数据。您可以手动进行压缩,但 SQL Server 2014 也允许压缩列。
我在 SQL 服务器数据库 table 中有一个 xml
类型的列。
此列数据必须能够存储其所有以前的修订和每个修订的一些数据。
因为它可能是大文件,只有很少的更改,所以在每次保存时重新存储整个 XML 字符串是愚蠢的。所以我正在寻找一种以版本控制方式仅存储差异的方法。
我需要的主要功能:
- 保存第一次修订
- 每次更改时,将此版本与上一版本进行比较并仅存储差异,将当前版本静态存储在某个地方以获得方便的版本
- 回滚
如何实现该功能?
XmlDiff 可能会有用。它在两个 XML 文档之间产生差异(如 XML)。
我还会压缩(zip、deflate)列中的数据。您可以手动进行压缩,但 SQL Server 2014 也允许压缩列。