2014-06-26 98 views
5

我一直在DC和crossfilter JS和我现在有55万行和大小60MB CSV大型数据集和我面临着很多的问题,它就像浏览器crossfilter崩溃等DC和大型数据集

所以,我试图理解dc和crossfilter如何处理大型数据集。 http://dc-js.github.io/dc.js/

于他们的主要网站上的例子运行速度非常流畅,看timelines->内存(控制台)后进入的34 MB的一个最大和随时间缓慢

我的项目是占用内存在降低的300-500mb每下拉选择的范围内,当它加载一个JSON文件,并呈现整个可视化

所以,2个问题

  • 什么是直流网站例如后台?是否有可能找到确切的后端文件?
  • 如何从我的应用程序减少RAM上的数据超载,该应用程序运行速度非常缓慢并最终崩溃?
+0

你能分享一个例子吗?你正在谈论大量的数据,但它不一定超出可管理的范围。 –

回答

2

嗨,你可以尝试运行加载数据,并在服务器上过滤它。当我的数据集的大小太大而无法处理浏览器时,我遇到了类似的问题。 几周前我发布了一个问题,以实现相同。 Using dc.js on the clientside with crossfilter on the server

下面是关于它的概述。

在客户端,您希望创建具有dc.js期望的基本功能的假维和假组(https://github.com/dc-js/dc.js/wiki/FAQ#filter-the-data-before-its-charted)。您可以在客户端创建您的dc.js图表​​,并根据需要插入假维度和组。

现在在服务器端,您有交叉过滤器运行(https://www.npmjs.org/package/crossfilter)。你在这里创建你的实际尺寸和组。

fproofimensions具有.filter()函数,该函数基本上向服务器发送ajax请求以执行实际的过滤。过滤信息可以以查询字符串的形式编码。您还需要虚假组上的.all()函数来返回过滤结果。

+1

谢谢你这个想法,你可以请分享一个例子如何去实现这个?我一直在阅读它一段时间,但无法完全理解。 –

+0

你能举个例子吗? –

+1

是的,请给我一天。 –