我有一个11 MB的数据集。每次加载文档时加载速度都很慢。
d3.csv("https://s3.amazonaws.com/vidaio/QHP_Individual_Medical_Landscape.csv", function(data) {
// drawing code...
});
我知道,一旦将数据加载到浏览器中,就可以使用crossfilter对数据进行切片和切块。但在此之前,数据集很大。我只使用数据的聚合。看起来我应该在将数据发送到客户端之前预先处理服务器上的数据。也许,在服务器端使用crossfilter。关于如何处理/处理d3的大型数据集的任何建议?
答案 0 :(得分:1)
您的数据是否动态?如果不是,那么你当然可以聚合它并将结果存储在你的服务器上。聚合只需要一次。即使数据是动态的,如果更改很少发生,那么只有在数据更改和缓存结果时才能从聚合中受益。如果您拥有高度动态的数据,以至于您必须在每次加载页面时对其进行新的聚合,那么在服务器上与客户端进行比较可能取决于您期望的并发用户数。许多并发用户可能会使您的服务器陷入困境。 OTOH,如果您的用户数量很少,那么您的服务器可能(可能?)比用户的浏览器具有更强的马力,在这种情况下,它将能够比浏览器更快地执行聚合。另请注意向用户发送11 MB的带宽成本。可能不是什么大问题......除非他们在移动设备上加载页面并进行操作。
答案 1 :(得分:0)
答案 2 :(得分:0)
服务器端(gZip)如何压缩。压缩后应该是几kb,浏览器将在后台解压缩。