我需要在生产中复制mongo db以切片到另一个研究数据库,但我不能使用副本集或类似的东西,因为这些生产切片无法停止或重新启动。
我现在唯一的选择是编写一个scala脚本,该脚本将在produciton slice上运行并观察mongo的oplog集合,并且对于oplog上的每个新写入,它必须将其发送到另一个研究数据库并复制该操作那里。
对于scala和mongo都是新手我会很高兴如果有人可以给我指点如何开始这样的事情,以及这是否是正确的做法,或者是否有其他方法可以做到这一点。我的主角坚持这样的事情,所以如果有人可以指出我正确的方向,我必须寻找什么样的库以及脚本应该如何,这样会更好。
任何帮助对我都非常有用。提前谢谢!
答案 0 :(得分:3)
官方Scala MongoDB驱动程序Casbah包含一个用于监控OpLog的脚本:
https://github.com/mongodb/casbah/blob/master/casbah-core/src/main/scala/util/OpLog.scala