我刚刚开始解决这个问题,我想让用户任意选择范围和过滤器,使他们能够在网页上绘制大型数据集(实际上应该不超过1000万个数据点)。我使用elasticsearch作为存储和聚合数据的方法,以及用于跟踪摘要数据的redis,而d3.js是我的图形库。绘制大型数据集(1M +)的好策略是什么?
我对最佳解决方案的看法是在可用于从中绘制的不同分组中预先计算出摘要。因此,如果数据点存在数年,我可以按月份和日期分组(按我的意思),但是可以按照半天,四分之一天,小时,半小时等分组进行分组。然后,在我查询图形数据我做了一个快速计算,看看哪些分组会给我一些理想数量的数据点(比如1000)。
这是解决问题的合理方法吗?有没有更好的办法?
10M积分?人们这样做吗? :shocked: –
我会运行一些测试,看看10M点对你的服务器,数据库和吞吐量有什么影响。用户无需做任何他们想做的事情,只要它会严重影响其他人的系统性能。测试,如果它降低了速度,那么请设置一个他们可以选择的数字的上限。避免使用自己的网站是一种防御性的策略。 –
我没有看到任何理由让这么多数据点可用,因为它远远超出了屏幕显示它们的能力?我显然会记住DOS,但如果我基本上只需要几个M请求服务几个K数据点,它就会变得更加不容易。 –