Skip to content

Database design and optimisation.

Database architecture, performance optimisation, migrations, backups, access control, and reporting for business applications.

Get a quote

What this covers.

Included

  • Schema design based on the data model, access patterns, and reporting needs
  • Indexing and query work, measured before and after
  • Migrations with a rehearsed cutover and a rollback plan
  • Automated backups, and a restore that has been tested
  • Access control, and encryption in transit and at rest where required
  • Reporting views, so analysis does not run against the operational database

Not included

  • Cloud hosting and storage costs
  • Ongoing database administration retainers
  • Cleaning source data we have not been given
  • Licences for commercial database engines

Design

Database design is based on the application's data model, its relationships, consistency requirements, access patterns, expected workload, and reporting needs. Those inputs determine the structure; the structure then determines how much every later feature costs to build.

Normalisation is applied where consistency matters and relaxed where read performance requires it. That trade-off is a decision recorded during design rather than a by-product of the first implementation. PostgreSQL is our default for business applications. MongoDB suits document-shaped or flexible-schema data, and MySQL or SQLite fit smaller or simpler cases. The engine is selected against the workload and the hosting environment.

Performance

Performance work begins with measurement. We review query execution plans, indexes, connection usage, data access patterns, and workload characteristics before making changes.

The usual remedies are indexing, query rewriting, connection pooling, caching, and targeted schema adjustments. Which of those apply, and how much difference they make, depends on the workload. The measurement before and after is the record of what the work achieved, and it is part of the deliverable.

Backups and recovery

Backup requirements are defined around the acceptable recovery point and recovery time for the system: how much data the business can afford to lose, and how long it can afford to be without the system. Depending on the project, this can include automated backups, point-in-time recovery, off-site copies, and periodic restore testing.

Restore testing is the step most often skipped, and it is the only thing that establishes whether a backup is usable. Where it is in scope, restores are run into a separate environment on a schedule and the result recorded.

Migrations

Migrations are planned around data mapping, validation, cutover requirements, acceptable downtime, rollback strategy, and reconciliation after the move. Acceptable downtime is agreed in advance, because it determines the migration approach.

Higher-risk migrations are rehearsed against a non-production copy before the production change, with record counts and key values compared on both sides. The rollback is prepared and tested alongside the migration.

Access control and reporting

Access control covers roles and permissions, encryption in transit and at rest where the data requires it, and audit logging of who changed what. Which of those apply depends on the sensitivity of the data and any obligations attached to it.

Reporting views can be separated from the operational database so analysis does not run against production, with a refresh frequency agreed against how current the reporting has to be.

What you get

Schema Design

Structures based on the data model, relationships, consistency requirements, access patterns, and reporting needs.

Performance

Measurement first: execution plans, indexes, connection usage, and access patterns, then targeted changes.

Migrations

Data mapping, validation, cutover planning, rollback, and reconciliation, rehearsed on a non-production copy.

Backups & Recovery

Automated backups, point-in-time recovery, off-site copies, and restore testing against an agreed recovery point and time.

Access & Encryption

Roles and permissions, encryption in transit and at rest where required, and audit logging of changes.

Reporting

Reporting views separated from the operational database, with an agreed refresh frequency.

How the project runs.

01

Initial discussion

The current database, its workload, its access patterns, and the behaviour you need to change.

02

Scope and proposal

A schema or optimisation plan, with deliverables, measurement, rollback strategy, and pricing.

03

Design and development

Build, migrate, or optimise, with changes verified against a non-production copy first.

04

Testing and launch

Cutover, then monitoring, alerting, and verified backups in place.

Common questions

Which database technology do you recommend?
It depends on the workload. PostgreSQL is our default for business applications. MongoDB suits document-shaped or flexible-schema data, and MySQL or SQLite fit smaller or simpler cases. The engine is selected against the data model, the access patterns, and the hosting environment.
Can you optimise an existing slow database?
Yes. Work starts with measurement: query execution plans, indexes, connection usage, and access patterns. The remedies are usually indexing, query rewriting, pooling, caching, and targeted schema changes, with the before and after recorded so the effect is visible.
How do you handle data migration?
Migrations are planned around data mapping, validation, cutover requirements, acceptable downtime, rollback, and reconciliation afterwards. Higher-risk migrations are rehearsed against a non-production copy, with record counts and key values compared on both sides before the production change.
How do I know my backups work?
By restoring one. A backup is only verified by a successful restore into a separate environment. Where restore testing is in scope, it runs on a schedule and the result is recorded, alongside the recovery point and recovery time the backups are designed to meet.

Tell us what the database has to support.

Describe the project and your current system or process. We'll review the details and reply with the next steps.

Get a quote