在我们公司,我们从我们的服务器(负载,磁盘使用情况等)收集统计数据的应用程序压缩大型数据集。由于数据量很大,我们并不需要所有的数据,所以我们有一个“压缩”程序,它接收原始数据并计算最小值。最大值和平均值,将这些新值存储在同一个表中,并在几周后删除旧值。处理/在多个表
现在我任务是重写这个压缩例程和新程序必须保持我们一年有所有未压缩的数据在一个表和“压缩”数据在另一个表。我现在主要关心的是如何处理连续写入数据库的数据以及是否使用“事务表”(我自己的术语,因为我不能提出更好的表达式,我不是在谈论提交/回滚事务功能)。
截止目前,我们的数据采集器将所有信息插入名为ovak_result
的表中,并且压缩数据将以ovak_resultcompressed
结尾。但是,创建一个名为ovak_resultuncompressed
的表格并仅将ovak_result
用作“临时存储”,是否有任何特定的优点或缺点? ovak_result
将保持最低限度这将是很好的压缩程序,但我需要从一个表打乱所有的数据到另一个不断,并且会有不断的阅读,写作和ovak_result
删除。
是否有在MySQL任何机制来处理这类事情?
(请注意:我们谈论的是相当大的数据集在这里的未压缩表(约100 M行的压缩表约1-10 M行)另外,我可以做很多我想要的东西。如果您有涉及MySQL配置或硬件设置的任何提示或想法,请随身携带。)
有趣的引擎,但不幸的是远离我所需要的。缺少索引会使它很难使用,因为我需要加入一些表格,至少需要更新函数。 澄清我关于压缩的讨论;我所描述的“压缩”(应该称之为求平均值)是为了使其更加可用(例如,在查看几个月的趋势时,图形图表变得更加混乱),而不是保留磁盘空间。性能优先于磁盘空间。 – Lobo
FlexViews看起来非常有趣,尽管我还不确定它是否是我的问题的答案,但您的答案给了我不少的想法,并在过程中帮助我,所以我将这称为接受的答案。非常感谢:) – Lobo
我很乐意提供帮助。祝你的项目好运! –