Auswählen der Anfangsgröße für Cluster in Azure Cosmos DB for PostgreSQL

GILT FÜR: Azure Cosmos DB for PostgreSQL (unterstützt von der Citus-Datenbankerweiterung auf PostgreSQL)

Die Größe eines Clusters bezieht sich auf die Anzahl von Knoten und deren Hardwarekapazität und lässt sich ganz einfach ändern. Für einen neuen Cluster müssen Sie aber dennoch eine Anfangsgröße auswählen. Im Folgenden finden Sie einige Tipps für eine sinnvolle Festlegung dieses Werts.

Anwendungsfälle

Azure Cosmos DB for PostgreSQL wird häufig auf folgende Weise verwendet.

Mehrinstanzenfähige SaaS

Wenn Sie von einer vorhandenen PostgreSQL-Datenbankinstanz mit einem einzelnen Knoten zu Azure Cosmos DB for PostgreSQL migrieren, empfiehlt sich die Auswahl eines Clusters, in dem die Anzahl der virtuellen Workerkerne und der Gesamtarbeitsspeicher den Werten der ursprünglichen Instanz entsprechen. In solchen Szenarien konnten wir Leistungssteigerungen auf das Zwei- bis Dreifache feststellen, weil das Sharding die Ressourcennutzung verbessert, kleinere Indizes ermöglicht usw.

Die Anzahl der virtuellen Kerne ist dabei tatsächlich die einzige Entscheidung. Die RAM-Zuordnung wird derzeit basierend auf der Anzahl virtueller Kerne bestimmt. Eine Beschreibung finden Sie auf der Seite Azure Database for PostgreSQL – Compute und Speicher in Hyperscale (Citus). Der Koordinatorknoten benötigt nicht so viel RAM wie Worker, aber es gibt keine Möglichkeit, RAM und virtuelle Kerne unabhängig voneinander auszuwählen.

Echtzeitanalysen

Virtuelle Kerne insgesamt: Wenn Arbeitsdaten in den RAM passen, können Sie von einer linearen Leistungsverbesserung bei Azure Cosmos DB for PostgreSQL proportional zur Anzahl der Workerkerne ausgehen. Berücksichtigen Sie beim Ermitteln der richtigen Anzahl von virtuellen Kernen für Ihre Anforderungen die aktuelle Latenz für Abfragen in Ihrer Einzelknoten-Datenbank und die erforderliche Latenz in Azure Cosmos DB for PostgreSQL. Teilen Sie die aktuelle Wartezeit durch die gewünschte Wartezeit, und runden Sie das Ergebnis.

Worker-RAM: Der beste Fall wäre die Bereitstellung von so viel Speicher, dass der Großteil des Arbeitssatzes in den Speicher passt. Die Art der Abfragen, die Ihre Anwendung verwendet, wirkt sich auf die Arbeitsspeicheranforderungen aus. Sie können EXPLAIN ANALYZE für eine Abfrage ausführen, um zu ermitteln, wie viel Arbeitsspeicher diese Abfrage benötigt. Beachten Sie, dass virtuelle Kerne und RAM wie hier beschrieben zusammen skaliert werden.

Nächste Schritte