2

首先,让我指出,我阅读了所有关于数据库版本控制的帖子,但这并不是我想要的,但我想不出一个更好的标题(这里的“完整”这个词是钥匙)。

我有一个“编译数据库”,它包含公共交通路线规划器的所有类型的优化记录和统计数据,它是通过另一个数据库的程序生成的。编译的数据库在它处于活动状态时永远不会改变,除了用户活动监控和缓存。有些表包含多达 2-300,000 条记录。

一旦输入数据库发生更改,此编译数据库将完全更新。因此,任何新的数据库版本都不会以任何方式与任何其他先前版本进行交互。但我想单独存储每个版本,如果用户愿意,我有机会从程序中使用它(把它想象成公共交通地图的历史)。

唯一合理的方法是简单地为每个版本制作不同的物理数据库,这既不难也不错,但我想问你是否知道对完整数据库进行版本控制的任何机制(不仅仅是其中的部分数据,就像其他帖子一样问),目的是使整个事情更加合乎逻辑和干净。

我使用的是 SQL Server 2012,但在服务器上可能是 2008 R2。

如果您想将版本化数据存储在同一个数据库中(并在每个表中添加一个 VersionID 列)忘记它,因为在具有 2-300,000 条记录的表上,10 个版本(将在不到 3 个月的时间内累积) 将意味着超过 300 万条记录,其中只有 300,000 条会被使用,所以,没办法!

4

1 回答 1

2

我认为多数据库方法很好。您可以尝试进行存储级重复数据删除。这可能会大大减少存储使用量。只需确保创建新数据库作为备份并从旧数据库恢复,以使它们大部分字节相同。

于 2012-08-15T21:03:58.837 回答