由于我们在应用程序中收集的数据的性质,它允许用户能够搜索1,000,000多行数据,并且尽可能快地接收结果客户端。如何显示大量的报表数据客户端(mongoDB,JS)
我们玩过各种技术,目前正在试验文档存储引擎MongoDB。我们实际上是以我们希望在客户端展示的方式将报告数据存储在Mongo中。
但是,这是我想要依靠您的经验。我们已经使用了一些报表插件,比如datatables.net,但是当客户端请求可能匹配超过100,000条记录的数据时,将这些数据传递给客户端的延迟时间可能需要一分钟才能将JSON从服务器导出到客户。
我已经尝试通过只向客户端发送1000个结果来过滤结果集,但是如果用户决定对列进行排序呢?整个请求必须再次执行,并将第1000个结果加载到客户端。
但是,如果客户端选择在列中搜索,结果必须重新获取。所有这些问题都不存在,当全部的数据已经被加载到客户端。
所以基本上我的问题是,怎样才能高效快速地让客户搜索和操作大型数据集,但将结果以一种不需要每次结果一次性发送到客户端的方式传递给客户端,因此保持客户端尽可能轻量级?
我确定必须有一些MongoDB的前端数据类型插件,可能通过node.js直接进行JSON通信,但是我找不到任何东西!
感谢您的帮助。
值得注意的是,MongoDB在[BSON](http://bsonspec.org/)中存储对象,所以仍然存在转换为JSON的情况。我怀疑你看到的大部分延迟只是由于必须传输和解析客户端的数据量。 – 2011-02-05 19:06:36