Which database is right for you?
- Microsoft SQL Server — best if you use .NET and Windows Server
- MySQL or MariaDB — best for PHP sites on Linux hosting, and supported everywhere in Afghanistan
- PostgreSQL — best for complex reporting, map data, or very large systems
- SQLite — only for mobile apps and small single-user tools
We recommend based on what you already run, not on what we prefer.
More about each option
Microsoft SQL Server
The standard choice for .NET applications and Windows offices. It has strong permission controls, built-in scheduled jobs for backups and reports, and works well with Microsoft's reporting tools.
If your office already runs Microsoft systems, this is usually the easiest path.
MySQL and MariaDB
The standard for PHP websites on Linux hosting. Free, fast, and supported by every hosting company. MariaDB is a compatible version that works the same way.
We always set these up so that record relationships are properly enforced — many older installations skip this, which is how duplicate and orphaned records appear.
PostgreSQL
The strongest option when you need more than simple storage. It handles complicated reports, stores flexible data formats, works with map and location data, and can encrypt individual columns.
For larger NGO and government systems this is often the best technical choice.
How we design a database
- Organised tables so the same information is not stored twice in different places
- Enforced rules so wrong or incomplete data cannot be saved
- Indexes planned around the reports you will actually run, so searches stay fast
- Tracked changes so every update to the structure is recorded and can be undone
- Limited accounts so the application can only do what it needs to do
Keeping your data safe
All database access is written in a way that blocks the most common attack used against websites. Sensitive columns can be encrypted. Passwords stay in protected server settings, never in the code.
Backups that actually work
A backup nobody has ever restored is not a backup — it is a hope.
We set up automatic backups, keep them separate from the main server, agree how long to keep them, and test restoring them. We also write down the recovery steps so anyone can follow them.
Already have a database with problems?
Many organisations have a database that grew year by year with no plan. We check the structure, find what is slowing it down, document what exists, and give you a fix list in priority order.
Often the first two or three fixes solve most of the problem — no rebuild needed.

