PostgreSQL Datenbanken für produktive Dienste

 

Kontakt

E-Mail: postgres.service@desy.de

 

Allgemeine Informationen

Wir bieten folgenden Setup fuer bei uns gehosteten Datenbanken an.

PostgreSQL

Cluster

Wir bieten den Betrieb eines PostgreSQL Clusters mit einem Primary und einem Replica Server an.
Der Primary Server dient fuer Lese- und Schreibanfragen.
Der Replica Server kann fuer nur Leseanfragen genutzt werden.

Wir bieten keine Logik fuer die Verteilung von Schreib- oder Lesetransaktionen an. Dies muss ueber den Kunden realisiert werden.

 

PostgreSQL Version

Die aktuell unterstuetzten Versionen von PostgreSQL entnehmen Sie bitte folgender Tabelle.

PostgreSQL Version Unterstuetzt
<= 14
15 ✔️
16 ✔️


Wir informieren rechtzeitig bei einem bevorstehenden Wechsel auf eine neuere PostgreSQL Version, damit Applikationen angepasst werden koennen.

 

PostgreSQL Konfiguration

Aktuell entsprechen die Parameter von PostgreSQL dem fuer die Version gesetzten Standard.
Von uns angepasste Parameter sind:

shared_buffers
effective_cache_size
maintenance_work_mem
wal_buffers
effective_io_concurrency
work_mem
tcp_keepalives_count
tcp_keepalives_idle
tcp_keepalives_interval


Connection Pooling

Wir bieten aktuell keine Loesung fuer Connection Pooling an.
Dies muss vom Kunden selbst realisiert werden.
Die maximalen Verbindungen entsprechen dem aktuell Standard (100).

Leistung

Transaktionen pro Sekunde

Die folgenden Werte zeigen die moeglichen TPS (Transaktionen pro Sekunden), die wir maximal leisten koennen.
Der Test erfolgte unter folgenden Bedingungen:

  • Nutzung des Tool "pgbench" zur Messung der moeglichen TPS
  • Groesse der Datenbank betrug 1,5GB mit zehn Millionen Eintraegen, erstellt mit pgbench (pgbench -i -s 100)
  • pgbench wurde auf einer VM im internen Netz ausgefuehrt
  • die Verbindung zur Datenbank erfolgte ueber einen F5 Alias
  • das Ergebnis entspricht dem Durchschnitt von fuenf Minuten Laufzeit des Benchmarks

 

Clients TPS
1 180
10 1400
50 1800
90 1600

 

Hosts

Eine VM fuer einen PostgreSQL Primary.
Eine VM fuer einen PostgreSQL Replica.

Diese laufen in der Virtualisierungsumgebung XEN.
Als Betriebssystem wird Ubuntu verwendet.
Die VM's haben aktuell standardmaessig 2 virtuelle CPU's und 8GB Arbeitsspeicher.
Installation und Konfiguration wird ueber Puppet realisiert.

Der Login auf die Host's ist fuer den Kunden nicht gestattet.

Wir werden keine zusaetzliche, vom Kunden gewuenschte, Software auf den Host's installieren.

Verbindung

Die Verbindung zur Datenbank findet aussschliesslich ueber einen F5 Alias statt.
Dieser sorgt fuer die Verbindung zum aktuellen PostgreSQL Primary Server.

Failover

Unsere eingesetzte Software ueberwacht den aktuellen Zustand des Clusters.
Im Fehlerfall des aktuellen Primary Servers findet ein automatischer Failover statt.
Dabei wird der Replica Server zum Primary gewechselt.
Der Failover findet im Normalfall in unter einer Minute statt.
In dieser Zeit kann es zu Verbindungsabbruechen kommen.

Reaktionszeiten ausserhalb der Arbeitszeit

Ausserhalb der normalen Arbeitszeiten reagieren wir im Fehlerfall am naechsten Arbeitstag.

Veschluesselung

Der Transportweg der Daten kann ueber SSL verschluesselt werden.
Die Konfiguration auf Serverseite ist standardmaessig eingerichtet.
Der Client muss lediglich die Verschluesselung aktivieren.

Eine serverseitige Verschluesselung der Daten findet aktuell nicht statt.

Authentifizierung

Aktuell bieten wir die Authentifizierung zur Datenbank mittels Basic Auth an (Username + Passwort).
Ebenfalls ist es moeglich eine Zertifikatsauthentifizierung anzubieten. Dies muss ueber GEANT Zertifikate erfolgen.

Die Limitierung von Zugriffen auf die Datenbank ueber Host IP's ist moeglich.

Backups

Es werden automatisch Backups der Datenbank erstellt und fuer den Zeitraum von 14 Tagen gespeichert.
Das wiederherstellen von Daten aus dem Backup nehmen wir vor.

Monitoring

Server, Datenbank und Backups werden mit dem Service Icinga 2 der Fachgruppe IT-Monitoring ueberwacht.

Logging

PostgreSQL Logs werden gespeichert und an das zentrale IT-Elasticsearch Cluster gesendet.
Dort kann Zugriff auf die Logdateien gegeben werden.

 

Unsere Aufgaben

Derzeit kuemmern wir uns um folgende Aufgaben:

- Zustand der virtuellen Maschinen
- Zustand der Datenbank
- Einrichtung von Datenbank Benutzern
- Einspielen von Backups
- Information an den Kunden bei SQL Fehlern, welche einen Ausfall der DB verursachen koennten
- Die Aktualisierung von Zertifikaten fuer den verschluesselten Transportweg
- Das Einspielen von PostgreSQL Aktualisierungen (Minor und Major Upgrades)

 

Ihre Aufgaben

Folgende Aufgaben liegen aktuell auf der Seite des Kunden:

- Migration von Daten aus anderen Datenbankloesungen
- Bereinigen von SQL Applikationsfehlern
- Sicherstellen der Kompatibilitaet zu neueren PostgreSQL Versionen
- Bereitstellen eines Zeitraeumes pro Quartal fuer die Wartung der Systeme und Software (Zeiten in der die Datenbank nicht erreichbar sein wird)
- Kurzfristiges Bereitstellen von Wartungszeitraeumen zum Einspielen von Updates bei kritischen Sicherheitsluecken

Falls Sie aus der DMZ auf die Datenbank zugreifen moechten, muessen Sie eine Firewall Freischaltung bei IT-NOC beantragen. Wenden Sie sich dazu bitte per E-Mail an noc@desy.de

Sollten in der Datenbank personenbezogene Daten gespeichert/verarbeitet werden, muessen Sie die Gruppe D4 darueber informieren.

Informationen hierzu finden Sie unter https://datenschutz.desy.de

Kontaktmoeglichkeiten: https://datenschutz.desy.de/kontakt/index_ger.html


Im Falle von Aenderungen an unseren Dienstleistungen informieren wir Sie.