Franck Pachot

Franck Pachot @franckpachot

About: 🥑 Developer Advocate at 🍃 MongoDB, 🔶 AWS Data Hero, 🐘 PostgreSQL fan,▝▞ YugabyteDB expert, 🅾️ Oracle Certified Master, and 💚 loving all databases 🛢️

Location:
Lausanne, Switzerland
Joined:
Nov 12, 2018

Franck Pachot
articles - 250 total

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...

Learn More 0 0Oct 3

WiredTigerHS.wt: MongoDB MVCC Durable History Store

MongoDB uses the WiredTiger storage engine, which implements Multi‑Version Concurrency Control (MVCC)...

Learn More 5 0Sep 28

MongoDB Search Index Internals With Luke (Lucene Toolbox GUI Tool)

Previously, I demonstrated MongoDB text search scoring with a simple example, creating a dynamic...

Learn More 6 0Sep 21

Text Search With MongoDB (BM25 TF-IDF) and PostgreSQL

MongoDB search indexes provide full‑text search capabilities directly within MongoDB, allowing...

Learn More 6 0Sep 19

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...

Learn More 0 0Sep 18

MongoDB Multikey Indexes and Index Bound Optimization

Previously, I discussed how MongoDB keeps track of whether indexed fields contain arrays. This...

Learn More 1 0Sep 16

MongoDB Internals: How Collections and Indexes Are Stored in WiredTiger

WiredTiger is MongoDB’s default storage engine, but what really occurs behind the scenes when...

Learn More 9 0Sep 14

Resilience of MongoDB's WiredTiger Storage Engine to Disk Failure Compared to PostgreSQL and Oracle

There have been jokes that have contributed to persistent myths about MongoDB's durability. The...

Learn More 1 0Sep 8

DocumentDB: Comparing Emulation Internals with MongoDB

MongoDB is the leading database for document data modeling, with its Atlas service available on AWS,...

Learn More 3 0Sep 1

Updates to the Same Value: MongoDB Optimization

In MongoDB, when you update a field to the same value it already holds, the database optimizes the...

Learn More 2 1Aug 28

PostgreSQL JSONB Size Limits to Prevent TOAST Slicing

In my previous post Embedding Into JSONB Still Feels Like a JOIN for Large Documents, I examined the...

Learn More 0 0Aug 27

Embedding Into JSONB Still Feels Like a JOIN for Large Documents

Think PostgreSQL with JSONB can replace a document database? It’s a tempting idea: Embed your related...

Learn More 4 0Aug 24

MongoDB Arrays: Sort Order and Comparison

Arrays in MongoDB are ordered lists of values, and querying them can be confusing because a field...

Learn More 2 0Aug 18

Why Doesn't Oracle Multi-Value Index Optimize .sort() Like MongoDB Does With its Multi-Key Index?

Until recently, Oracle Database offered very limited options for creating inverted indexes, primarily...

Learn More 0 0Aug 15

Does PostgreSQL support as much "schema flexibility" as MongoDB? Not for indexing!

Another day, another myth. Someone on Medium claims PostgreSQL offers as much "schema flexibility" as...

Learn More 2 0Aug 12

PostgreSQL UUID: Bulk insert with UUIDv7 vs UUIDv4

PostgreSQL 18 (currently in beta) introduces a UUID version 7 generation function that features a...

Learn More 4 1Aug 11

Joining and grouping on array fields in MongoDB may require using $unwind before applying $group or $lookup

Working with nested data in MongoDB simplifies mapping between application objects and database...

Learn More 0 0Aug 8

MongoDB indexing internals: .showRecordId() and .hint({$natural:1})

You can understand how MongoDB stores documents internally with simple queries that rely on the...

Learn More 3 1Aug 7

Transaction performance 👉🏻 retry with backoff

A benchmark sponsored by EDB, a PostgreSQL company, in 2019 contributed to the myth that MongoDB...

Learn More 1 0Aug 5

Why MongoDB skips indexes when flattening or renaming sub-document fields in $project before $match aggregation pipeline

MongoDB is a general-purpose database that offers more than just a JSON datastore. It is recognized...

Learn More 0 1Aug 4

MongoDB High Availability: Replica Set in a Docker Lab

MongoDB guarantees consistent and durable write operations through write-ahead logging, which...

Learn More 0 0Aug 2

Lock-Free Wait-on-Conflict and Fail-on-Conflict in MongoDB

Concurrency control in databases has two main modes for handling conflicts. Traditionally, these are...

Learn More 2 0Jul 23

.hint() in MongoDB is different that SQL optimizer hints: they force indexes

MongoDB sits at the crossroads between SQL, where developers can write queries on a logical model...

Learn More 1 0Jul 22

Database latency with PostgreSQL and MongoDB: it's the data model that makes it fast

A business transaction ideally involves a single roundtrip to the database. MongoDB allows a single...

Learn More 2 1Jul 21

$isArray: [💬,💬,💬] ❌ - Arrays are Argument Lists in MongoDB Aggregation Pipeline

If you test $isArray: [42] in MongoDB, it returns false and that's the right answer. If you test...

Learn More 1 0Jul 20

Sequences in MongoDB

In a previous post about No-gap sequence in PostgreSQL and YugabyteDB, I mentioned that sequences in...

Learn More 0 0Jul 18

Wildcard Indexes: MongoDB flexibility joins query performance

In SQL databases, we sometimes encounter an Entity-Attribute-Value (EAV) model to work around the...

Learn More 0 0Jul 10

ALTER TABLE ... ADD COLUMN

MongoDB’s flexible schema allows each document within a collection to have a unique structure, a...

Learn More 5 0Jul 8

Erik (author of Lucene in Action) is starting a series on search indexes

Introducing "Playing with Search" Series Erik Hatcher ・...

Learn More 0 0Jul 3

Strong consistency 👉🏻 MongoDB highly available durable writes (Replication)

In the previous post, I used strace to display all calls to write and sync to disk from any MongoDB...

Learn More 5 0Jun 30