How to drain a MongoDB Shard
use dbversity db.dbfry.ensureIndex( { user_id : 1 }, { unique : true }) sh.enableSharding(“dbversity”) sh.shardCollection(“dbversity.dbfry”, {“user_id”:1}) sh.startBalancer() sh.getBalancerState() sh.isBalancerRunning() use dbversity for(var i = 1; i <= 100000 ; i++){db.dbfry.insert({“user_id” : i , “name” : “bulk-inserts”, ” Iteration: ” :…
Command to know Shard distribution from mongos/router
mongos> sh.status() — Sharding Status — sharding version: { “_id” : 1, “minCompatibleVersion” : 5, “currentVersion” : 6, “clusterId” : ObjectId(“568d598d58c8ebe6f4ccaf19”) } shards: { “_id” : “rs1”, “host” : “rs1/dbversity.com:27010,dbversity.com:27011” } { “_id” : “rs2”, “host” : “rs2/dbversity.com:27020,dbversity.com:27021” } {…
Messing with MongoDB Shard Tags ?!! best practices
Question) What will be the expected behavior when we do following 4 cases. We know we should avoid this usage, but still wanted to know what if a user created it mistakenly and wanted to estimate the impact. …
MongoDB WiredTiger File structure & WiredTiger.turtle
The WiredTiger.turtle file contains crucial information required by WiredTiger to understand the other data files. Unfortunately, there is no automated process to recreate this file if you delete it mistakenly, so be very careful with this file. MongoDB WiredTiger Files…
How to get the compression type of a MongoDB collection ?!
To specify compression for specific collections, you’ll need to override the defaults by passing the appropriate options in the db.createCollection() command. For example, to create a collection called “myNewCol” using the zlib compression library: db.createCollection( “myNewCol”, { storageEngine: { wiredTiger:…
MongoDB 3.x WiredTiger with gridFs ? Is it recommendable ?!
If you’re using GridFS to store large documents such as images and videos, MongoDB automatically breaks the large files into many smaller “chunks” and reassembles them when requested. The implementation of GridFS maintains two collections: fs.files, which contains the metadata for…
How to know existing shard tags and their ranges ?!
mongos> sh.status() — Sharding Status — sharding version: { “_id” : 1, “minCompatibleVersion” : 5, “currentVersion” : 6, “clusterId” : ObjectId(“568bbc90f165cf6ce558ef40”) } shards: { “_id” : “rs1”, “host” : “rs1/srinivas-HP-G62-Notebook-PC:27010,srinivas-HP-G62-Notebook-PC:27011”, “tags” : [ ] } { “_id” : “rs2”, “host”…
Shard Tagging with overlapping/Same ranges ?!!
What will happen when you create a Shard Tagging with overlapping ranges ?!! See below. Any given shard key range may only have one assigned tag. You cannot overlap defined ranges, or tag the same range more than once –…
How to know current storage engine in MongoDB ?
Ideally, db.serverStatus() gives the all the server related information including storage engine details, however below command will specifically tell you the storage engine details. Connect to the respective Replica set member and execute below command. rs1:PRIMARY> db.serverStatus().storageEngine.name wiredTiger OR…
Distributed consensus in MongoDB’s replication system
Distributed Consensus in MongoDB’s Replication System Hi MongoDB User, Take an hour to see how changes to MongoDB’s election protocal will lead to faster elections, more robust systems, and lay the groundwork for new replication features going forward….