AlloyDB Omni wird über ein Docker-Image bereitgestellt, was verschiedene Anpassungsmöglichkeiten bietet. Auf dieser Seite sind einige der gängigen Anpassungen zu sehen.
Eine Schnellstartanleitung für AlloyDB Omni mit der Standardkonfiguration finden Sie unter Schnellstart: AlloyDB Omni.
Hinweise
In der folgenden Tabelle sind die empfohlene Hardware- und Softwarekonfiguration für AlloyDB Omni aufgeführt.
Betriebssystem/Plattform | Empfohlene Hardwarekonfiguration | Empfohlene Softwarekonfiguration |
---|---|---|
Linux |
|
|
macOS |
|
|
(*) Die ARM-Unterstützung befindet sich in der Vorabversion. |
AlloyDB Omni wird in einem Container ausgeführt. Installieren Sie vor der Installation von AlloyDB Omni eine Containerlaufzeit wie Docker oder Podman auf Ihrem Computer.
Podman-Befehle werden für einen containerlosen Container bereitgestellt, der unter deaktiviertem Security-Enhanced Linux (SELinux) ausgeführt wird.
Externes Datenverzeichnis bereitstellen
Standardmäßig werden die Datenbankdaten mit dem Befehl im Schnellstart: AlloyDB Omni installieren in einem von Docker verwalteten Bereich gespeichert. Das ist zwar praktisch für den Einstieg, erschwert aber das Auffinden und Verwenden des Datenverzeichnisses. Stattdessen können Sie eine Bindung einrichten, um das Datenverzeichnis einem bekannten Speicherort auf dem Laufwerk zuzuordnen.
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v DATA_DIR:/var/lib/postgresql/data \
-p HOST_PORT:5432 -d google/alloydbomni:15
Ersetzen Sie Folgendes:
CONTAINER_NAME
: Der Name, der diesem neuen AlloyDB Omni-Container in der Containerregistrierung Ihres Hosts zugewiesen werden soll, z. B.my-omni
.NEW_PASSWORD
: Das Passwort, das dempostgres
-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde.DATA_DIR
: Der Dateisystempfad, den AlloyDB Omni für sein Datenverzeichnis verwenden soll.HOST_PORT
: Der TCP-Port auf dem Hostcomputer, über den der Container den Port 5432 veröffentlicht. Wenn Sie den PostgreSQL-Standardport auch auf dem Hostcomputer verwenden möchten, geben Sie5432
an.
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v DATA_DIR:/var/lib/postgresql/data \
-p HOST_PORT:5432 -d google/alloydbomni:15
Ersetzen Sie Folgendes:
CONTAINER_NAME
: Der Name, der diesem neuen AlloyDB Omni-Container in der Containerregistrierung Ihres Hosts zugewiesen werden soll, z. B.my-omni
.NEW_PASSWORD
: Das Passwort, das dempostgres
-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde.DATA_DIR
: Der Dateisystempfad, den AlloyDB Omni für sein Datenverzeichnis verwenden soll.HOST_PORT
: Der TCP-Port auf dem Hostcomputer, über den der Container den Port 5432 veröffentlicht. Wenn Sie den PostgreSQL-Standardport auch auf dem Hostcomputer verwenden möchten, geben Sie5432
an.
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v DATA_DIR:/var/lib/postgresql/data \
-p HOST_PORT:5432 -d google/alloydbomni:15
Ersetzen Sie Folgendes:
CONTAINER_NAME
: Der Name, der diesem neuen AlloyDB Omni-Container in der Containerregistrierung Ihres Hosts zugewiesen werden soll, z. B.my-omni
.NEW_PASSWORD
: Das Passwort, das dempostgres
-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde.DATA_DIR
: Der Dateisystempfad, den AlloyDB Omni für sein Datenverzeichnis verwenden soll.HOST_PORT
: Der TCP-Port auf dem Hostcomputer, über den der Container den Port 5432 veröffentlicht. Wenn Sie den PostgreSQL-Standardport auch auf dem Hostcomputer verwenden möchten, geben Sie5432
an.
Ulimits aktivieren
Die ulimit-Parameter geben Prozesslimits an, die der Docker-Container verwenden kann. Für eine optimale Leistung empfehlen wir die folgenden Ulimits:
nice=-20:-20
: AlloyDB Omni passt die Prozessprioritäten an, damit kritische PostgreSQL-Prozesse mit höherer Priorität ausgeführt werden können. Je höher die Priorität, desto mehr verfügbare CPUs werden den Prozessen zugewiesen. Wenn Sie die Prozessprioritäten anpassen möchten, geben Sie--ulimit=nice=-20:-20
an. Dadurch werden Einschränkungen für den AlloyDB Omni-Container aufgehoben.memlock=-1:-1
: AlloyDB Omni führt eine automatische Speicherverwaltung durch. Mit der Einstellung--ulimit=memlock=-1:-1
kann die Datenbank besser steuern, wie Arbeitsspeicherseiten ausgetauscht werden. Dies kann zu einer besseren Leistung führen.
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=nice=-20:-20 --ulimit=memlock=-1:-1 \
-p HOST_PORT:5432 -d google/alloydbomni:15
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=nice=-20:-20 --ulimit=memlock=-1:-1 \
-p HOST_PORT:5432 -d google/alloydbomni:15
Logging-Treiber angeben
Standardmäßig führt Docker keine Protokollrotationen durch. Das kann viel Speicherplatz beanspruchen und letztendlich zum Ausschöpfen des Speicherplatzes führen. Sie können Docker so konfigurieren, dass ein anderer Logging-Treiber verwendet wird. So loggen Sie sich beispielsweise in journald an:
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 -d google/alloydbomni:15
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 -d google/alloydbomni:15
Weitere Informationen zu Docker und Logging-Treibern finden Sie in der Docker-Dokumentation unter Logging-Treiber konfigurieren.
Sie können das Logging auch mit PostgreSQL konfigurieren. Weitere Informationen finden Sie in der PostgreSQL-Dokumentation unter Fehlerberichte und ‑protokollierung.
Volume mit gemeinsam genutztem Arbeitsspeicher bereitstellen
Wenn Sie die spaltenbasierte Engine von AlloyDB mit AlloyDB Omni verwenden möchten, empfehlen wir, für den AlloyDB Omni-Container gemeinsamen Arbeitsspeicher bereitzustellen. Die Methode dazu hängt vom Hostbetriebssystem ab, wie in den folgenden Beispielen gezeigt.
Linux
Um den freigegebenen Speicher für den Container verfügbar zu machen, müssen Sie /dev/shm
bereitstellen:
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
-v /dev/shm:/dev/shm \
-d google/alloydbomni:15
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
-v /dev/shm:/dev/shm \
-d google/alloydbomni:15
macOS
Wenn Sie den freigegebenen Speicher für den Container verfügbar machen möchten, fügen Sie das Flag --shm-size
hinzu:
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
--shm-size=SHARED_MEMORY_SIZE \
-d google/alloydbomni:15
Ersetzen Sie SHARED_MEMORY_SIZE
durch die Größe, die für /dev/shm
im Container festgelegt werden soll, im Format, das unter Container ausführen beschrieben wird.
Wenn Sie beispielsweise ein Gigabyte angeben möchten, verwenden Sie den Wert 1g
.
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
--shm-size=SHARED_MEMORY_SIZE \
-d google/alloydbomni:15
Ersetzen Sie SHARED_MEMORY_SIZE
durch die Größe, die für /dev/shm
im Container festgelegt werden soll, im Format, das unter Container ausführen beschrieben wird.
Wenn Sie beispielsweise ein Gigabyte angeben möchten, verwenden Sie den Wert 1g
.
Wir empfehlen, die Größe des gemeinsamen Arbeitsspeichers auf eine Anzahl von Megabyte festzulegen, die mindestens dem 250-fachen des Werts des google_job_scheduler.max_parallel_workers_per_job
-Flags Ihrer Datenbank entspricht. Weitere Informationen zur spaltenbasierten Engine finden Sie unter Spaltenbasierte Engine in AlloyDB Omni konfigurieren.
Wenn das Datenbank-Flag google_job_scheduler.max_parallel_workers_per_job
beispielsweise auf den Standardwert 2
gesetzt ist, sollten Sie beim Starten des Datenbankservers ein Flag von --shm-size=500m
oder höher hinzufügen.
Weitere Informationen zum Flag --shm-size
finden Sie unter Container ausführen.