RAM-Nutzung zwischen Datenbanken

Hallo,
ich habe eine Frage zur Speichernutzung zwischen verschiedenen Datenbanken.
Und zwar habe ich mehrere Anwendungen, die je eine Datenbank nutzen:
Anwendung 1 → Datenbank 1
Anwendung 2 → Datenbank 2
Anwendung 3 → Datenbank 3
… etc.
Alle Datenbank befinden sich innerhalb einer Postgres Instanz, die über limitierte Ressourcen verfügt (RAM, CPU). Vermutlich wird es ein paar Dutzend Anwendungen mit eigener DB geben.
Wenn jetzt z.B. Anwendung 1 sehr viel Last erzeugt, befürchte ich, dass der gesamte RAM der Postgres Instanz komplett von Datenbank 1 belegt ist. Somit würden alle anderen Datenbanken dadurch quasi “ausgebremst”.
Gibt es eine Möglichkeit den RAM fair auf die Datenbanken zu verteilen? Spricht generell etwas gegen diesen Aufbau?
Vielen Dank im Voraus!
Viele Grüße, Daniel

nein, da gibt es so keine Lösung.

Das ist halt eine typische Fragestellung, für die es keine für alle passende Lösung gibt, es ist eine Abwägungssache.

Da PostgreSQL auch den “ungenutzten” Speicher auf der Maschine verwendet, ist das kaum zu bewerkstelligen.

Ich würde einen PostgreSQL-Cluster pro Datenbank anlegen, dann hat jede wenigstens ihren Shared Buffers für sich. Das ist wahrscheinlich gut genug.

Für strenge Trennung bräuchte man verschiedene Maschinen oder verschiedene Linux Control Groups (also z.B. Container).

Dann vielen Dank für Eure Hilfe :+1: