如何优化这个任务系统?

正在做的一个后台系统,其中有个功能是这样的:

  1. 背景:每个用户都有一个几万行数据的表格(存储在mongo中)
  2. 需要从一个大的表格(几万行)中筛选出所需的数据(每一列都可筛选)
  3. 按列筛选后,还可按复选框选择数据,根据所选数据生成一个分析任务。
  4. 任务结果页面需要显示出所选的数据,也可以进行进一步筛选/复选/分析

主要问题出现在存储所选数据方面,目前的方案是后端根据前端的一些筛选条件找到所选的数据,把每一行的数据ID存储在mysql中,大致(data_id, task_id), 然后进行后续操作。

这就导致一个问题,存储的这些ID的表越来越大,随着用户越来越多,任务越来越多,这个数据量将会变的巨大。

请问如何优化这种情况,直接存储筛选条件是否可行?

抽象下大概是下面的功能:

将一个几万条数据池分成若干个数据集,用户可以自由创建数据集合。如何存储数据集和数据的对应关系?

阅读 2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏