问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...的4.0版本的mongodb的admin库中只有system.users和system.version...

发布网友 发布时间:2024-10-02 18:59

我来回答

1个回答

热心网友 时间:2024-10-19 07:11

慎用local数据库

local数据库,从名字可以看出,它只会在本地存储数据,即local数据库里的内容不会同步到副本集里其他节点上去;目前local数据库主要存储副本集的配置信息、oplog信息,这些信息是每个Mongod进程独有的,不需要同步到副本集种其他节点。

在使用MongoDB时,重要的数据千万不要存储在local数据库中,否则当一个节点故障时,存储在local里的数据就会丢失。

另外,对于重要的数据,除了不能存储在local数据库,还要注意MongoDB默认的WriteConcern是{w: 1},即数据写到Primary上(不保证journal已经写成功)就向客户端确认,这时同样存在丢数据的风险。对于重要的数据,可以设置更高级别的如{w: "majority"}来保证数据写到大多数节点后再向客户端确认,当然这对写入的性能会造成一定的影响。

慎用admin数据库

当Mongod启用auth选项时,用户需要创建数据库帐号,访问时根据帐号信息来鉴权,而数据库帐号信息就存储在admin数据库下。

mongo-9551:PRIMARY> use admin
switched to db admin
mongo-9551:PRIMARY> db.getCollectionNames()
[ "system.users", "system.version" ]

system.version存储authSchema的版本信息

system.users存储了数据库帐号信息

如果用户创建了自定义的角色,还会有system.roles集合

用户可以在admin数据库下建立任意集合,存储任何数据,但强烈建议不要使用admin数据库存储应用业务数据,最好创建新的数据库。

admin数据库里的system.users、system.roles2个集合的数据,MongoDB会cache在内存里,这样不用每次鉴权都从磁盘加载用户角色信息。目前cache的维护代码,只有在保证system.users、system.roles的写入都串行化的情况下才能正确工作,详情参考官方issue SERVER-16092

从代码中我们可以看出,MongoDB将将admin数据库上的意向写锁(MODE_IX)直接升级为写锁(MODE_X),也就是说admin数据库的写入操作的锁级别只能到DB级别,不支持多个collection并发写入,在写入时也不支持并发读取。如果用户在admin数据库里存储业务数据,则可能遭遇性能问题。

热心网友 时间:2024-10-19 07:08

慎用local数据库

local数据库,从名字可以看出,它只会在本地存储数据,即local数据库里的内容不会同步到副本集里其他节点上去;目前local数据库主要存储副本集的配置信息、oplog信息,这些信息是每个Mongod进程独有的,不需要同步到副本集种其他节点。

在使用MongoDB时,重要的数据千万不要存储在local数据库中,否则当一个节点故障时,存储在local里的数据就会丢失。

另外,对于重要的数据,除了不能存储在local数据库,还要注意MongoDB默认的WriteConcern是{w: 1},即数据写到Primary上(不保证journal已经写成功)就向客户端确认,这时同样存在丢数据的风险。对于重要的数据,可以设置更高级别的如{w: "majority"}来保证数据写到大多数节点后再向客户端确认,当然这对写入的性能会造成一定的影响。

慎用admin数据库

当Mongod启用auth选项时,用户需要创建数据库帐号,访问时根据帐号信息来鉴权,而数据库帐号信息就存储在admin数据库下。

mongo-9551:PRIMARY> use admin
switched to db admin
mongo-9551:PRIMARY> db.getCollectionNames()
[ "system.users", "system.version" ]

system.version存储authSchema的版本信息

system.users存储了数据库帐号信息

如果用户创建了自定义的角色,还会有system.roles集合

用户可以在admin数据库下建立任意集合,存储任何数据,但强烈建议不要使用admin数据库存储应用业务数据,最好创建新的数据库。

admin数据库里的system.users、system.roles2个集合的数据,MongoDB会cache在内存里,这样不用每次鉴权都从磁盘加载用户角色信息。目前cache的维护代码,只有在保证system.users、system.roles的写入都串行化的情况下才能正确工作,详情参考官方issue SERVER-16092

从代码中我们可以看出,MongoDB将将admin数据库上的意向写锁(MODE_IX)直接升级为写锁(MODE_X),也就是说admin数据库的写入操作的锁级别只能到DB级别,不支持多个collection并发写入,在写入时也不支持并发读取。如果用户在admin数据库里存储业务数据,则可能遭遇性能问题。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
西红柿冬天的储存方法 城市轨道交通和汽修哪个好就业? 女职工退休年龄是多大的 我国法定女性退休年龄是多少岁 坐月子能吃枸杞红枣吗? 坐小月子能不能吃枸杞 2017年最让你期待的动漫是哪部?为什么? 骨汤面的做法骨汤面怎么做 猪骨汤面怎么做更好吃? 如何制作大骨汤面并促进钙吸收? ...一张移动一张电信,我想用电信的卡的流量,红米note4手机如何设置?_百... 当红米note3插入两张卡时用哪张卡的流量啊?是自己选用哪张卡的流量吗... 红米note3双网通插2张移动卡只有一张能用4g吗? 我的红米note3双卡之间怎么老是自己切换,设置数据卡1连接,过会就自己连 ... 为什么双卡用流量时,切换不到联通的数据 什么是高职专科批次? HPV感染者能怀孕吗 检查出HPV阳性,还能不能正常备孕呢? 千分表外径读数 昆明有哪些适合亲子入住的度假民宿? 哪家做的汽车hdi板比较好 哪家做的车用hdi板比较好 ...姓丁,男的。想起一个中间带有永字的三个字的名字,而且要有意义好听... 可能是不小心把系统的哪个软件卸了,每次运行后台的子程序时就出dos框... 每个女人的鸡疤是不是都有黑黑的垂肉呢 ...女.为什么我手脚膝盖上的肉总是黑黑的?该怎样消除/?? 为什么阴道旁边的肉肉是黑黑的。 为什么有的人只要是阴处长的毛,那个地方的肉为什么是黑黑的? 2024年qq个性签名清新女生 沙雕求偶的签名短句 想谈恋爱的搞怪签名 真顺嚼烟是替烟产品吗? 真顺嚼烟真顺嚼烟的替烟原理 真顺嚼烟真顺嚼烟的使用方式 ...被烫伤,没在意,之后一直脱皮,然后感染的其它手指都开始掉皮... 有一次烧一根针挑粉刺,然后没注意用手指碰了碰那根针,到现在手指还有一... 小学六年级什么时候考试放暑假呢? 手指都毁了怎么办身份证 帮我做个3D作业 我有作业要求 做了好 发我邮箱 1987148643@qq.com... 异形墙板怎么取形,旅游景点异形板 索尼笔记本键盘小问题!对索尼了解的朋友进来下 NK设计服务的KT板会有气泡吗? 中国的重工业在世界排第几? 个人所得税入什么科目 个税计什么科目 《高考恋爱100天》各种结局攻略大全介绍_《高考恋爱100天》各种结局攻 ... 高考恋爱一百天罗小涵路线如何达成完美结局介绍_高考恋爱一百天罗小涵路... 高考恋爱一百天为什么我去学校3次拿不到1977 魅族魅蓝2保存图片到手机显示成功了,但图库没有怎么办 wap.zol.com... 为什么limF(X),X趋向X0-=F(X0-)即limF(X),X趋向X0-可以表示成F(X0... ...存在,limx趋向x0 g(x)不存在 则limx趋向于x0[f(x)-g(x)]为_百度...