Custom Software

Database development and optimisation

Your data will outlive your application. A well-designed database keeps it correct, fast to query and easy to build on, whatever software comes next.

Applications get rewritten every so often, but the data carries on. A clumsy schema decision can haunt a business for a decade, slowing every report and complicating every feature. Good design uses real constraints such as foreign keys, unique rules and sensible types, so that the database itself refuses bad data instead of relying on every piece of code to remember the rules.

Many businesses come to us with a database that has grown informally: an Access file on a shared drive, or a spreadsheet that has quietly become the system of record. These work surprisingly well until they don’t. Moving off them doesn’t have to be dramatic, and we can often keep a familiar interface while moving the data underneath to something sturdier.

When a database is slow

When a system gets slow, people often assume they need bigger servers. Usually the problem is a small number of unindexed or badly written queries, and fixing those is much cheaper. We look at slow query logs and execution plans first. Only after that would we consider caching, read replicas or partitioning, each of which brings its own complexity.

Database problems we see most

Access or Excel at its limits

Corrupted files, locking problems and a single point of failure on a shared drive.

Queries slowing everything

Reports that time out, and lock contention affecting the live application.

Bad data

Duplicates, orphaned records and inconsistent values, because nothing enforces the rules.

Database services

Schema design

Normalised structures with constraints and indexes designed around how the data is used.

Performance tuning

Query analysis, indexing strategy and configuration, with measured before and after results.

Migrations

Moving from Access, Excel or older platforms, with validation that every record arrived correctly.

Data clean-up

De-duplication and standardisation before problems spread.

Backup and recovery

Automated backups, tested restores and clear recovery procedures.

Where it fits

  • Replacing shared Access databases
  • Speeding up slow reporting
  • Consolidating data held across several systems

Technology

  • MySQL
  • MariaDB
  • PostgreSQL
  • SQL Server
  • Redis
  • Elasticsearch
  • Metabase
  • Power BI

Database Development questions

MySQL or PostgreSQL?
Both are excellent. PostgreSQL has richer features for complex queries and data types, while MySQL is very widely supported by hosting providers. If you’re already using one successfully, there’s rarely a reason to switch.
Can you migrate our Access database?
Yes. We’d move the data to a server-based database and either connect a new web interface or, as an interim step, keep Access as a front end.
How do you make sure no data is lost?
Through trial migrations, automated row counts and checksums, sign-off by people who know the data, and a tested rollback plan.

Interested in Database Development?

Outline what you need, and we will reply by email with questions or next steps.

Start a Project