Franck Pachot
banner
franckpachot.bsky.social
Franck Pachot
@franckpachot.bsky.social
https://dev.to/franckpachot
🥑 Developer Advocate at 🍃 MongoDB
🔸 AWS Data Hero
🅾️ Oracle Certified Master
🐘 PostgreSQL and▝▞ Yugabyte​DB
Heard of MongoDB index intersection but never seen it? My new blog post explains why.

dev.to/franckpachot...
MongoDB Index Intersection (and PostgreSQL Bitmap Scan)
You won’t always have a perfect index for every query, but may have have single-field indexes for...
dev.to
November 27, 2025 at 6:22 PM
All replicated databases can trade some ACID guarantees for better performance. While not the default, if you perform {w:1} writes on MongoDB, you should be aware of the implications, including local reads and failure scenarios (resilience and failover): dev.to/franckpachot...
What writeConcern: {w: 1} really means? Isolation and Durability
In MongoDB, a write concern of w:1 indicates that a write operation is considered successful once the...
dev.to
November 24, 2025 at 2:20 PM
Reposted by Franck Pachot
Understand how the principle of "store together what is accessed together" is a game-changer for database performance and scalability.

By @franckpachot.bsky.social, thanks to @mongodb.bsky.social
Why 'Store Together, Access Together' Matters for Your Database
Understand how the principle of "store together what is accessed together" is a game-changer for database performance and scalability.
bit.ly
November 22, 2025 at 5:30 PM
A new blog post: MongoDB’s $lookup isn’t like SQL JOINs. It returns related info as arrays in documents, not flat rows. Use $unwind for row-style results, or inner join behavior. And it supports many-to-many with one $lookup on arrays.

dev.to/franckpachot...
INNER JOIN and LEFT OUTER JOIN in MongoDB (with $lookup and $unwind)
We often explain $lookup as similar to a relational JOIN, but there’s a key difference in the...
dev.to
November 21, 2025 at 5:36 PM
Meeting many friends at @doagev.bsky.social
November 18, 2025 at 3:28 PM
My first article on @thenewstack.io is about data locality vs. data independence
November 17, 2025 at 9:18 PM
Like any database, you can join in #MongoDB, with hash join, nested loop, and indexes. Understanding them and creating indexes (or not) are important for optimal performance. dev.to/franckpachot...
Nested Loop and Hash Join for MongoDB $lookup
SQL databases offer several join algorithms. The query planner selects the most efficient one by...
dev.to
November 17, 2025 at 8:43 PM
I quickly tested the new query planner in Amazon DocumentDB: dev.to/aws-heroes/a...
Amazon DocumentDB New Query Planner
In September 2025, AWS announced it will contribute to the open-source DocumentDB extension for...
dev.to
November 14, 2025 at 11:27 PM
Scalable database: query response time stays consistent as data grows. A simple query to compare MongoDB with emulations - typical OLTP with filter, sort, and pagination: dev.to/franckpachot...
How does it scale? A basic OLTP benchmark on MongoDB
Choosing a database requires ensuring that performance remains fast as your data grows. For example,...
dev.to
November 11, 2025 at 6:07 PM
I've never realized before that SQL*Plus can tell you when it disconnects "with complications" 🤓
November 7, 2025 at 7:15 PM
B‑trees face issues like page splits, locks, and buffer pins. LSM‑trees avoid them but raise write amplification. WiredTiger takes a third path: lock‑free B‑trees with hazard pointers for reads and skip lists for writes. Great article on the #MongoDB blog:
www.mongodb.com/company/blog...
To Lock or Not: MongoDB’s Lock-Free B-Tree Unlocks Throughput
Learn how MongoDB's WiredTiger lock-free B+tree, using hazard pointers and skip lists, boosts read and write throughput for better hardware utilization.
www.mongodb.com
November 7, 2025 at 6:07 PM
I'm curious if some @oracleace.bsky.social will be attending AWS re:Invent, given the multi-cloud partnership. Asking because there'll be an event open to advocates, heroes, champions, builders, ambassadors, and user group leaders to celebrate community leaders and meet
November 7, 2025 at 5:41 PM
An example of a covering index to avoid fetching large documents in a MongoDB aggregation pipeline

dev.to/franckpachot...
Covering index for $group/$sum in MongoDB aggregation (with hint)
MongoDB indexes enable quick equality and range filtering (with $match) and ordering (with $sort)....
dev.to
November 5, 2025 at 9:30 PM
I enjoy staying connected with multiple database communities. Even if I share more about one today 🌱🐅, I'm happy to have feedback from others 🅾️🔸️🐘🐬 on what I share
October 30, 2025 at 9:51 AM
Sad times where tech giant billionaires fire people to build datacenters in a giant game of Monopoly
From an Amazon Employees for Climate Justice statement:

“They’re pushing this narrative that AI is transformative and that’s why they’re making these cuts. But leadership is spending 100 billion this year alone on the new data centers; they have to find that money elsewhere,” said one AWS engineer.
October 29, 2025 at 7:32 AM
A migration tool vendor suggests that migration is necessary for improved consistency, reliability, and advanced query capabilities. Yet, success often comes from first understanding your current database. Questioning these claims is the occasion to learn:
dev.to/franckpachot...
Advanced Query Capabilities 👉🏻 aggregation pipelines
Although MongoDB has supported ACID transactions and sophisticated aggregation features for years,...
dev.to
October 22, 2025 at 7:46 PM
I'm curious to find out whether Oracle still uses DerbyDB in their Oracle Database Appliances to store the metadata, and what they will replace it with
October 16, 2025 at 10:13 AM
SELECT DISTINCT ON ... ORDER BY equivalent in MongoDB (and faster)

dev.to/franckpachot...
First/Last per Group: PostgreSQL DISTINCT ON and MongoDB DISTINCT_SCAN Performance
On Stack Overflow, the most frequent question for PostgreSQL is: "Select first row in each GROUP BY...
dev.to
October 3, 2025 at 10:28 PM
More WiredTiger internals: persisting MongoDB's committed MVCC versions through checkpoints and restarts dev.to/franckpachot...
WiredTigerHS.wt: MongoDB MVCC Durable History Store
MongoDB uses the WiredTiger storage engine, which implements Multi‑Version Concurrency Control (MVCC)...
dev.to
September 29, 2025 at 9:01 AM
Reposted by Franck Pachot
Trust me I was so against it when I arrived at spark I’ve used it in the past and hated it.
but the lack of relations is actually amazing for backfill. it just makes it so simple and painless that I’m willing to live with the mongo of it all
September 28, 2025 at 3:14 AM
Reposted by Franck Pachot
Blog post for September 2025

SQL Developer isn't entirely CBO-friendly.
jonathanlewis.wordpress.com/2025/09/24/s...
September 24, 2025 at 12:29 PM
A closer look at MongoDB Text Search: which terms are indexed for a string, how they're stored, and what formula is used to calculate the query's matching score. Since it's based on Lucene, let's use Lucene tools. dev.to/franckpachot...
MongoDB Search Index Internals with Luke (Lucene Toolbox GUI tool)
Previously, I demonstrated MongoDB text search scoring with a simple example, creating a dynamic...
dev.to
September 22, 2025 at 2:31 PM
Comparing 🍏 to 🍊, and MongoDB to PostgreSQL, with full-text search indexes

dev.to/franckpachot...
Text Search with MongoDB and PostgreSQL
MongoDB Search Indexes provide full‑text search capabilities directly within MongoDB, allowing...
dev.to
September 19, 2025 at 8:47 PM
An example of MongoDB aggregation pipeline compared to the equivalent in SQL/JSON with common table expressions (CTE), from a StackOverflow question: dev.to/franckpachot...
Combine Two JSON Collections with Nested Arrays: MongoDB and PostgreSQL Aggregations
Suppose you need to merge two sources of data—both JSON documents containing nested arrays. This was...
dev.to
September 18, 2025 at 7:40 AM