Database Development

Most performance problems people blame on hosting are a missing index or a query running once per row. Both are cheap to fix and cheaper to avoid, and neither shows up in testing because the test database has four hundred rows and production has four million.

The design work is mostly about deciding what must be true. Constraints, foreign keys, and the right types push correctness into the database, where it holds for every path into the data rather than only the one the application uses.

Migrations get treated as production changes, which they are. Reversible, tested against a copy of real data, and staged ahead of the deploy that needs them. Shipping code ahead of its schema is how a live site starts throwing on every profile page, and we have the date on that lesson.

// what you get

What's included.

  • Schema design with real constraints, keys, and types rather than everything as text
  • Query and index tuning against production-sized data
  • Migrations that are reversible, tested, and staged before the code that needs them
  • Data migration from spreadsheets and legacy systems, with the history preserved
  • Backups, point-in-time recovery, and a restore that has actually been rehearsed
  • Reporting views and read replicas, so analytics does not slow the application
// where it fits

The situations this is usually bought for.

A page that got slower every month

Fine at launch, unusable at scale. Usually one query and one missing index, found by measuring rather than guessing.

Data that contradicts itself

Two records disagree because nothing stopped them. Constraints applied after a cleanup keep it from happening again.

A backup nobody has ever restored

An untested backup is a hope. The work is rehearsing the restore and writing down how long it took.

Two people walking together outdoors
// say hello

Tell us what you are trying to fix.

Discovery calls are free and usually last 30 minutes. We listen first, and we will tell you honestly if database development is the wrong thing to spend money on.