问题在于我需要每天为很多实体存储1个整数(为时间戳添加新数据)(比如10万个实体,但它们可能很容易达到100万甚至5亿个随着实体在人口中的增长)
实体按层次结构分组,我可以使用这些实体进行过滤。
现在,我想快速计算一段时间内这些数百万个值的平均值(也许还只能使用过滤数据计算平均值)。我的直觉是,随着这些数据的增长(每天可能有2000万行,很难保证性能。
您能否提出一个简单的解决方案。我应该坚持使用MySQL或其他一些花哨的NoSQL解决方案会更好。就目前而言,计算所有实体(可能是MySQL需要调整)已经非常缓慢了
修改 因此,当检索值时,一些值变为空(这意味着没有任何关于这些值的说法)。所以在2000年1月1日到2000年1月10日之间的查询中。如果2个值为空,那么对于平均计算,将使用8个数据点(并且它将被除以8进行平均计算,因此它不像除以天数)。我担心的是,即使计数()需要时间加载 **。也许是关于调整,但我会对一些不需要调整的东西感兴趣并且也适用于这个特定的问题
答案 0 :(得分:1)
您可以使用数据库触发器来插入(或更新或删除),并使用nosql我认为视图会自动更新。使用sql解决方案,您也可以在应用程序中将其作为服务层的一部分来执行。
答案 1 :(得分:1)
您应该查看OLAP解决方案,其中聚合数据是游戏的名称。 RDBMS通常不能很好地处理聚合(当然,有一些方法可以帮助它进行索引,分区等)。但是,OLAP多维数据集旨在动态处理大量聚合和切片/切割。