Services

Database design and management

The report the manager asks for takes forty seconds and the page times out first. Nobody changed anything — the table grew. Most database problems do not begin with a failure; they begin with a design decision taken when there were two thousand rows and nobody expected two million. By the time it hurts, three reports and one screen depend on that decision.

Who it is for

  • Systems whose first year was fast and whose third year is not.
  • Teams running migrations by hand, at night, hoping.
  • Anyone who has a backup and has never restored it.

Problems it solves

The report that used to be instant

Four seconds became forty after three years of data. The query is the same one written when the table held two thousand rows.

Migrations are done by hand

A column is renamed in production on a Thursday night, and a week later an old screen fails for one customer.

The backup exists, the restore was never tried

There is a dump every night. Nobody knows how long restoring it takes, or whether the application still starts against it.

Use cases

Schema and indexes for a growing table

Orders by branch and month, indexed for the report that is actually run, not for the one in the diagram.

A slow report, rewritten

Same numbers, read from a summary table updated on write, and the accountant keeps the export format they already use.

A migration without downtime

Add the new column, write to both, backfill in batches, switch the reads, then drop the old one — each step reversible.

A restore drill

Restore last night's backup onto a second machine, start the application against it, and write down the minutes it took.

What is in scope

Fixed scope. Fixed price.

Agreed in writing before anything is built. You approve before we start.

  • A schema review: tables, keys, constraints, and what is missing a constraint
  • Index and query plan review for the reports and screens that are slow
  • Migration scripts, reviewed, with a rollback written for each step
  • A backup schedule, a retention rule and a copy that is not on the same machine
  • A written restore procedure, rehearsed once with your team
  • Monitoring of growth: table sizes, slow queries, failed jobs

How it is delivered

  1. 01

    Read the queries people actually run

    Start from the report someone waits for every morning, not from the entity diagram drawn before the system existed.

  2. 02

    Measure before changing anything

    Query plan, row counts, time of day. Guessing at the cause is how an index ends up on the wrong column.

  3. 03

    Change one thing, keep the old path

    Every migration is reversible, and the old column stays until the new one has survived a full month-end.

  4. 04

    Prove the backup

    A backup nobody restored is a hope. The drill is part of the delivery, not an extra we offer afterwards.

FAQ

Questions about this service.

What owners usually ask before requesting a quote for it.

Something else? Put it in the project brief.
Can you fix the slow report without changing the application?

Often yes: an index, a rewritten query, or a summary table. And sometimes no, because the screen reads the data in a way that cannot be made fast — we will say that before taking the work.

Do we just need a bigger server?

Sometimes the answer is an index, sometimes more memory, sometimes a schema that was wrong from the start. We measure, then say which. Hardware is the most expensive way to avoid a design decision.

Which database do you use?

The one that fits the workload and your team: PostgreSQL or MySQL on a server, SQLite where a single machine owns the data. Maxisoft runs on a local SQLite database on purpose, because the counter has to keep selling when the connection drops.

What if we already have a database nobody understands?

Then the first deliverable is documentation, and it is not free: reading an undocumented schema takes time. Occasionally rebuilding is cheaper than reverse-engineering it, and you get the cost of both before choosing.

Start a project

Want this scoped for your business?

Send the brief. It comes back as a written scope and a fixed quote before anything is built.