Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL与NoSQL,哪一种用于计算非常大数据集的平均值_Mysql_Nosql - Fatal编程技术网

MySQL与NoSQL,哪一种用于计算非常大数据集的平均值

MySQL与NoSQL,哪一种用于计算非常大数据集的平均值,mysql,nosql,Mysql,Nosql,问题是,我每天需要为许多实体存储1个整数(添加带有时间戳的新数据)(比如说1000万个实体,但随着实体人口的增长,它们很可能是1亿个甚至5亿个) 这些实体按层次结构分组,我可以使用它们进行筛选 现在,我想要一种快速的方法来计算一段时间内这数百万个值的平均值(也许也只是使用过滤数据计算平均值)。我的直觉是,随着数据的增长(可能每天增加2000万行),很难保证性能 你能推荐一个简单的解决方案吗?我应该坚持使用MySQL还是其他一些奇特的NoSQL解决方案会更好。目前,仅仅计算所有实体的速度已经非常慢

问题是,我每天需要为许多实体存储1个整数(添加带有时间戳的新数据)(比如说1000万个实体,但随着实体人口的增长,它们很可能是1亿个甚至5亿个)

这些实体按层次结构分组,我可以使用它们进行筛选

现在,我想要一种快速的方法来计算一段时间内这数百万个值的平均值(也许也只是使用过滤数据计算平均值)。我的直觉是,随着数据的增长(可能每天增加2000万行),很难保证性能

你能推荐一个简单的解决方案吗?我应该坚持使用MySQL还是其他一些奇特的NoSQL解决方案会更好。目前,仅仅计算所有实体的速度已经非常慢了(也许MySQL需要调整)

编辑:
因此,当检索到值时,有些值是空的(这意味着对这些值没有什么可说的)。因此,在2000年1月1日到2000年1月10日之间的查询中。如果有2个值是空的,那么对于平均计算,将使用8个数据点(在平均计算中,它会被8除掉,所以它不像被天数除掉一样)。我担心的是偶数()需要花费**的时间。也许是关于调整,但我会对一些不需要调整的东西感兴趣,这些东西也适用于这个特定的问题。我认为任何一个都可以。计算运行平均值的诀窍是按插入的方式进行,而不是按需进行。平均值很容易,因为它只是总和除以数字of加数


您可以使用数据库触发器在插入(或更新或删除)内容时执行此操作,使用nosql,我认为视图会自动更新。使用sql解决方案,您也可以在应用程序中作为服务层的一部分进行更新。

您可能应该研究OLAP解决方案,其中聚合数据是游戏的名称。RDBMS通常不能很好地处理聚合(当然,在索引、分区等方面也有帮助it的方法。)。但是,OLAP多维数据集被设计用于处理大量的聚合和动态切片。

Benchmark、Benchmark和yes-MySQL可能需要调整投票人的标题,投票人没有阅读内容就投了反对票。你不需要MySQL,但你需要一台超级计算机,就像实验室使用+1 Wh的超级计算机一样这是不是被否决了?这是个好问题。@NullUserException——检查你自己——看看我的补充,我不知道我怎么能(轻松地)为每个可能的视图计算平均值。必须根据视图计算平均值,因为它已按组、子组、子组、日期范围进行过滤etc@geoaxis,我看不出有什么问题。当你插入数据时,进行计算,这样当你需要结果时,你就可以把它放在某个地方。即使你必须进行大量的逻辑运算,并保持多重逻辑PLE平均值,它仍然比按需计算好,因为数亿行的计算将是昂贵的。有趣的是,不认为这是一个选项,将调查它。