So wählen Sie einen VPS für eine Datenbank
Eine Datenbank auf dem eigenen VPS bedeutet einen planbaren Preis und vollen Zugriff auf die Einstellungen: Sie installieren die gewünschte Version, aktivieren Erweiterungen und richten Backups nach Ihren Vorstellungen ein. Verwaltete Datenbanken in der Cloud sind bequemer, kosten für denselben Arbeitsspeicher aber ein Vielfaches. Wenn Sie Updates und Backups selbst im Blick behalten, macht sich ein Datenbankserver schnell bezahlt.
Arbeitsspeicher ist wichtiger als Kerne
Datenbanken halten häufig genutzte Daten im Arbeitsspeicher: PostgreSQL in shared_buffers und im Dateisystem-Cache, MySQL und MariaDB im InnoDB-Buffer-Pool, Redis komplett. Solange der Working Set in den Speicher passt, antworten Abfragen in Millisekunden; sobald nicht mehr, geht jede Abfrage auf die Festplatte, und die Geschwindigkeit sinkt um das Zehnfache und mehr. Schätzen Sie daher zuerst die Menge der aktiven Daten ab und nehmen Sie Arbeitsspeicher mit Reserve:
- bis 5 GB Daten – Blog, kleiner Shop, Bot-Backend: 2 GB RAM reichen;
- 10–30 GB – CRM, Onlineshop mit Katalog, Analytics: ab 4 GB, besser 8 GB;
- über 50 GB oder Hunderte Abfragen pro Sekunde – ab 16 GB und dedizierte Kerne.
Kerne brauchen Sie für parallele Abfragen und aufwendige Reports. Für eine typische Web-Last genügen 2 Kerne, und die Tabelle oben ist standardmäßig nach dem Preis pro Gigabyte Arbeitsspeicher sortiert – dem wichtigsten Parameter für eine Datenbank.
Festplatte: nur NVMe
Eine Datenbank führt ständig kleine zufällige Lese- und Schreibvorgänge aus, und das Transaktionslog verlangt schnelles synchrones Schreiben. Auf HDDs und günstigen, geteilten SATA-SSDs führt das zu Verzögerungen und „Hängern“ bei jedem Checkpoint. Nehmen Sie Tarife mit NVMe und planen Sie dreimal so viel Platz ein wie Ihre aktuelle Datenmenge: Indizes, WAL- oder Binlog-Dateien, temporäre Sortierdateien und lokale Backups belegen nicht weniger als die Tabellen selbst.
PostgreSQL, MySQL oder Redis
- PostgreSQL – die universelle Wahl für neue Projekte: strikte Transaktionen, JSON, Volltextsuche, Erweiterungen wie PostGIS. Mehr zu den Anforderungen auf der Seite VPS für PostgreSQL.
- MySQL und MariaDB – Standard für WordPress, Bitrix und die meisten CMS; bei kleinen Datenmengen brauchen sie weniger Arbeitsspeicher. Siehe VPS für MySQL.
- Redis – Cache, Queues und Sessions; alles liegt im Arbeitsspeicher, daher bestimmt dessen Größe den Tarif. Siehe VPS für Redis.
Sicherheit und Backups
Öffnen Sie den Datenbank-Port niemals zum Internet: PostgreSQL (5432), MySQL (3306) und Redis (6379) sollten nur auf 127.0.0.1 oder einem privaten Netz lauschen. Läuft die Anwendung auf einem anderen Server, verbinden Sie beide über WireGuard oder einen SSH-Tunnel. Offene Datenbanken finden Scanner innerhalb weniger Stunden, und Erpresser verschlüsseln die Daten.
Ein Backup auf demselben Server ist kein Backup. Richten Sie einen täglichen Dump (pg_dump, mysqldump) oder eine kontinuierliche Archivierung des Logs ein und kopieren Sie ihn an einen anderen Ort: in einen Objektspeicher oder auf einen separaten VPS für Backups. Prüfen Sie einmal im Monat, ob sich aus der Kopie tatsächlich wiederherstellen lässt.
Wo platzieren?
Betreiben Sie die Datenbank im selben Rechenzentrum wie die Anwendung: Jede zusätzliche Netzwerklatenz von 30–50 ms multipliziert sich mit der Zahl der Abfragen pro Seite. Wenn Sie personenbezogene Daten russischer Bürger speichern, muss die Datenbank nach dem russischen Gesetz 152-FZ in Russland stehen – dafür gibt es die Auswahl VPS in Russland.