为什么您应该使用隐藏的副本集成员
#database #mongodb #production

mongoDB为数据库生态系统带来了很多创新。
这项创新之一是隐藏副本集成员的概念。
隐藏的副本集是保留主数据集副本的成员,但对客户端是看不见的。
这意味着当使用副本集连接字符串连接客户端时,该成员将不会收到任何读取。

隐藏副本集成员的用例

您可以从隐藏成员的生产中进行备份,而不会引起生产工作流的任何性能问题。

您可以将BI(商业智能)连接到隐藏的成员,在不损害生产工作流程的情况下进行很多重疑问。

您可以从隐藏成员中的大型集合中创建一个新索引,因此您可以更快地创建索引。

配置隐藏的副本集成员

使用mongosh连接到mongodb节点

 mongosh mongodb://mongo1:27017,mongo2:27017/db?replicaSet=rs0

运行rs.status()查看什么节点是SECONDARY

rs.status()

示例输出:

members: [
    {
      _id: 0,
      name: 'mongodb1:27017',
      stateStr: 'PRIMARY',
    },
    {
      _id: 1,
      name: 'mongodb2.mongo-prd:27017',
      stateStr: 'SECONDARY',
    },
]

我们需要像这样修改副本集配置:

const config = rs.config();

config.members[1].hidden = true;
config.members[1].priority = 0;

rs.reconfig(config)

这将把成员设置为“阵列”(mongodb2)位置1为隐藏的副本集成员。

综上所述

生产环境比本地主机和分期更灵敏。
您需要设计过程以避免影响生产工作流程。
隐藏的成员非常适合备份,在BI中运行重型查询并进行数据库维护,例如为大型收藏构建新索引。

参考

https://www.mongodb.com/docs/manual/core/replica-set-hidden-member/


woi
Woovi是一家创业公司,使购物者能够按照自己的意愿付款。为了实现这一目标,Woovi为商人提供即时付款解决方案接受订单。

如果您想与我们合作,我们是hiring