由于我们在应用程序中收集的数据的性质,有必要让用户能够搜索超过 1,000,000 行数据,并尽可能快地在客户端接收结果。
我们玩过各种技术,目前正在试验文档存储引擎 MongoDB。我们本质上是以我们希望在客户端显示的方式将报告数据存储在 Mongo 中。
但是,这就是我想依靠你的经验的地方。我们使用了一些报表插件,例如 datatables.net,但是当客户端请求可能匹配 100,000 多条记录的数据时,将数据传递到客户端的延迟可能需要一分钟以上才能将 JSON 从服务器导出到客户。
我曾尝试通过一次仅向客户端发送 1000 个结果来过滤结果集,但如果用户决定对列进行排序怎么办?必须再次执行整个请求,并将第 1000 个结果加载到客户端。
但是如果客户选择在一个列中搜索,结果必须再次重新获取。当所有数据都加载到客户端时,所有这些问题都不存在。
所以本质上我的问题是,您如何有效和快速地允许客户端搜索和操作大型数据集,但以一种不需要一次性发送每个结果的方式将结果传递给客户端,从而保持客户端尽可能轻量级?
我确定 MongoDB 必须有一些前端数据表类型插件,可能通过 node.js 进行直接 JSON 通信,但我找不到任何东西!
谢谢你的帮助。