Spaltenbasierte Engine in AlloyDB Omni konfigurieren

Wählen Sie eine Dokumentenversion aus:

Auf dieser Seite wird beschrieben, wie Sie die spaltenbasierte Engine in einem AlloyDB Omni-Datenbankcluster aktivieren oder deaktivieren. Außerdem wird erläutert, wie Sie eine geeignete Anfangsgröße für den Spaltenspeicher konfigurieren.

Eine konzeptionelle Übersicht über die spaltenbasierte Engine von AlloyDB finden Sie unter Übersicht über die spaltenbasierte Engine von AlloyDB Omni.

Spaltenbasierte Engine aktivieren

Wenn Sie die spaltenbasierte Engine in einer Instanz verwenden möchten, setzen Sie das google_columnar_engine.enabled Flag der Instanz auf on.

Einzelserver

So setzen Sie google_columnar_engine.enabled auf on:

  1. Führen Sie den ALTER SYSTEM PostgreSQL-Befehl aus:

    ALTER SYSTEM SET google_columnar_engine.enabled = 'on'
    
  2. Wenn Sie die Konfiguration der spaltenbasierten Engine anpassen möchten, folgen Sie der Anleitung im nächsten Abschnitt, bevor Sie den Datenbankserver neu starten. Andernfalls führen Sie den folgenden Schritt aus, um den Datenbankserver jetzt neu zu starten.

  3. Damit die Änderungen an den Konfigurationsparametern wirksam werden, starten Sie den Datenbankserver neu:

     sudo systemctl restart alloydbomni18

Größe des Spaltenspeichers konfigurieren

Wenn die spaltenbasierte Engine in einer Instanz aktiviert ist, weist AlloyDB Omni einen Teil des Arbeitsspeichers der Instanz zu, um die spaltenbasierten Daten zu speichern. Wenn Sie Ihrem Spaltenspeicher schnellen RAM zuweisen, kann AlloyDB Omni so schnell wie möglich auf die spaltenbasierten Daten zugreifen.

Arbeitsspeicher und Speichercache zusammen stellen die Gesamtkapazität der spaltenbasierten Engine dar.

Arbeitsspeicher konfigurieren

Sie können die Zuweisung mit dem google_columnar_engine.memory_size_in_mb Flag auf eine feste Größe festlegen.

Einzelserver

So legen Sie das Flag google_columnar_engine.memory_size_in_mb für eine Instanz fest:

  1. Konfigurieren Sie den Arbeitsspeicher, indem Sie den ALTER SYSTEM PostgreSQL-Befehl ausführen:

    ALTER SYSTEM SET google_columnar_engine.memory_size_in_mb = COLUMN_MEMORY_SIZE;
    

    Ersetzen Sie COLUMN_MEMORY_SIZE durch die neue Größe des Spaltenspeichers in Megabyte, z. B. 256.

  2. Damit die Änderungen an den Konfigurationsparametern wirksam werden, starten Sie den Datenbankserver neu:

    sudo systemctl restart alloydbomni18

Speichercache konfigurieren

Einzelserver

Gemeinsam verwendete oder dedizierte Geräte

Sie können den Speichercache der spaltenbasierten Engine entweder auf dedizierten oder gemeinsam verwendeten Geräten konfigurieren.

Cacheverzeichnis bereitstellen und einbinden

Auf dedizierten Geräten müssen Sie Laufwerke bereitstellen, ein Dateisystem erstellen, das Cacheverzeichnis in einen Hostpfad einbinden (z. B. /var/lib/postgresql/18/data/columnar_cache) und dafür sorgen, dass der Nutzer postgres Schreibberechtigungen hat.

Spaltenspeichercache aktivieren
  1. Führen Sie ALTER SYSTEM aus, um den Pfad und die Größe des Cacheverzeichnisses zu konfigurieren:

    ALTER SYSTEM SET google_columnar_engine.omni_storage_cache_directory = 'CACHE_DIR_PATH';
    ALTER SYSTEM SET google_columnar_engine.storage_cache_size = STORAGE_CACHE_SIZE;
    

    Ersetzen Sie Folgendes:

    • CACHE_DIR_PATH: Der Pfad zum Cacheverzeichnis (z. B. /var/lib/postgresql/18/data/columnar_cache).
    • STORAGE_CACHE_SIZE: Die Größe des Speichercaches der spaltenbasierten Engine in Megabyte.
  2. Starten Sie den Datenbankserver neu:

    sudo systemctl restart alloydbomni18

Vektorisierte Verknüpfung aktivieren

Die spaltenbasierte Engine bietet eine Funktion für vektorisierte Verknüpfungen , mit der die Leistung von Verknüpfungen verbessert werden kann, indem die vektorisierte Verarbeitung auf entsprechende Abfragen angewendet wird.

Nachdem Sie die vektorisierte Verknüpfung aktiviert haben, kann der AlloyDB-Abfrageplaner den Operator für vektorisierte Verknüpfungen anstelle des Standard-PostgreSQL-Hash-Verknüpfungsoperators anwenden. Der Planer trifft diese Entscheidung, indem er die Kosten für die Ausführung der Abfrage mit jeder Methode vergleicht.

Wenn Sie die vektorisierte Verknüpfung in einer Instanz aktivieren möchten, setzen Sie das Flag google_columnar_engine.enable_vectorized_join der Instanz auf on.

Führen Sie den ALTER SYSTEM PostgreSQL-Befehl aus, um dieses Flag für eine Instanz festzulegen:

ALTER SYSTEM SET google_columnar_engine.enable_vectorized_join = 'on';

Standardmäßig weist AlloyDB Omni der Funktion für vektorisierte Verknüpfungen einen Thread zu. Sie können die Anzahl der für diese Funktion verfügbaren Threads erhöhen, indem Sie das google_columnar_engine.vectorized_join_threads Flag auf einen größeren Wert setzen. Der Höchstwert ist cpu_count * 2.

Spaltenbasierte Engine manuell aktualisieren

Wenn die spaltenbasierte Engine aktiviert ist, wird der Spaltenspeicher standardmäßig im Hintergrund aktualisiert.

Führen Sie die folgende SQL-Abfrage aus, um die spaltenbasierte Engine manuell zu aktualisieren:

SELECT google_columnar_engine_refresh(relation =>'TABLE_NAME');

Ersetzen Sie TABLE_NAME durch den Namen der Tabelle oder der materialisierten Ansicht, die Sie manuell aktualisieren möchten.

Spaltenbasierte Engine deaktivieren

Wenn Sie die spaltenbasierte Engine in einer Instanz deaktivieren möchten, setzen Sie das Flag google_columnar_engine.enabled auf off.

Einzelserver

So setzen Sie google_columnar_engine.enabled auf off:

  1. Führen Sie den ALTER SYSTEM PostgreSQL-Befehl aus:
ALTER SYSTEM SET google_columnar_engine.enabled = 'off'
  1. Damit die Änderungen an den Konfigurationsparametern wirksam werden, starten Sie den Datenbankserver neu:

    sudo systemctl restart alloydbomni18

Nächste Schritte