1

在我的项目中,我有这样的逗号分隔数据,(其他属性也存在)。基本上,电影数据集具有与该电影相关的不同信息。为了争论,数据可能是一百万。打算对评论、概要、情节进行语义搜索。

在此处输入图像描述

该界面将简单地帮助人们根据他们的喜好过滤他们选择的电影列表(选择如 year=2011,Actor=Tim AND Saw 等)。

该界面包括过滤器,这些过滤器接受(电影、年份、演员、音乐等)的输入条件。这些过滤器是从数据库中动态填充的,并根据计数进行排序,并在标签旁边有相应的计数。选择过滤器后,其他过滤器值也会动态变化。
(例如,如果我选择 CA,则在“国家/地区”的过滤器列表中,“演员”的筛选器列表将仅包含来自国家/地区 CA 的演员,并根据计数进行排序)

我认为,为了在 MySql 中发生这种情况,我们需要将数据规范化为具有共同 ID 的多个表。但是,当列数有更多这样的逗号分隔数据并且具有如此大的数据集时,使用 JOIN 操作的数量不会减慢界面速度吗?

有没有其他选择?我错过了什么吗?还是我应该寻找 MySql 之外的选项?如果是这样,它们是什么?NoSql 能帮上忙吗?

4

1 回答 1

0

您正在以一种非常相关的方式考虑您的数据,因此我建议您规范化您的数据并使用关系数据库。

不要太担心 JOIN 的性能。只要连接在预定义的辅助键上相等,并且所有可搜索字段都有索引,性能应该是可以接受的。

当您真的想查看 No-SQL 解决方案时,您可以查看基于图形的数据库,例如Neo4j(一个在线演示非常接近您的用例)。

于 2013-09-09T21:08:37.993 回答