Posts
ALEX BEVILACQUA
Cancel

Optimizing MongoDB Compound Indexes - The "Equality - Sort - Range" (ESR) Rule

Working in Technical Services at MongoDB I find that time and again customers need assistance understanding why the operations they’ve created indexes for may not be performing optimally. When prov...

Recovering a WiredTiger collection from a corrupt MongoDB installation

April, 1 2019: I've received a LOT of feedback on this article since it was published. I would like to point out that although the methods described here may still work, MongoDB introduced a --rep...

Same Blog, New Look!

Ever since I started this blog in 2012, I’ve been using Octopress to generate the pages and push to generated content to GitHub Pages for hosting. Octopress is a set of scripts and helpers built on...

Analysis and Optimization of an N+1 Scenario in Mongoid

The N + 1 queries problem is a common issue Rails applications face whereby iterating an array of models and accessing an association results in a sub-optimal pattern of recurring queries. To addr...

Visualizing a Replica Set's Sync Source Chain

A MongoDB replica set is a group of mongod processes that maintain the same data set. The PRIMARY node receives all write operations and The SECONDARY nodes replicate the PRIMARY’s oplog and apply ...

MongoDB 5.0 Initial Sync Progress Monitoring Improvements

<SHAMELESS_PLUG> My previous article about initial sync progress monitoring got some attention, and as I’m a Technical Services Engineer at MongoDB, I got to provide direct feedback during t...

MongoDB 4.4 Change Streams and Experimental Pre-Image 'Support'

Warning - Not for Production Use MongoDB’s source code is available (through an SSPL license) and the Core Server project in MongoDB’s JIRA is publicly accessible, which is where I found this info...

Working around MongoDB Stitch's "max async work queue" limit

MongoDB Stitch is a great way to build apps quickly with your data that’s already managed by MongoDB Atlas. Though these services empower you to focus on development without having to worry about i...

Identifying and Reclaiming Disk Space in MongoDB

A common question when it comes to MongoDB and the (default) storage engine (WiredTiger) is “Why is it after I removed a bunch of documents my free space didn’t increase”? The WiredTiger storage e...

MongoDB Initial Sync Progress Monitoring

Sometimes our replica set members fall off the oplog and the node needs to be resynced. When this happens, an Initial Sync is required, which does the following: Clones all databases except the...