2013-04-15 122 views
0

我正在努力實現類似於SO的「相關問題」功能的功能。我想爲諸如C,C++之類的一些標籤提出最匹配的問題。如果我想要獲得良好的性能,還是應該堅持使用像MySQL這樣的傳統關係數據庫,是否更喜歡使用像MongoDB這樣的NoSQL數據庫來處理這類項目?需要關於與Stackoverflow相關的項目的數據庫建議

我已經看到了一些類似的問題,但不正是我要找 - What is the SQL used to do a search similar to "Related Questions" on Stackoverflow

回答

0

豆蔻更多信息,將有助於給你方向。你期望什麼數據量?有多少併發用戶將查詢數據庫?你打算把所有的問題都存儲在數據庫中,或者僅僅通過ID來連接它們:

另外,對環境的任何要求? Java,.NET或其他?

如果你的目標是在標籤和問題/主題之間的關係實現,我會用一些易於使用的查詢語言去找一個面向對象的數據庫。像:

public class Question 
{ 
    String QuestionsText; 
} 

public class Tag 
{ 
    String Tag; 
} 

public class TagPerQuestion 
{ 
    Tag ConnectedTag; 
    Question ConnectedQuestion; 
} 

然後,你可以很容易地使用TagPerQuestion查詢所有相似標籤的問題。這將是乾淨和容易的。這個實現可以在Starcounter(.NET),VoltDB(Linux)中輕鬆完成。

如果您的項目數量不是極端,且simultanius用戶數量很少,您也可以使用像MySQL這樣的傳統數據庫,並用表格替換類別。

+0

感謝Niklas.My併發用戶的數量非常低,但項目數量很大,因爲我試圖存儲所有問題的完整數據。 – code4fun