我们要做个系统,最后卡在上层界面展示的数据库存储选型上了。 我们初期用的 es ,因为数据量很大,可能在 20-30 亿,然后要求每个字段都可以模糊匹配,也能做一些统计。 因为 es 不能比较好的关联,所以我们把所有的业务数据,都放在一个很大的 json 中了,就一个表,每个表就存储了很多一模一样数据结构的大 json ,第一阶段这样没啥问题。
但是 2.0 的需求上升了数据维度,举个栗子: 1.0 版本,我们的 json 存储了 班级、人员、喜好 等信息,我们只要通过喜好=xxx 就可以直接查询到 班级、人员、喜好... 2.0 版本,我们想在 es 搜索喜好,但是只想要班级、人员信息,不需要把喜好的数据带出来: 输入 喜好=xxx 输出 班级 A 人员 A 班级 B 人员 B 由于我们所有信息都放在一个 json 里面了,所以会有很多 班级 A 人员 A 喜好 A 班级 A 人员 A 喜好 B ... 这种结构,就不能直接输出 班级 A 人员 A 班级 B 人员 B ,是需要过滤的