为逗号分隔的数据集选择数据库模型

时间:2013-09-09 15:16:42

标签: mysql database nosql

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

enter image description here

界面可以简单地帮助人们根据他们的喜好过滤他们选择的电影列表(年份= 2011,演员=蒂姆和锯等选项)。

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

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

还有其他选择吗?我错过了什么吗?或者我应该在MySql之外寻找选项?如果是这样,他们是什么? NoSql可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您正在以非常关系的方式考虑您的数据,因此我建议您normalize your data并使用关系数据库。

不要过分担心JOIN的性能。只要联接与预定义的辅助密钥相等,并且所有可搜索字段都具有索引,性能就应该是可接受的。

如果您真的想要查看No-SQL解决方案,可以查看基于图形的数据库,例如Neo4j(一个online demo非常接近您的用例)。