需要有关Stackoverflow相关项目的数据库建议

时间:2013-04-15 06:28:49

标签: sql database nosql

我正在努力实现类似于SO的“相关问题”功能的功能。我想为C,C ++等少数标签提出最匹配的问题。如果我想要良好的性能,或者我应该坚持像MySQL这样的传统关系数据库,是否更喜欢使用像MongoDB这样的NoSQL DB进行这种项目。

我看过一些类似的问题但不完全是我想要的 - What is the SQL used to do a search similar to "Related Questions" on Stackoverflow

1 个答案:

答案 0 :(得分:0)

更多信息可以帮助您指明方向。您期望什么数据量?有多少并发用户会查询数据库?您是否计划将所有问题存储在数据库中,或者只是通过ID:s?

与它们相关联

另外,对环境的要求是什么? Java,.NET还是其他?

如果您的目标是在标签和问题/主题之间实现关系,我会选择面向对象的数据库,并使用一些易于使用的查询语言。像:

public class Question
{
   String QuestionsText;
}

public class Tag
{
   String Tag;
}

public class TagPerQuestion
{
    Tag ConnectedTag;
    Question ConnectedQuestion;
}

然后,您可以使用TagPerQuestion轻松查询具有类似Tag的所有问题。这将是干净和容易的。这种实现可以在Starcounter(.NET),VoltDB(Linux)中轻松完成。

如果您的项目数量不是极端且simultanius用户数量很少,您可以使用像MySQL这样的传统数据库,而是用表替换类。