巨大的数据在DyGraph中

时间:2014-05-05 14:25:22

标签: asp.net html5 dygraphs

使用Dygraphs,我创建了温度与时间的折线图。在我的数据库中,我有700k的记录,它可能会继续增加分钟。我可以在图表中绘制所有700k的记录。问题是一次性取出所有这些是消磨时间,每次刷新页面花了15分钟。这实时爆炸了。

有没有更好的方法来处理数百万条没有数据大小限制的记录?我做了我能做的一切。是否有任何替代库来处理这些东西?

3 个答案:

答案 0 :(得分:2)

在所有JavaScript图表库中,dygraphs通常被认为是handle large data sets well。如果它对您的需求来说太慢,您应该尝试下采样数据或减少您显示的数据范围。

答案 1 :(得分:1)

我遇到了同样的问题。我的解决方案是这个伟大的dygraphs扩展:

http://kaliatech.github.io/dygraphs-dynamiczooming-example/

它适用于大量数据(在我的情况下,大约有1000万到1500万个数据行)。您只需编写一些服务器端代码即可从数据库中获取聚合数据。在我的例子中,我在数据库本身创建了一个存储过程,它接受了开始日期,结束日期,一些其他用于数据点识别的ID,以及 - 最重要的是 - 值被分组和聚合的时间段。几乎立即通过ajax请求并发回数据,因此前端用户可以获得非常流畅且响应迅速的用户界面。

我聚合这些值,使得日期时间/值对的数量等于图表区域的宽度(以像素为单位),无论如何都不会显示更精细的分辨率。通过这样做,您可以最大限度地减少通过电线"发送的数据量。

答案 2 :(得分:0)

我有一个图表应用程序,使用Dygraphs定期显示超过100,000条记录,我唯一可以说的延迟是通过互联网连接加载数据。一旦加载了数据,操作它(窗口化,改变平均值)几乎是即时的,我使用的是Core2Duo CPU,而不是真正的最新技术。 我建议你查看下载带宽。 无论瓶颈是什么,在通过电线发送之前减少数据集将有助于解决所有问题,除了细节分析。