簡體   English   中英

根據PouchDB / CouchDB的文檔用戶訪問控制

[英]Per document user access control for PouchDB / CouchDB

我希望使用PouchDB - CouchDB來保存我的Web應用程序的用戶數據,但無法找到一種方法來控制每個用戶的訪問權限。 我的數據庫只包含使用用戶ID作為密鑰的文檔。 我知道有一些解決方案:

  1. 每個用戶一個數據庫 - 但是它需要監視新用戶何時想要保存數據以創建新數據庫,並且可能創建大量數據庫;

  2. 客戶端和CouchDB之間的代理 - 但是我不希望PouchDB同步整個數據庫的更改,包括那些_all_docs,_revs_diff請求中的其他用戶的文檔。

pouchDB的用戶訪問控制是否有任何建議,用戶群約為100萬(僅活躍用戶約1萬)?

過去,郵件列表中出現了一百萬或更多數據庫的主題。 結論是,它取決於您的操作系統如何處理這么多文件。 CouchDB只是在請求時訪問.couch文件的一部分。 性能與其查找,打開,訪問和關閉該文件的速度有關。

某些文件系統有一些技巧,例如數據庫名稱中的put / delimiters - 這將導致CouchDB將它們存儲在匹配的目錄結構中,例如groupA/userA.couch或使用電子郵件式數據庫名稱com/bigbluehat/byoung.couch (或類似的)。

如果這還不夠,Apache CouchDB 2.0會引入BigCouch代碼( IBM Cloudant使用它)來提供完全自動分片的CouchDB。 它尚未完成,但它將使用Amazon Dynamo樣式分片系統在多個節點之間提供可擴展性。

另一種選擇是在多個CouchDB服務器之間進行基於用戶名的分區,或者使用IBM Cloudant(為此級別構建)。

所有這些選項都提供相同的Apache CouchDB復制協議,並且可以在用戶的​​計算機,手機或平板電腦上使用PouchDB。

然后,用戶的設備將擁有自己的數據庫+/-任何共享數據庫 這些百萬用戶設備上的應用程序只能關注自己內容(即硬盤空間)的可擴展性。 該應用程序將直接復制到“雲”端用戶數據庫以進行備份,Web使用等。

希望那里的東西聽起來很有希望。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM