问题标签 [mongodb-oplog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - 如何为数据库创建 mongodb oplog?
最近我从 MongoDB atlas 购买了集群帐户。我检查了 UI 和 MongoDB 文档,但不知道创建 oplog db。以及如何为 oplog 创建连接字符串?
node.js - Node.js 的多个 mongo-oplog 实例
我正在尝试读取并遍历包含不同 mongoURI 的配置文件,然后尝试使用 mongo-oplog 监视它们的活动。我真的不知道如何为所有这些数据库动态设置侦听器(例如更新、插入和删除)。关于我如何去做的任何想法?
meteor - Meteor oplog 拖尾和性能
Meteor 使用 oplog 拖尾有什么好处?我知道这些:
- 拥有副本集可确保高可用性
- 在检测数据库中的更改并将这些更改推送到客户端时,Oplog 拖尾提供了改进的性能
更具体地说,给定一个 Meteor 应用程序,其中“实时”方面并不那么重要(即没有足够密集的写入,客户端可能会在其会话期间看到任何数据更改)并且还忽略了拥有副本集的可用性优势,使用oplog拖尾还有其他好处吗?
node.js - socket + node + mongodb + oplog:连接到副本集
我有一个现有的工作节点 + mongodb + oplog 应用程序,它通过 socket.io 在 mongodb 更新时将事件推送到浏览器。当前的配置如下所示:
我最近开始使用一个实际的副本集,其中有一个主数据库机器和一个辅助数据库机器。如何在我的节点应用程序中更改 MongoOplog 的配置以适应对多节点副本集的更改?
node.js - MongoDB oplog 转换成 Mongoose 文档
我在 Mongoose 中使用类似于 Tim Oxley 的示例(https://gist.github.com/timoxley/1502645)的 oplog。
我正在寻找一种将新插入的文档(oplog 'i' 操作)转换为 Mongoose 文档的有效方法。
我试过这个:
var my_model = mongoose.model('test_doc', my_schema);
// ...
function oplog_receiver(op, doc) {
if( op === 'i' ) {
doc = new my_model(doc);
doc.isNew = 假;
}
// ...
doc.modified_at = new Date();
doc.save(err => {});
}
效果很好。
这是要走的路还是有更好的方法?
非常感谢,
罗马
mongodb - Meteor 中的 Oplog 拖尾 - 做还是不做?
我正在尝试协调这篇kadira.io文章,该文章说 oplog 拖尾是每个 Meteor 生产应用程序都必须使用这篇compose.io文章 - 请参阅“To Oplog or not Oplog”部分,它说您应该只在某些情况下使用 oplog。
基本上我有一个流星应用程序,它没有大量用户或大量连续写入收藏。
然而,它确实需要从数据库中读取大量数据,这似乎会减慢速度。
据我所知,它只在一台服务器上运行。
我想知道添加 oplog 拖尾会加快速度吗?
提前致谢。
mongodb - 为什么 mogodb 3.4.0 使用的 oplog 空间比配置文件中指定的多?
在我们的辅助数据库的配置文件中,我们定义了 99GB 的 oplog 大小(oplogSizeMB:99000),但几个小时后,我们已经遇到了超过 120 GB 的大小(1 个文件为 74 GB,第二个文件为 65 GB)。
这是版本 3.4.0 中的错误吗?我们在 mongodb 3.2.1 版本中没有遇到这个问题。还是我们对 oplog 的行为有误解?
我们在 SUSE Linux Enterprise Server 11 (x86_64) 上运行 mongodb。
replication - 尝试复制时无法使用默认 oplog 大小启动 mongod 服务器
当 oplog 具有默认值时,我无法创建复制,即 rs.initiate()。我的服务器有 400+ GB 的可用空间。在 MongoDB 的官方文档中,MMAP 的默认范围是 990MB 到 50GB 之间可用磁盘空间的 5%,但在Memory Use下:-
使用 MMAPv1,MongoDB 会自动使用机器上的所有空闲内存作为其缓存。
在没有 oplog 大小选项的情况下启动 mongod 后执行 rs.initiate() 时控制台出错:
mmap 因内存不足而失败
“errmsg”:“无法启动:文件 /data/0/local.7 在 createPrivateMap 中打开/创建失败(查看日志以获取更多信息)”
所以,我只用 --oplogSize 4096 开始了 mongod,之后我才能够执行 rs.initiate。现在我知道小 oplog 大小的问题,但我想知道后台到底发生了什么。5% 的可用磁盘空间或 50 GB 上限,无论哪种方式,我的服务器中仍有 300 GB 可用。
mongodb - Oplog实施后Mongo服务未重启
我在 mongod.conf 文件中添加了以下代码以实现 oplog
在此之后我重新启动 mongod 服务,但错误即将到来。
performance - `oplog` 对流星应用的影响
我在我们的服务器上实现了 oplog,那时我们的应用程序响应时间得到了改善,但几个小时后响应时间增加了,应用程序响应非常慢。
你能告诉我
Oplog的缺点
Oplog 对 Meteor 应用的影响
实施 oplog 时需要注意什么。
请帮我浏览几个视频和链接,但找不到任何满意的答案,谢谢。