Database servers in Germany
Updated
Database hosting on Wolkra means running PostgreSQL, MySQL, MariaDB, Redis or another database on your own cloud server in Frankfurt, ideally a memory-optimised plan in a private network, with data that never leaves Germany.
You control the version, the configuration and the extensions, and you pay a flat hourly server price.
Good fits
- App databases for websites, SaaS products and internal tools.
- Caches and queues with Redis or similar.
- Search and analytics engines that need a lot of memory.
- Replicas for reporting or failover.
Any database that runs on Linux runs on a KVM VPS. Start from Ubuntu, Debian, AlmaLinux or Rocky Linux and install from the database project's own packages, or run it in a container with the Docker app.
Choosing a plan
Databases like memory. When the data you query most fits in RAM, reads come from memory instead of disk.
Memory optimized
More RAM per vCPU for databases, caches and in-memory work.
| Plan | vCPU | RAM | Disk | Traffic | Hourly | Monthly cap |
|---|---|---|---|---|---|---|
| M1 | 1 | 8 GB | 30 GB | Unmetered | €0.0160 | €9.99 |
| M2 | 2 | 16 GB | 50 GB | Unmetered | €0.0312 | €19.49 |
- Memory-optimised (m): the default choice for production databases.
- Standard (s): small app databases, development and staging.
- CPU-optimised (c): query-heavy workloads with a small dataset.
Billing is per started hour, capped at the monthly price. Resize to more memory as data grows. The disk can grow, never shrink.
A secure database layout
Private network only
Create a private network and attach the database and app servers. The database listens only on its private address and has no public IP. App servers connect privately. Admins reach it through a WireGuard VPN or an SSH tunnel.
When the database server needs packages and updates, a NAT gateway gives it outbound internet access without opening it to inbound traffic.
Firewall
Attach a free stateful firewall that allows the database port only from your app servers. Firewall rules can target label selectors, so new app servers are allowed automatically when you label them.
Encryption and accounts
- Use TLS for connections between servers if your compliance requires it.
- Create one database user per application, with only the rights it needs.
- Never use the database superuser from an application.
Storage
Keep the data directory on a block storage volume:
- Sizes from 10 GB to 10 TB, billed per GB per month.
- Grow it online when it fills up.
- Detach it and attach it to a new, bigger server during an upgrade.
- It can be formatted and mounted for you when you attach it.
Backups that actually restore
A database backup is only as good as your last test restore. Use layers:
- Daily server backups for 20% of the server price, with 7 restore points. See backups and snapshots.
- Logical dumps with
pg_dump,mysqldumpor the tool for your database, on a schedule. - Off-server copies of those dumps, so one server failure can't take everything.
- Snapshots before upgrades of the database engine or schema migrations.
- Regular restore tests to a temporary server, deleted afterwards. Hourly billing keeps that cheap.
Our backup strategy guide goes deeper.
High availability
For more than one database server:
- Run a primary and replicas using the database's own replication.
- Use placement groups to keep them on different hosts.
- Move a floating IP to the new primary on failover, or point apps at a load balancer with health checks that reach private-only servers.
Data in Germany
Your database, volumes, backups and snapshots stay in Frankfurt. For personal data, that keeps storage in the EU and makes your GDPR records simpler. See EU VPS and GDPR and GDPR hosting in Germany.
Watching performance
The console shows CPU, disk and network graphs per server. Rising disk activity with steady traffic often means the working set no longer fits in memory and it is time for a bigger plan. See monitoring.
Tuning basics
Set the database's memory settings to match the plan, after a resize too. Turn on slow query logging and add indexes before you add hardware.
Traffic
Replication, backups to other locations and large exports move a lot of data. Traffic is unmetered with fair use, on ports up to 10 Gbit/s, shared, so none of that adds per-GB charges. See network.
Launch a database server
Sign up, create a private network, and launch a memory-optimised server in Frankfurt for your data.
Frequently asked questions
Do you offer managed databases?
No. You run the database yourself on a cloud server. That gives full control over versions and settings, and you handle updates, backups and tuning.
Which plan is best for a database?
Memory-optimised (m) plans suit most databases, because databases are fastest when the working set fits in memory.
Can the database server run without a public IP?
Yes. Put it in a private network with your app servers. It stays reachable for them but has no address on the internet.
How should I back up a self-hosted database?
Combine daily server backups with regular dumps or the database's own backup tools, and copy the dumps to another location.
Can I move database files to separate storage?
Yes. Attach a block storage volume and keep the data directory on it. Volumes go up to 10 TB and grow online.