2010-05-02 20 views
1

我正在使用couchdb建立文檔生成系統。它從可管理的文檔片段中自動生成提案和演示文檔文檔。couchdb:每個賬戶一個數據庫vs全部在一個數據庫中w。命名空間/屬性

就像Basecamp一樣,它非常簡單地分解爲每個「帳戶」的自包含數據。每個帳戶都有多個用戶,項目,文檔等。但是,帳戶之間不應該共享任何內容。

我可以看到這樣做的兩種方式:每個帳戶

    • 一個CouchDB的數據庫中使用一個命名空間/屬性標識帳戶

    這在我看來,第一種方法在概念上是合理的並且可能具有安全性和分區優勢。然而,在我看來,限制一些跨數據庫數據查詢(我現在還沒有用例,但你永遠不知道......),並使更新視圖可能需要大量的寫入。

    有沒有人經歷過這種決定有什麼建議?

  • 回答

    0

    這是一個準確的情況總結,我不認爲有一個銀彈答案。這一切都取決於您在整個用戶羣中需要信息或報告的可能性。

    我要提醒你的兩件事情:

    1. 業務應用程序非常快速地開發需要運行你從來沒有想過,當你架構軟件報告。如果客戶有五個賬戶,他堅持你的總費用不是他們應該做的,你會做什麼?關於這些報告的一個特點是,你通常需要儘快。

    2. 但是,您始終可以使用複製將所有數據庫合併到一個巨大的數據庫(即使在單獨的計算機上),以便在該計算機上運行報告。如果你的鑰匙不會碰撞,那可以爲你節省一點點努力,但總的來說,你可以完成這項工作。

    相關問題