保留大型数据集的最佳策略是什么?

保留大型数据集的最佳策略是什么?

伪装你 发布于 2021-10-16 字数 365 浏览 735 回复 5 原文

我正在领导一个项目,我们将记录度量数据。我想把这些数据保留几年。但是,我也希望主表中不会出现数据膨胀的情况,这些数据虽然对于长期趋势分析是必要的,但对于短期报告来说是不必要的。
处理这种情况的最佳策略是什么?只需将旧数据归档到另一个表?或者通过数据本身的某种整合(然后将其存储到另一个表)来“汇总”?或者完全是别的什么?
其他信息:我们正在使用SQL Server 2005。

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

做个少女永远怀春 2021-10-18 5 楼

这两种选择中的任何一种都很好,但这实际上取决于问题领域。对于现金余额或统计数据之类的东西,我认为汇总记录并合并它们是最好的方法,然后您可以将汇总记录移动到一个并行归档表中,以这样的方式键入它们,以便在必要时可以“展开”。这样可以保持主数据表的干净和快速,但允许保留额外的数据以供审核或其他用途。关键问题是,如何实施“汇总”过程。是通过触发器或服务器端进程自动执行,还是通过应用程序级别的用户干预执行?

眉黛浅 2021-10-18 4 楼

@Jason-我不认为将数据保存在纯文本文件中可以让您轻松地对数据进行长期趋势分析。
@Jason—我想我的观点是,如果业务人员需要对数据进行任何形式的特别分析(即趋势分析),那么将数据汇总或归档到文本文件并不能解决任何问题。当然,在许多语言中编写代码来使用文本文件是很容易的,但是这个问题已经解决了。此外,我认为,如果设置和维护得当,今天的RDBMS都非常耐用。如果他们不是,你为什么要在一家公司的基础上经营一家公司(更不用说将数据归档到它了)?我不认为归档到纯文本文件有什么意义,因为有人声称文本文件的耐久性优于数据库。

少女净妖师 2021-10-18 3 楼

根据预算等约束条件,这听起来像是数据仓库应用程序的完美候选。这通常会引入一个用作数据仓库的新服务器。SQL Server 2005支持许多这种开箱即用的活动,此外,您还可以利用其他SQL Server服务(如Analysis services、Reporting services)为用户提供附加价值。(见 http://www.microsoft.com/technet/prodtechnol/sql/2005/dwsqlsy.mspx

反话 2021-10-18 2 楼

如果您使用的是SQL server 2005,这可能是使用 partitioned tables 的一个很好的候选者。

琴流音 2021-10-17 1 楼

在我的工作中,我们使用这两种方法,但略有不同,我们将所有销售数据保留在主表中30天,然后在夜间(夜间工作的一部分),将当天的销售汇总到一个单独的表中的摘要(n数量x今天售出的产品等),以报告原因,并将30天以上的销售归档到不同的数据库中,然后每年(我们在纳税年度)启动一个新的归档数据库。不完全完美,但。。
通过这种方式,我们可以快速获取摘要数据,将所有当前销售数据保存在手边,并为详细的归档数据提供无限的空间。我们确实尝试将所有数据保存在一个数据库中(在不同的表中),但数据库(interbase)的文件大小会增长得太大,从而会拖累系统。
我们唯一真正的问题是访问跨越多个数据库的详细数据,因为连接和断开连接的速度很慢,而且必须用代码而不是sql进行分析