2012-02-22 64 views
0

今天快速思考,CouchDB處理多個數據庫集合嗎?CouchDB:分離集合

爲了解釋我的意思,我們的網絡應用程序有兩種類型的用戶,免費和商業,他們的文檔和視圖結構差別很大。對於所有意圖和目的,它們是完全不同的產品。每個客戶都創建一個數據庫,幷包含他們所有的特定數據和設置。

不用過多的不必要的信息,我們目前在CouchDB的一個實例中混合了基於商業的數據庫和基於自由的數據庫。從純粹的組織角度來看,通過篩選(目前50個)基於免費的數據庫來查找(當前3個)基於商業的數據庫是非常麻煩的。有沒有更好的方法來組織或排序這些?

有沒有人有任何想法?我知道我可以簡單地將前綴添加到數據庫中,但是可以使用MySQL類型的方法創建單獨的數據庫。

回答

0

除了通過使用每個文檔的屬性(即你把你所有的免費客戶在同一個數據庫和前綴與財產您的意見),我不認爲分組數據有分組類似的數據庫在一起的任何方式除了你的建議前綴。

您總是可以考慮運行兩個實例,一個用於免費用戶,另一個用於付費用戶。

+0

好主意 - 但我想我會繼續運行額外的CouchDB實例。希望這不是太多的性能打擊! – crawf 2012-02-22 20:29:19

0

爲什麼不給couchdb用戶文檔添加2個屬性,比如.instance和.type,你可以將其存儲在.type字段'FreeUserType'或'PaidUserType'中,在.instance字段中只需要寫一些'你的'組/集合'的'ID'這樣你可以非常複雜的方式查詢你的用戶基礎,它會給你很多的靈活性來擴展你的數據庫與更多'相關'的數據對象,你可以'加入'的查詢。