我有相当多的数据(约 400 个 mio 数据点),它们组织在一组约 100,000 个时间课程中。该数据可能每天都在变化,出于修订安全的原因,必须每天存档。
显然我们在谈论太多数据无法有效处理,所以我对样本数据进行了一些分析。大约。两天之间,60% 到 80% 的课程完全没有变化,其余的只有非常有限的元素变化。总而言之,我预计少于 10 个 mio 数据点的变化。
问题是,我如何利用这些知识?我知道 SVN 使用的 Delta-Trees 和类似技术之类的概念,但是我更愿意,如果数据库本身能够处理这种语义压缩。我们使用 Oracle 11g 进行存储,问题是,有没有比自制解决方案更好的方法?
澄清
我说的是代表每小时能量流的时间进程。这样的时间进程可能开始于过去(如 2005 年),每年包含 8760 个元素,并且可能在 2020 年之前的任何时间结束(目前)。每个时间课程由一个唯一的字符串标识。
课程本身或多或少有些无聊:“Course_XXX: 1.1.2005 0:00 5; 1.1.2005 1:00 5;1.1.2005 2:00 7,5;...”
我的任务是使这些课程中的日常更改可见,为此,必须每天在给定时间拍摄快照。我的希望是,一些无损语义压缩将使我免于每天归档约 20GB。