Säulenorientiertes Engine für AlloyDB for PostgreSQL optimieren

In diesem Dokument wird beschrieben, wie Sie die spaltenorientierte Engine für eine AlloyDB-Instanz optimieren. In diesem Dokument wird davon ausgegangen, dass Sie mit PostgreSQL vertraut sind.

CPU-Ressourcen für Wartungsaufgaben anpassen

Im folgenden Beispiel wird gezeigt, wie Sie die spaltenorientierte Engine so konfigurieren, dass sie 50% der CPU-Kerne verwendet:

google_job_scheduler.maintenance_cpu_percentage = 50

Die spaltenorientierte Engine nutzt bis zu 20% der CPU-Kerne für Hintergrundwartungsaufgaben wie das automatische Einfügen, Aktualisieren und Erstellen von Empfehlungen. Wenn Sie die CPU-Ressourcen so anpassen möchten, dass Wartungsaufgaben möglich sind, setzen Sie das Flag google_job_scheduler.maintenance_cpu_percentage auf einen Wert zwischen 20 und 100. Der Standardwert ist 20. Die niedrigste CPU-Auslastung für Wartungsaufgaben im Hintergrund beträgt 1 vCPU.

Worker hinzufügen, um die spaltenbasierte Wartung zu beschleunigen

Im folgenden Beispiel wird gezeigt, wie vier Worker-Prozesse festgelegt werden:

google_job_scheduler.max_parallel_workers_per_job = 4

Die spaltenorientierte Engine verwendet bis zu zwei Worker-Prozesse für Hintergrundjobs zum automatischen Einfügen und Aktualisieren. Um die Geschwindigkeit dieser Vorgänge zu erhöhen, können Sie das folgende Flag festlegen, um die Anzahl der Workerprozesse für Hintergrundjobs zu erhöhen. Die Standardeinstellung ist 2 Arbeitsprozesse. Diese Prozesse werden mit begrenzten CPU-Ressourcen ausgeführt, wie im Flag google_job_scheduler.maintenance_cpu_percentage angegeben. Für dieses Flag ist kein Neustart der Datenbank erforderlich.

Zeitplan für die automatische Spaltenformatierung ändern

Im folgenden Beispiel wird gezeigt, wie Sie den Zeitplan für die automatische Spaltenformatierung auf sechs Stunden festlegen:

google_columnar_engine.auto_columnarization_schedule = 'EVERY 6 HOURS'

Der Zeitplan für die automatische Spaltenformatierung kann im Flag google_columnar_engine.auto_columnarization_schedule basierend auf erwarteten arbeitslastintensiven Scans festgelegt werden. Geben Sie für dieses Flag eine oder mehrere Stunden an. Das Ändern des Werts dieses Flags erfordert keinen Neustart der Datenbank.

Spaltenbasierte Engine manuell füllen

Im folgenden Beispiel wird gezeigt, wie Sie die spaltenorientierte Engine manuell füllen:

google_columnar_engine.enable_auto_columnarization = OFF

Wenn Sie die spaltenorientierte Engine lieber nur manuell füllen möchten, setzen Sie das Flag google_columnar_engine.enable_auto_columnarization auf OFF. Der Standardwert dieses Flags ist ON. Das Ändern des Werts dieses Flags erfordert keinen Neustart der Datenbank. Weitere Informationen finden Sie unter Inhalte manuell verwalten.

Heap-Größe der Population der spaltenbasierten Engine optimieren

Das folgende Beispiel zeigt, wie das Flag google_columnar_engine.population_heap_size_in_mb konfiguriert wird:

population_heap_size_in_mb = 250

Um Daten in ein spaltenbasiertes Format umzuwandeln, weist die spaltenbasierte Engine die vom Flag google_columnar_engine.population_heap_size_in_mb angegebene Menge an Arbeitsspeicher in Megabyte zu. Sobald die Umwandlung abgeschlossen ist, wird dieser Arbeitsspeicher sofort freigegeben, in der Regel innerhalb weniger Sekunden.

Die zulässigen Werte für die Einstellung population_heap_size_in_mb reichen von mindestens 200 MB bis maximal 1.000 MB.

Der Standardwert von 250 MB für das Flag population_heap_size_in_mb eignet sich für die meisten typischen Datenbanknutzungen. Es kann jedoch Situationen geben, in denen Sie diesen Wert erhöhen müssen.