javascript中大量数据的高性能图表

时间:2010-09-12 12:45:31

标签: java javascript flash performance charts

我需要一个高性能的图表组件。 使用的基础技术并不具体;可能是javascript,flash或java的价值。

我需要解决这些问题:

1。我需要为这类数据确定合适的图表类型:

001. testA 002,003
002. testB 003,004
003. testC 004
004. testD

目前,我想到了一种网络视图:

http://www.connectedaction.net/wp-content/uploads/2009/09/2009-September-NodeXL-CHI-2010-Tag-Network.png

http://visualgadgets.blogspot.com/2008/06/graphs-and-networks.html

2。图表需要在性能方面表现出色:

到目前为止,我有超过6.04亿条记录,而且预计未来几天它会增长到10亿条。这可视化很多。

第3。该图表需要从javascript

访问

考虑到问题 2 ,我需要一次性(在应用程序sartup期间)可视化图表,然后逐步更新。 “更新”是指“添加记录”;记录(以及节点之间的链接)将不会被删除。


不知道我还能添加什么,这几乎都是。


编辑:我收到了一些有用的建议;我可以使用预处理数据来显示完整的图表,然后只显示相应放大的实时细节。

但是,鉴于我的上述数据格式,考虑到可能存在循环引用,这样做有点困难。我将不得不考虑这一点。

与此同时,我仍然需要有关网络/拓扑图的良好图表组件的建议。

3 个答案:

答案 0 :(得分:3)

这省略了服务器端图表,因为如果您维护一个高流量的网站,那将占用服务器上的大量资源。合乎逻辑的是让客户端进行图表处理。

除非您在单个页面上显示大量图表,否则性能不应该是交易客户端的大部分。但是,要使用这些数据,您需要重新格式化它以便读取任何图表工具包/框架。

Raphael是一个很好的可视化工具包,可能有一些工具包可以扩展Raphael来做更具体的图表。 Afaik,当你开始使用拉斐尔时,你需要做很多手工编码(尽管你的所有十亿图表仍然只有一次; oP)。

这是指向top 5 jQuery图表列表的链接。

使用简短的Google会话可以找到更多信息;)

答案 1 :(得分:1)

要考虑的另一个选择是预处理数据库。我几年前在sql server上做过这个,我们设置了第二个带有一些非常复杂的DTS包和sql脚本的数据库服务器,它们接收了我们正在使用的大量数据并对其进行了总结,让晶体报告服务器能够处理报告。

你失去了获得实时报告的能力,但如果这不是一项要求,那么它对我们来说效果很好,你减少了你正在使用的任何报告服务器的负担,减少了生产数据库的负担,无法运行报告并让它专注于运行应用程序它还减少了客户端浏览器的负载,因为您不必向图表发送这么大的数据块。

就可视化而言,我听说过很多关于JavaFX及其图表功能的好东西。

答案 2 :(得分:0)

关于图表,我找到了以下候选人:

ProtoVisjsViz

两者都是基于javascript的,因此渲染速度很慢(我猜?)。我想我会首先尝试ProtoVis。