分享更有价值
被信任是一种快乐

怎么对mongodb中某个集合做分片

文章页正文上

本篇内容介绍了“怎么对mongodb中某个集合做分片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本例中test1为数据库,test1也为集合名1、先enable sharding,开启数据库的分片功能mongos> use adminmongos> db.runCommand({“enablesharding”:”test1″})2、对具体collection做分片, 选择片键为”_id”mongos> db.runCommand({“shardcollection”:”test1.test1″,”key”:{“_id”:1}}){ “collectionsharded” : “test1.test1”, “ok” : 1 }3、观察2个分片 shard_01 shard_02 tunks 数量===========MongoDB=====复制集读写设置====write concern默认情况下,Primary完成写操作即返回,Driver可通过设置[Write Concern]来设置写成功的规则。如下的write concern规则设置写必须在大多数节点上成功,超时时间为5s。cfg = rs.conf()cfg.settings = {}cfg.settings.getLastErrorDefaults = { w: “majority”, wtimeout: 5000 }rs.reconfig(cfg)数据同步Primary与Secondary之间通过oplog来同步数据,Primary上的写操作完成后,会向特殊的local.oplog.rs特殊集合写入一条oplog,Secondary不断的从Primary取新的oplog并应用。因oplog的数据会不断增加,local.oplog.rs被设置成为一个capped集合,当容量达到配置上限时,会将最旧的数据删除掉。另外考虑到oplog在Secondary上可能重复应用,oplog必须具有幂等性,即重复应用也会得到相同的结果。如下oplog的格式,包含ts、h、op、ns、o等字段{ “ts” : Timestamp(1446011584, 2), “h” : NumberLo免费主机域名ng(“1687359108795812092”), “v” : 2, “op” : “i”, “ns” : “test.nosql”, “o” : { “_id” : ObjectId(“563062c0b085733f34ab4129”), “name” : “mongodb”, “score” : “100” }}}ts: 操作时间,当前timestamp + 计数器,计数器每秒都被重置h:操作的全局唯一标识v:oplog版本信息op:操作类型i:插入操作u:更新操作d:删除操作c:执行命令(如createDatabase,dropDatabase)n:空操作,特殊用途ns:操作针对的集合o:操作内容,如果是更新操作o2:操作查询where条件,仅update操作包含该字段========oplog 与journal日志问题==========张友东博客===========MongoDB 复制集里写入一个文档时,需要修改如下数据将文档数据写入对应的集合更新集合的所有索引信息写入一条oplog用于同步上面3个修改操作,需要确保要么都成功,要么都失败,不能出现部分成功的情况。MongoDB 在写入数据时,会将上述3个操作放到一个 wiredtiger 的事务里,确保「原子性」wiredtiger 提交事务时,会将所有修改操作应用,并将上述3个操作写入到一条 journal 操作日志里;后台会周期性的checkpoint,将修免费主机域名改持久化,并移除无用的journal。谁先写入?oplog 与 journal 是 MongoDB 里不同层次的概念,放在一起比先后本身是不合理的。oplog 在 MongoDB 里是一个普通的集合,所以 oplog 的写入与普通集合的写入并无区别。一次写入,会对应数据、索引,oplog的修改,而这3个修改,会对应一条journal操作日志“怎么对mongodb中某个集合做分片”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云技术网站,小编将为大家输出更多高质量的实用文章!

相关推荐: 如何使用shell脚本及asm cp或RMAN copy批量将数据文件从ASM拷贝到文件系统

这篇文章主要为大家展示了“如何使用shell脚本及asm cp或RMAN copy批量将数据文件从ASM拷贝到文件系统”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用shell脚本及asm cp或RMAN c…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册