2012-07-17 97 views
0

我已經在MySql中處理過一個簡單的博客,其中包含Tag表,TagMap表和Post表,但在我看來,這是一種非常複雜的存儲標籤方式並將它們與帖子相關聯。通過標籤獲取帖子的查詢同樣令人費解。用於多標籤搜索的最佳數據庫系統

現在我正在Node.js中做一個項目,我正在尋找一種新的方式來存儲我的數據和一個新的數據庫系統。我查看了CouchDB,但似乎有problems搜索多個標記,並且對於我所要實現的內容來說,視圖的概念似乎太複雜了。

有沒有一個數據庫系統,最好是有一個庫/客戶端出於node.js,這是有效的,這使得整個標籤,看起來很直觀?

回答

2

在這種情況下,我認爲你不會比關係數據庫做得更好。

如果您需要標記同義詞,請參閱here以獲取一些想法(但請注意,由於MySQL查詢優化器的缺陷,EXISTS應該重寫爲另一個JOIN)。沒有同義詞,這個模型可以進一步簡化。

重要的一點是,使用諸如clusteringcovering之類的技術應該可以爲絕對數量巨大的數據和併發用戶提供充足的性能。人們似乎犯的一個錯誤是在標籤映射表中使用代理鍵,這會破壞集羣。

0

Redis集可能在這裏工作得很好:創建一個由標籤或標籤ID組成的帖子ID以及由帖子ID組成的標籤(或標籤ID)組成的集合。然後,您可以使用redis的內置集合交集和聯合運算符來基於多個標籤進行快速搜索。

相關問題