Php 压缩存储在MySQL中的图表测量数据
问题: 我的应用程序每5分钟收集约1000个不同测量的数据集。 因此,我每小时收集12000个新数据集 我需要导出这些图表数据:1小时、24小时、1天、1周、1个月、3个月、6个月、1年、所有时间 因此,为了获得更安全的存储和更好的性能,我想压缩这些数据 想法: 1天后,我可以分解这些数据。因此,我想计算12“5分钟测量”的平均值,以获得1小时的值 大约一周后,我可以对所有“1h测量”进行同样的操作,并计算其中24个的平均值,以获得当天的平均值 我在拉维尔工作(5.4)。 数据库看起来像:Php 压缩存储在MySQL中的图表测量数据,php,mysql,database,laravel-5,Php,Mysql,Database,Laravel 5,问题: 我的应用程序每5分钟收集约1000个不同测量的数据集。 因此,我每小时收集12000个新数据集 我需要导出这些图表数据:1小时、24小时、1天、1周、1个月、3个月、6个月、1年、所有时间 因此,为了获得更安全的存储和更好的性能,我想压缩这些数据 想法: 1天后,我可以分解这些数据。因此,我想计算12“5分钟测量”的平均值,以获得1小时的值 大约一周后,我可以对所有“1h测量”进行同样的操作,并计算其中24个的平均值,以获得当天的平均值 我在拉维尔工作(5.4)。 数据库看起来像: id
id |标识符(唯一)|值(浮动)|在(日期)创建|
该服务器具有4个CPU 3.0 Ghz、32 GB DDR3 RAM
现在,我正在寻找一种高性能的算法来处理大量数据
编辑:
一个想法可能是将大量数据及其对SVG图表的计算结果提取到Google平台(结果可以发布到实时服务器上——所以这个不会计算任何东西)
你觉得这个想法/(可能的)解决方案怎么样?如果是谷歌的产品,你会推荐哪一种呢?我会使用一个单独的MySQL表来记录历史、日期、星期等 在午夜和每周为创建一个cronjob,您可以通过查询(如
从“2017-09-07”和“2017-09-08”GROUP BY identifier”之间创建的数据集中选择平均值)非常高效地收集结果,存储结果并在成功解析数据集表后从数据集中删除数据
虽然我会在日期栏中添加一个索引,但我认为这样做甚至不需要几分钟。性能有问题吗?@草莓这些图表是针对网络应用使用情况的,有很多活跃用户。速度是这个应用程序所必需的。而速度目前是一个问题?目前应用程序速度非常快。所以这不是一个真正的问题在这种情况下,不要担心。当它成为一个问题时,要么你足够富有,可以聘请专业人员来解决问题,要么你太富有而不关心问题。谢谢你!我会试试看。你认为做一个原始查询或使用Eloquent更好吗?我总是使用一个抽象层,所以如果这适合你的需要,就使用Eloquent。这会让你更容易理解你的痛苦少了。