我每天有计划,并得到从另一个数据库表中的一些数据,并在我的主要应用程序的数据库表转储的应用程序,记录在此表数量的增加,我认为它是交易事件数据将每天增长该occur.This数据由主应用程序这需要每个记录并执行所需要的分析和标记为所处理的每个记录中使用的用于处理。

我能提供什么样的解决方案,这样我可以保持数据库的规模在未来下来?

那你怎么去了解它在这种情况呢?

从我的一些企业应用的观察,一个提供了一个选项,用户可以 档案记录'年龄大于60日龄等..到文本file.Well我可以提供一个选项,从数据库中存档处理记录到一个文本文件和删除的记录,文本文件,可以在以后导入,如果有必要吗?这是一个解决方案?

有帮助吗?

解决方案

如果你偶尔需要访问旧的数据,然后构建过程将其存档为文本,然后加载从文本回可能不是一个很好的解决方案。硬盘驱动器很便宜。

您可汇总旧的数据。例如,如果交易数据在毫秒粮食,但现在当你在较旧的数据报告,你的一天让它再考虑聚合数据为“日报”为您的归档进程。您可以折叠几十万行成短短的每一天。

也可以考虑一个很好的分区方案,你可以保持在一个磁盘组和归档数据到其他磁盘最近的交易,希望能在流程中,您可以轻松地添加新的磁盘,并创建表,这些磁盘。

其他提示

贵公司是否有

什么样的过去的数据报表需求?删除归档数据到一个文本文件是一切都很好,假设你并不需要能够报告关,在未来的数据。然而,具有其在文本文件意味着你必须具有一个手动过程将其导入上需求成在需要时的数据库。

一个更好的选择是移动档案数据断开成不用于事务处理(OLTP),而是被用作分析处理数据库(OLAP)的基础数据仓库数据库。在时机成熟时上报关闭此存档数据,其蓄势待发。如果你小心你如何在这个档案数据库结构的数据,应该是很容易的所有数据聚合到一个OLAP多维数据集,这使得关闭该数据更快,更灵活。

的报告

但同样......取决于你是否上报过数据与否,以及如何早的时间,报告可能会去。

这不取决于有多少分析将过去的数据来完成,但有一种方法来保持它的所有的数据库,而性能成为一个问题。

这想到的解决方法是在分割问题的表。我公司拥有具有按月分区的数据,每个包含大约20万行的数据库表。分区使得使用该数据远低于如果它被存储在一个单一的表更实用。现在唯一的真正约束的磁盘空间,这是给一个非问题是多么的便宜,这些天。

我知道,但是,有些数据库不支持分区。如果是这种情况,我想存储在分隔的文件中的数据将是适当的解决方案。

恕我直言,这取决于是如何可能的是,用户将需要分析过去的数据。如果它是有可能的,只是创造了良好的指标,并保持所有的数据在主数据库中。

如果它不那么它下降到一个TXT。它发生在哪里的时间必须是可配置的,当然。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top