AlloyDB Omni est déployé via une image Docker, ce qui permet différentes formes de personnalisation. Cette page présente certaines des personnalisations courantes.
Pour commencer rapidement à utiliser AlloyDB Omni avec la configuration par défaut, consultez Démarrage rapide: AlloyDB Omni.
Avant de commencer
Le tableau suivant présente la configuration matérielle et logicielle recommandée pour AlloyDB Omni.
OS/Plate-forme | Configuration matérielle recommandée | Configuration logicielle recommandée |
---|---|---|
Linux |
|
|
macOS |
|
|
(*) La compatibilité avec Arm est disponible en preview. |
AlloyDB Omni s'exécute dans un conteneur. Installez un environnement d'exécution de conteneur tel que Docker ou Podman sur votre machine avant d'installer AlloyDB Omni.
Les commandes Podman sont fournies pour un conteneur sans racine exécuté sur Security-Enhanced Linux (SELinux) désactivé.
Installer un répertoire de données externe
Par défaut, la commande du guide de démarrage rapide: Installer AlloyDB Omni stocke les données de la base de données dans une zone gérée par Docker. Cela est pratique pour commencer, mais rend difficile la recherche et l'utilisation du répertoire de données. Vous pouvez plutôt configurer un montage de liaison pour mapper le répertoire de données sur un emplacement connu de votre disque.
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
Remplacez les éléments suivants :
CONTAINER_NAME
: nom à attribuer à ce nouveau conteneur AlloyDB Omni dans le registre de conteneurs de votre machine hôte (par exemple,my-omni
).NEW_PASSWORD
: mot de passe attribué à l'utilisateurpostgres
du nouveau conteneur après sa création.DATA_DIR
: chemin d'accès au système de fichiers que vous souhaitez qu'AlloyDB Omni utilise pour son répertoire de données.HOST_PORT
: port TCP sur la machine hôte auquel le conteneur publie le port 5432. Pour utiliser également le port par défaut PostgreSQL sur la machine hôte, spécifiez5432
.
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
Remplacez les éléments suivants :
CONTAINER_NAME
: nom à attribuer à ce nouveau conteneur AlloyDB Omni dans le registre de conteneurs de votre machine hôte (par exemple,my-omni
).NEW_PASSWORD
: mot de passe attribué à l'utilisateurpostgres
du nouveau conteneur après sa création.DATA_DIR
: chemin d'accès au système de fichiers que vous souhaitez qu'AlloyDB Omni utilise pour son répertoire de données.HOST_PORT
: port TCP sur la machine hôte auquel le conteneur publie le port 5432. Pour utiliser également le port par défaut PostgreSQL sur la machine hôte, spécifiez5432
.
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
Remplacez les éléments suivants :
CONTAINER_NAME
: nom à attribuer à ce nouveau conteneur AlloyDB Omni dans le registre de conteneurs de votre machine hôte (par exemple,my-omni
).NEW_PASSWORD
: mot de passe attribué à l'utilisateurpostgres
du nouveau conteneur après sa création.DATA_DIR
: chemin d'accès au système de fichiers que vous souhaitez qu'AlloyDB Omni utilise pour son répertoire de données.HOST_PORT
: port TCP sur la machine hôte auquel le conteneur publie le port 5432. Pour utiliser également le port par défaut PostgreSQL sur la machine hôte, spécifiez5432
.
Activer les limites d'utilisateur
Les paramètres ulimit spécifient les limites de processus que le conteneur Docker peut utiliser. Pour des performances optimales, nous vous recommandons de définir les limites d'utilisation suivantes:
nice=-20:-20
: AlloyDB Omni ajuste les priorités de processus pour permettre aux processus PostgreSQL critiques de s'exécuter avec une priorité plus élevée. Une priorité plus élevée permet aux processus d'allouer davantage de processeurs disponibles. Pour ajuster les priorités de processus, spécifiez--ulimit=nice=-20:-20
, ce qui supprime les limites du conteneur AlloyDB Omni.memlock=-1:-1
: AlloyDB Omni effectue une gestion automatique de la mémoire. Le paramètre--ulimit=memlock=-1:-1
permet à la base de données de mieux contrôler la façon dont les pages de mémoire sont échangées, ce qui peut améliorer les performances.
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
Spécifier un pilote de journalisation
Par défaut, Docker n'effectue pas de rotation des journaux. Cela peut utiliser beaucoup d'espace disque et finir par l'épuiser. Vous pouvez configurer Docker pour qu'il utilise un autre pilote de journalisation. Par exemple, pour journaliser dans journald:
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
Pour en savoir plus sur Docker et les pilotes de journalisation, consultez la documentation Docker Configurer les pilotes de journalisation.
Vous pouvez également configurer la journalisation à l'aide de PostgreSQL. Pour en savoir plus, consultez la documentation PostgreSQL Création de rapports d'erreur et journalisation.
Installer un volume de mémoire partagée
Si vous prévoyez d'utiliser le moteur en colonnes AlloyDB avec AlloyDB Omni, nous vous recommandons de mettre la mémoire partagée à la disposition du conteneur AlloyDB Omni. La méthode à suivre diffère selon le système d'exploitation hôte, comme illustré dans les exemples suivants.
Linux
Pour mettre la mémoire partagée à la disposition du conteneur, installez /dev/shm
:
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
Pour mettre la mémoire partagée à la disposition du conteneur, incluez l'indicateur --shm-size
:
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
--shm-size=SHARED_MEMORY_SIZE \
-d google/alloydbomni:15
Remplacez SHARED_MEMORY_SIZE
par la taille à définir pour /dev/shm
sur le conteneur, au format décrit dans la section Exécuter des conteneurs.
Par exemple, pour spécifier un gigaoctet, utilisez la valeur 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
Remplacez SHARED_MEMORY_SIZE
par la taille à définir pour /dev/shm
sur le conteneur, au format décrit dans la section Exécuter des conteneurs.
Par exemple, pour spécifier un gigaoctet, utilisez la valeur 1g
.
Nous vous recommandons de définir la taille de la mémoire partagée sur un nombre de mégaoctets égal à au moins la valeur de l'indicateur google_job_scheduler.max_parallel_workers_per_job
de votre base de données, multipliée par 250. Pour en savoir plus sur le moteur de données en colonnes, consultez Configurer le moteur de données en colonnes dans AlloyDB Omni.
Par exemple, si l'indicateur de base de données google_job_scheduler.max_parallel_workers_per_job
est défini sur sa valeur par défaut, 2
, envisagez d'ajouter un indicateur de --shm-size=500m
ou supérieur lorsque vous démarrez votre serveur de base de données.
Pour en savoir plus sur l'option --shm-size
, consultez la section Exécuter des conteneurs.