目前正在开发一个需要大量数据输入的项目,几乎每天都会更新文档。我正在考虑使用Pouchdb作为此应用程序的离线存储,尽管Pouchdb的每个本地副本将与远程在线Couchdb服务器实时同步。我想知道以下内容:
数据库大小可以增加到数十万,目前超过60,000个文档。
是Pouchdb这种系统的正确解决方案。
是Pouchdb足够强大,可以在拥有超过60K文档的本地数据库上处理CRUD,并且每天将以超过1,000个文档的速度继续增长。
有哪些方法可以减少文档冲突,因为每个应用安装都有自己的本地Pouchdb,如何加快同步速度?
Pouchdb复制的可靠性如何,每一端都会进行大量的文档创建,读取,同步和编辑。
目前在办公室,所有当前安装的应用程序,同步到本地couchdb,但它很慢并且需要时间才能使所有本地副本同步并且文档冲突可能会/或者将会发生。
与Couchdb服务器相同的有线局域网中有近50个安装,如果它们直接调用LAN Couchdb服务器或本地Pouchdb副本。
您的意见和答案将非常有帮助。
答案 0 :(得分:2)
首先,它可能取决于您的目标平台。 PouchDB没有上限文档限制,但浏览器definitely have storage limits。
其次,如果正在修改/删除大量文档,您可能需要查看compaction。您甚至可能希望在存储之前使用filter-pouch使用gzip压缩文档字段。
第三,由于HTTP chattiness,CouchDB复制目前存在一些性能问题。有some advice here关于如何提高同步性能的问题。我们还在an alternative replication method开展工作以加快速度。
冲突是一个更大的问题;我们很快就会出一本关于解决冲突的章节。但是,如果你不耐烦,基本上它与CouchDB相同,并且他们有关于它的文档。 :)
最后一条评论:如果CouchDB与您所定位的设备在同一个LAN上托管,并且如果您确定这些设备仅在在线时使用,那么PouchDB可能不会带来任何性能优势。但您可能希望将PouchDB用作简单的直接CouchDB客户端,只是为了保持代码的灵活性。