我有几个 CouchDB 数据库,都在数百 GB,我需要以依赖于多个数据库的方式从中获取文档,例如(伪代码,前缀指示文档来自哪个数据库):
for each Db1_Document in Db1
if Db1_Document has field "Db2_match"
Db2_Document = Db1_Document.Db2_match
for each Db2_Reference in Db2_Document.references
if Db2_Reference has empty field "Db1_match"
add Db2_Reference to List bigList
emit [Db2_Document, bigList]
我可以用一组复杂(和骇人听闻的)视图来做到这一点。或者我可以批量 HTTP 获取我需要的文档并用 Java 进行处理。
与创建视图相比,批量 HTTP 获取的成本是多少?CouchDB 本身不支持视图链接的事实是否足以避免视图解决方案?
这是一个效率非常重要的应用程序。