Build1 distinct publisher3 min readUpdated
Whoz let one MongoDB collection reach 530 million documents and found the binding constraint was its maintenance window, not query latency. That changes which fix is correct.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
Whoz, a SaaS vendor whose platform tracks consultant time as records it calls worklogs, let one MongoDB collection grow to 530 million documents and just over 32 GB [s1c1][s1c2][s1c3]. At that size a backup took nearly an hour and a restore up to four, and the team wrote that those windows had become operationally risky [s1c4][s1c5][s1c6].
Note what is absent from that description. The company says its core issue was not query throughput: worklogs from three years ago are rarely read, and when they are, performance expectations are low [s1c7]. The problem was operational overhead, specifically backup time, restore time, and the cost of running large batch operations across the whole dataset [s1c8].
The volume figure is worth sitting with. Just over 32 GB across 530 million documents works out to roughly 60 bytes of stored data per document [1]. That is a small dataset by any storage measure and a large one by document count, which is why the pain shows up in operations that iterate rather than in operations that seek. The restore number is the load-bearing one: at up to four hours, any recovery time objective shorter than four hours was already unachievable, whether or not anyone had written it down [2]. Restore also ran about four times longer than backup, so the number that matters is the one nobody rehearses [3].
The third symptom is the most telling and the least numeric. Whoz had not dared run a schema migration at full scale, and said so plainly, calling that a warning sign in itself [s1c9]. A maintenance operation you decline to attempt is not a deferred task, it is a capability you no longer have.
That framing decided the architecture. Sharding is MongoDB's native horizontal scaling mechanism, distributing a collection across shards that each need their own replica set, typically three nodes for high availability [s1c10][s1c11]. Whoz ruled it out on the grounds that it would mean paying the full cost of a distributed system to solve what was essentially a data locality problem [s1c12]. The team then looked at offloading WiredTiger data files to S3-compatible object storage, checked the documentation and asked MongoDB support, and was told the configuration is not supported: the engine has internal tiering in some contexts, but MongoDB does not expose it for general use [s1c13][s1c14].
What remained was an application-level split: historical worklogs into a separate collection, recent ones left in place, both exposed transparently to the application [s1c15]. Within that, one collection per year was rejected for complexity, since cross-year queries need unions, new years need routing changes, and migrations become multi-collection work [s1c16]. Whoz notes that MongoDB views do support $unionWith but that chaining it across five or six collections starts to feel fragile [s1c17]. The sliding-window variant, one recent and one older collection with a moving boundary, was described as clean in theory but requiring a periodic re-partitioning process that has to be automated and monitored [s1c18].
Two things to watch. The account as supplied breaks off while weighing that sliding window, so the design Whoz shipped and what it cost to backfill are not in evidence [s1c19]. And the growth rate is the variable that governs everything here: the company reports the collection growing faster each year, driven both by new clients and by users splitting activity into finer-grained entries [s1c20]. On your own systems, the equivalent check is cheap: pull the trend line on backup duration, and time a restore rather than assuming one.
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
Whoz builds a SaaS platform that helps professional services companies manage talent staffing; at the heart of the product is a worklog, a record of time spent by a user on a given activity.
Whoz's worklog MongoDB collection had reached 530 million documents.
Whoz wrote that the backup and restore windows were becoming operationally risky and that it needed to act.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Single first-party account with concrete before-numbers and no after-numbers
All figures are self-reported by the engineering team in one post: document count, data size, backup and restore durations are specific and internally consistent, and the per-document arithmetic checks out. But nothing is independently verified, the MongoDB support ruling is relayed rather than quoted from MongoDB, no query-latency data is offered to support the central diagnosis, and the supplied text is truncated before any migration cost or post-split measurement. Evidence is credible for what the team observed and thin for whether the fix worked.
One self-reported in-house deployment
Adoption evidence is a single company applying a common pattern to its own collection, disclosed by the team that built it. There is no second organisation, no scale of rollout beyond one collection, and the chosen design is described as a first iteration with the automation piece still on the roadmap. That is real but minimal adoption signal.
Modestly overstated: diagnosis asserted, remedy unmeasured
The write-up is unusually restrained, naming its tradeoffs and calling the fixed cutoff a known limitation. The gap is narrow and comes from two places: the claim that query throughput was never the constraint is asserted without latency or access-pattern numbers, and the split is presented as the solution while no post-split backup, restore, or migration figure is supplied. The headline framing generalises a single 32 GB anecdote into a rule about which fix is correct.
Employer engineering-brand post, no product being sold to the reader
The author writes about their own employer's platform on a developer publishing site, so there is a reputational and recruiting incentive to present the decision as sound and to omit an unflattering after-picture. Offsetting that, Whoz sells staffing SaaS rather than database tooling, so there is no product for the reader to buy, and the post volunteers a vendor dead end and its own unfinished roadmap item, which cuts against pure promotion.
Low: one truncated first-party source, no corroboration
Confidence is limited by structure rather than by contradiction. There is one publisher, one author, one company, and the supplied text is cut off, so nothing in the cluster can be cross-checked. The internal figures are coherent and the derived arithmetic is sound, which supports moderate confidence in the before-state; confidence in the diagnosis and in the outcome of the fix is materially lower.
build
Your meter now runs on someone else's machine: signed receipts, fsync, and failing open1 distinct publisher
invest
Spark's $22M bet that the agent framework layer can stay independent1 distinct publisher
build
Three services you can delete: queue, cache and search in one Postgres1 distinct publisher
build
The npm audit that works because it never installs the package1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 17, 2026