Entdecken Sie Azure Database for PostgreSQL

Abgeschlossen

Azure Database for PostgreSQL ist ein vollständig verwalteter Datenbankdienst für PostgreSQL-Workloads auf Azure. Das Verständnis der Dienstarchitektur, der Computeebenen und der verwalteten Funktionen hilft Ihnen, fundierte Entscheidungen zur Konfiguration und Kapazitätsplanung für Ihre KI-Anwendungen zu treffen.

Was ist Azure Database for PostgreSQL?

Azure Database for PostgreSQL ist ein vollständig verwalteter relationaler Datenbankdienst, der auf dem Open-Source-PostgreSQL-Datenbankmodul basiert. Der Dienst führt die Community Edition von PostgreSQL aus und bietet volle Kompatibilität mit vorhandenen PostgreSQL-Anwendungen und -Tools. Microsoft verwaltet die zugrunde liegende Infrastruktur, einschließlich Hardwarebereitstellung, Softwarepatching, Sicherungsverwaltung und Hochverfügbarkeitskonfiguration.

Der Dienst bietet eine präzise Kontrolle über die Datenbankkonfiguration, während die Vorteile einer verwalteten Plattform beibehalten werden. Sie können Wartungsfenster anpassen, Optionen für hohe Verfügbarkeit konfigurieren und Computeressourcen an Ihre Workloadanforderungen anpassen.

Für KI-Anwendungen, die relationale Datenspeicher neben Vektorvorgängen benötigen, bietet PostgreSQL eine überzeugende Kombination aus transaktionsbezogener Zuverlässigkeit, flexibler Datenmodellierung mit JSONB und einem Erweiterungsökosystem, das Vektor-Ähnlichkeitssuchfunktionen umfasst.

Architektur- und Bereitstellungsoptionen

Azure Database for PostgreSQL trennt Compute und Speicher in unabhängige Komponenten. Das Datenbankmodul wird auf einem virtuellen Linux-Computer ausgeführt, während sich Datendateien auf Azure verwaltetem Speicher befinden. Diese Trennung ermöglicht eine unabhängige Skalierung von Compute- und Speicherressourcen und bietet integrierte Datenbeständigkeit durch lokal redundante Speicherreplikate.

Der Dienst bietet drei Computeebenen, um verschiedene Workloadmerkmale abzugleichen. Jede stellt unterschiedliche CPU- und Speicherkonfigurationen bereit:

  • Burstfähig: Bietet eine Grundlast-CPU-Leistung mit der Möglichkeit, diese bei Bedarf über die Grundlast hinaus zu steigern. Am besten geeignet für Entwicklungsumgebungen, kleine Anwendungen und Workloads, die keine kontinuierliche volle CPU-Kapazität benötigen. Die virtuellen Computer der B-Serie bieten eine kostengünstige Option für zeitweilige Workloads.

  • Allgemeiner Zweck: Bietet ausgewogene Compute- und Speicherressourcen für Produktionsworkloads. Die virtuellen Computer der D-Serie bieten eine konsistente Leistung für Anwendungen, die vorhersagbare Reaktionszeiten erfordern. Wählen Sie "Allgemeiner Zweck" für typische Webanwendungen und Back-End-Dienste aus.

  • Speicher optimiert: Bietet hohe Arbeitsspeicher-zu-vCPU-Verhältnisse für Workloads, die von großen In-Memory-Datasets profitieren. Die virtuellen Computer der E-Serie zeichnen sich bei zwischenspeicherungsintensiven Workloads, komplexen analytischen Abfragen und Anwendungen aus, die große Arbeitssätze im Arbeitsspeicher beibehalten müssen. KI-Anwendungen, die In-Memory-Berechnungen durchführen, profitieren häufig von dieser Stufe.

Sie können die Compute-Stufen nach der Bereitstellung mit einem kurzen Neustart ändern, sodass Sie die Ressourcen anpassen können, wenn sich Ihre Arbeitslast ändert.

Verwaltete Dienstfunktionen

Azure Database for PostgreSQL übernimmt betriebstechnische Aufgaben, die andernfalls dedizierte Datenbankverwaltungsaufwand erfordern würden.

Der Dienst erstellt automatisch Sicherungen Ihrer Datenbank und speichert sie entweder in zonenredundantem Speicher in Regionen, die Verfügbarkeitszonen unterstützen, oder in lokal redundantem Speicher in Regionen, die dies nicht tun. Die Standardmäßige Aufbewahrung von Sicherungen beträgt sieben Tage, die Sie basierend auf Ihren Wiederherstellungsanforderungen bis zu 35 Tage verlängern können. Sicherungen umfassen sowohl vollständige Momentaufnahmen als auch Transaktionsprotokolle, wodurch eine Point-in-Time-Wiederherstellung auf eine beliebige Sekunde innerhalb des Aufbewahrungszeitraums ermöglicht wird. Azure verschlüsselt alle Sicherungen mithilfe der AES 256-Bit-Verschlüsselung mit standardmäßig von der Plattform verwalteten Schlüsseln oder vom Kunden verwalteten Schlüsseln für zusätzliche Kontrolle.

Mit der Point-in-Time-Wiederherstellung können Sie Ihre Datenbank jederzeit innerhalb des Aufbewahrungszeitraums der Sicherung wiederherstellen. Der Wiederherstellungsvorgang erstellt eine neue Serverinstanz mit Daten, die auf den angegebenen Zeitstempel wiederhergestellt wurden, was nützlich ist, um versehentliche Datenänderungen oder Tests anhand eines historischen Datenbankzustands wiederherzustellen.

Azure Database for PostgreSQL umfasst den integrierten PgBouncer, einen leichten Verbindungspooler, der den Aufwand für die Einrichtung neuer Datenbankverbindungen reduziert, indem er einen Pool wiederverwendbarer Verbindungen verwaltet. Sie können PgBouncer über die Serverkonfiguration und die Verbindung an Port 6432 anstelle des Standardmäßigen PostgreSQL-Ports 5432 aktivieren. Verbindungspooling ist für KI-Anwendungen nützlich, die viele kurzlebige Datenbankaufrufe tätigen, z. B. das Speichern einzelner Nachrichten oder das Abrufen von Kontext für jede Rückschlussanforderung.

Von Bedeutung

PgBouncer ist nur auf den Computeebenen "General Purpose" und "Memory Optimized" verfügbar. Die Burstable-Stufe unterstützt das integrierte PgBouncer-Feature nicht.

Die Strategien zur Verbindungsoptimierung werden im Modul "Leistungsoptimierung, Indizierung und Skalierung" ausführlich behandelt.

Unterstützte PostgreSQL-Versionen und Erweiterungen

Azure Database for PostgreSQL unterstützt mehrere wichtige PostgreSQL-Versionen gleichzeitig. Der Dienst unterstützt in der Regel die aktuelle Hauptversion und mehrere frühere Versionen, die der Community-Supportzeitachse von PostgreSQL folgen. Sie können die verfügbaren Versionen überprüfen, wenn Sie einen neuen Server erstellen oder die server_version Einstellung auf einem vorhandenen Server abfragen.

Der Erweiterungsmechanismus von PostgreSQL ermöglicht es Ihnen, Funktionen über das Kerndatenbankmodul hinaus hinzuzufügen. Erweiterungen können neue Datentypen, Funktionen, Operatoren und Indextypen hinzufügen, ohne den Kern-PostgreSQL-Code zu ändern. Für KI-Anwendungen sind mehrere Erweiterungen relevant:

  • pgvector: Aktiviert Vektordatentypen und Ähnlichkeitssuchvorgänge. Sie können Einbettungen zusammen mit relationalen Daten speichern und ungefähre benachbarte Suchvorgänge ausführen. Das Modul "Implementieren der Vektorsuche mit Azure PostgreSQL" umfasst pgvector im Detail.

  • pg_trgm: Stellt dreigrambasierte Textähnlichkeitsfunktionen bereit. Nützlich für Fuzzy-Textabgleich, Autovervollständigungsfunktionen und das Auffinden ähnlicher Zeichenfolgen ohne genaue Übereinstimmungen.

  • hstore: Fügt einen Schlüsselwertdatentyp zum Speichern von Sätzen von Schlüssel-Wert-Paaren in einem einzelnen PostgreSQL-Wert hinzu. Nützlich für halbstrukturierte Daten, die nicht die volle Flexibilität von JSONB erfordern.

Sie können Erweiterungen mithilfe des CREATE EXTENSION Befehls aktivieren, nachdem bestätigt wurde, dass die Erweiterung in Ihrer Serverinstanz verfügbar ist.

Entscheidungspunkte für Entwickler

Berücksichtigen Sie beim Konfigurieren von Azure Database for PostgreSQL für Ihre Anwendung die folgenden wichtigen Entscheidungen:

  • Auswählen einer Computeebene: Wählen Sie basierend auf den CPU- und Arbeitsspeicheranforderungen Ihrer Workload aus. Beginnen Sie mit Burstable für Entwicklungs-, Test- und Machbarkeitsarbeiten, bei denen die Kostenoptimierung mehr als eine konsistente Leistung erfordert. Verwenden Sie allgemeinen Zweck für Produktionsworkloads mit stetigen, vorhersehbaren Ressourcenanforderungen. Wählen Sie "Speicher optimiert" aus, wenn Ihre Anwendung von großen Speichercaches profitiert oder komplexe analytische Abfragen durchführt. Sie können die CPU- und Arbeitsspeicherauslastung nach der Bereitstellung überwachen und die Ebene bei Bedarf anpassen.

  • Auswerten von Erweiterungen: Überprüfen Sie die verfügbaren Erweiterungen frühzeitig im Anwendungsentwurf. Ermitteln Sie, ob ihre Anwendung Vektor-Ähnlichkeitssuche (pgvector), Volltextsuche oder Geospatialfunktionen (PostGIS) benötigt. Stellen Sie sicher, dass erforderliche Erweiterungen auf Azure Database for PostgreSQL verfügbar sind, bevor Sie sich für einen Entwurf verpflichten. Planen Sie Erweiterungsupgrades als Teil Ihrer Datenbankwartungsstrategie.

Weitere Ressourcen