kon*_*hou 7 security couchdb access-control pouchdb
我希望使用PouchDB - CouchDB来保存我的Web应用程序的用户数据,但无法找到一种方法来控制每个用户的访问权限.我的数据库只包含使用用户ID作为密钥的文档.我知道有一些解决方案:
每个用户一个数据库 - 但是它需要监视新用户何时想要保存数据以创建新数据库,并且可能创建大量数据库;
客户端和CouchDB之间的代理 - 但是我不希望PouchDB同步整个数据库的更改,包括那些_all_docs,_revs_diff请求中的其他用户的文档.
pouchDB的用户访问控制是否有任何建议,用户群约为100万(仅活跃用户约1万)?
过去,邮件列表中曾出现过一百万个或更多数据库的主题。结论是,这取决于您的操作系统如何处理这么多文件。CouchDB 只是.couch在请求时访问文件的部分内容。性能与查找、打开、访问和关闭该文件的速度有关。
对于某些文件系统,有一些技巧,例如/在数据库名称中放置分隔符,这将导致 CouchDB 将它们存储在匹配的目录结构中,例如groupA/userA.couch或使用电子邮件样式的数据库名称com/bigbluehat/byoung.couch(或类似的名称)。
如果这还不够,Apache CouchDB 2.0 引入了BigCouch代码(IBM Cloudant使用的)来提供完全自动分片的 CouchDB。虽然尚未完成,但它将使用 Amazon Dynamo 风格的分片系统提供跨多个节点的可扩展性。
另一种选择是在多个 CouchDB 服务器之间进行您自己的基于用户名的分区,或者使用 IBM Cloudant(专为这种级别的规模而构建)。
所有这些选项都提供相同的 Apache CouchDB 复制协议,并且可以与用户计算机、手机或平板电脑上的 PouchDB 完美配合。
然后,用户的设备将拥有自己的数据库+/-任何共享数据库。这百万用户设备上的应用程序只需关心其自身内容(也称为硬盘空间)的可扩展性。该应用程序将直接复制到“云”端用户数据库以进行备份、网络使用等。
希望里面的东西听起来很有希望。:)
| 归档时间: |
|
| 查看次数: |
1824 次 |
| 最近记录: |