1. 程式人生 > >基於mongodb的標籤系統設計

基於mongodb的標籤系統設計

以前基於lucene設計過一個標籤系統,在資料量和併發量比較小的情況下勉強可以使用,資料超過100萬條時查詢就超過1秒,排序更是影響很大的效能,不適合中型網站的規模,最近在研究nosql資料庫,發現mongodb很不錯,支援多值欄位,而且在其內部是通過倒排索引實現的,足可i支援一個標籤系統,而且mongodb是的查詢功能與關係資料庫最接近,併發讀寫都具備比較好的效能,於是開始測試,發現從建立索引270萬條資料中檢索並按時間排序需要小於5ms的時間,真是效率驚人,當然有好處,也有不做,mongodb檢索支援的語法不如lucene豐富,僅支援 and or,和not in, 其中not in 可以和and 或or組合,其他複雜的操作只能通過js解決了,但使用js效率就大打折扣了,但是我們的功能要求,不需要js幫助就能實現了。我想一般的網站的標籤使用and or應該就可以解決了。