2015-10-02 96 views
1

我有一個管理潛在客戶的應用程序。這些前景被分配給一些合作者。他們有一臺平板電腦,用來聯繫我們的客戶。該移動應用程序具有脫機支持並與桌面應用程序同步。我有一些用戶管理這些合作者,他們需要從合作者那裏獲得所有潛在客戶。Couchdb/Pouchdb架構設計

我們目前的設計是一個cordova應用程序,角度和pouchdb同步到couchdb。桌面應用程序是一個laravel應用程序。 我們爲每個協作者創建一個新的couchdb數據庫,以便與他們在移動應用上的帳戶同步。 管理員和主管需要訪問,列出和編輯所有couchdb數據庫的所有潛在客戶。所以,我們通過一個nodejs進程同步,將所有在couchdb數據庫上的前景同步到mysql前景表中,這樣我們就可以輕鬆地列出所有前景。

我的問題是,如果這種設計是有道理的,或者我們應該採取另一種方式。

有一個類似的問題和設計here

+0

它看起來不錯,非常類似於我們計劃用CouchDB和PouchDB做的事情。 我唯一的建議是爲共同的東西(字典等)提供一箇中心數據庫,因此您不必在每個數據庫上都複製該數據庫。 除此之外,由於CouchDB的安全性,您無法避免每個用戶擁有一個數據庫。 祝你好運 –

+0

@AngelParaskov是的,我忘了提及我們有一個CouchDB,我們將public-db命名爲所有用戶共有的東西。最好同步到MySQL或迭代所有dbs?由於couchdb的設計,這似乎不是一件壞事。 – balsagoth

+1

遍歷所有dbs並不難。有插件甚至列出所有的數據庫 - https://github.com/nolanlawson/pouchdb-all-dbs –

回答

1

爲了提高安全性,降低設計問題與多個數據庫同步,我使用的文件AES加密數據。對我來說這是最好的解決方案。每個人都可以閱讀,但數據是安全的。

+0

我也提到過類似的問題在http://stackoverflow.com/questions/32030347/cordova- web應用程序,使用-pouchdb-CouchDB的-架構設計/ 33585439#33585439 – HaKi