mongodb 事务_MongoDB分片集群中的注意事项

710b1d720bf5972d25f8d5f17c6ce472.pngb75b52cdba531df2b3d688644bb9c782.pngMongoDB Manual (Version 4.2)>  Transactions  >  Production Considerations (Sharded Clusters)

本次我们将从以下几方面介绍分片集群中的注意事项。
  • 分片事务及MongoDB驱动
  • 性能
  • Read Concerns读关注
  • Write Concerns写关注
  • 仲裁者
  • 三成员 主-从-仲裁 分片
  • 备份回档
  • 块迁移
  • 提交期间的读请求
  • 与副本索引的交互
  • 其他信息
从版本4.2开始,MongoDB提供了对分片群集执行多文档事务的功能。 除了产品说明中列出的那些关注点之外,还存在下列关注点。

分片事务及MongoDB驱动

对于MongoDB 4.2部署(副本集和分片群集)上的事务,客户必须使用为MongoDB 4.2更新的MongoDB驱动程序。

在具有多个mongos实例的分片群集上,用MongoDB 4.0(而非MongoDB 4.2)执行事务更将会失败并可能导致错误,包括: 注意 您的驱动程序可能会返回其他错误。有关详细信息,请参阅驱动程序的文档。
Error Code / 错误码 Error Message / 错误信息
251 cannot continue txnId -1 for session ... with txnId 1
50940 cannot commit with no participants

性能

单分片

针对单个分片的事务应具有与副本集事务相同的性能。

多分片

影响多个分片的事务会产生更高的性能成本。

注意

在分片群集上,如果任何涉及的分片包含仲裁者,那么跨越多个分片的事务将出错并中止。

时间限制

要指定时间限制,请在commitTransaction上指定maxTimeMS限制。

如果未指定maxTimeMS,则MongoDB将使用transactionLifetimeLimitSeconds。 如果指定maxTimeMS,但会导致事务超过transactionLifetimeLimitSeconds,则MongoDB将使用transactionLifetimeLimitSeconds。 要为分片群集修改transactionLifetimeLimitSeconds,必须为所有分片副本集成员修改参数。

Read Concerns 读关注

多文档事务支持 local , majority 和 snapshot 读关注级别。 对于分片群集上
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值