使用标准的CouchDB视图索引,我可以灵活地反省陈旧与新鲜度。如何获得Cloudant's dbcopy
feature的类似功能?
stale=ok
stale=update_after
stale=false
)我可以将数据库的update_seq
与设计文档update_seq
进行比较,可以在视图查询中使用update_seq=true
或{{1}获取}}
BigCouch的数据库分区和多个服务器略微蒙上阴影。例如。 GET /db/_design/foo/_info
是复合材料,只能在公差范围内进行比较; update_seq
可能会选择与stale=false
不同的分片,这些分片可能或多或少是最新的;虽然没有办法让所有节点(或stale=ok
查询选择的特定节点)获得update_seq
,但可以通过快速发出多个{{}来欺骗它。 1}}查询。在这里有额外的分片/分区内省会很好,但上面的内容仍然可以用于我的目的。
stale=false
/db/_design/foo/_info
具有大致相同的"最终的一致性"特点。查询链式数据库中的文档大致类似于使用dbcopy
查询原始视图。哪个好,大部分时间。但是文档没有对以下内容给出任何指示:
dbcopy
州?例如。数据库是否认为自己是最新的,或者是否在IOQ中轮流查看更改?如果它不是最新的,大致有多陈旧?group=true&stale=ok
的优先级(如dbcopy
或dbcopy
)。例如。我想要一些stale=update_after
的内容,它会立即强制将缩小的结果推送到stale=false
DB(可选择先更新原点视图)。POST /origin_db/_design/foo/_view/bar/_dbcopy
机制或dbcopy
机制错过了一些文档),这可能是检测?怎么纠正?是否有dbcopy
"重置按钮"?答案 0 :(得分:2)
如何查询当前的dbcopy状态?例如。数据库是否认为自己是最新的,或者是否在IOQ中轮流查看更改?如果它不是最新的,大致有多陈旧?
我们正在研究一种更好的方法,但目前获取dbcopy当前状态的唯一方法是将视图中的记录与目标数据库中的文档进行比较。
是否有dbcopy“重置按钮”?
您可以通过强制重建源视图来重新触发dbcopy。这可以通过更新设计文档来完成,以便视图签名发生变化 - 例如向现有视图添加空格或注释。这有点不合适,但会导致重新运行dbcopy。