Keyboard Navigation
W
A
S
D
or arrow keys · M for map · Q to exit
← Back to exhibits
Data IntegrityDesign FlawEXP-028

The Hand-Cut Partition

When the license was too expensive so you built the infrastructure yourself

Early 1990s · SQL · 11 min read

This exhibit, like its companion The Precomputed Judgment, is not a flaw. It is what happens when a team that can't afford the enterprise feature builds the enterprise feature from scratch — and in doing so, builds something the enterprise feature doesn't include: resilience.

Enterprise database editions — SQL Server Enterprise, Oracle Partitioning Option — have had built-in table partitioning for decades. They slice a table into physical segments by range (date, ID), list (status, region), or hash. Queries that target a single partition touch only that segment's data. Maintenance operations run per-partition instead of locking the whole table. It is elegant, automatic, and behind a licensing paywall that many teams cannot reach.

So those teams build it by hand.

claims_2024_01, claims_2024_02, claims_2024_03... students_active, students_archived, students_graduated... The table names encode the partition key. The application logic knows which table to target. The processing knows which segment it's working on. And because the processing runs in batches against specific segments — not against a 50-million-row monolith — it can be interrupted, restarted, and resumed without reprocessing what was already done.

The enterprise feature gives you partitioning. The hand-cut version gives you partitioning AND checkpoint/restart AND resumable processing AND the discipline of thinking about your data's lifecycle — because you had to.

Archaeologist's Note

This pattern has been found in applications built by talented developers at respected organizations across every decade of software history. Its presence in a codebase is not a reflection of the developer who wrote it — it is a reflection of what that developer was taught, what tools they had, and the path that was easiest given what they were taught. The goal is not to find fault. The goal is to find the pattern — before it finds you.

Katie's Law: The developers were not wrong. The shortcut was not wrong. The context changed and the shortcut didn't.