Verken Azure Database for PostgreSQL

Voltooid

Azure Database for PostgreSQL is een volledig beheerde databaseservice voor PostgreSQL-workloads op Azure. Als u inzicht hebt in de servicearchitectuur, rekenlagen en beheerde mogelijkheden, kunt u weloverwogen beslissingen nemen over de configuratie en capaciteitsplanning voor uw AI-toepassingen.

Wat is Azure Database for PostgreSQL?

Azure Database for PostgreSQL is een volledig beheerde relationele databaseservice op basis van de opensource PostgreSQL-database-engine. De service voert de communityversie van PostgreSQL uit en biedt volledige compatibiliteit met bestaande PostgreSQL-toepassingen en -hulpprogramma's. Microsoft beheert de onderliggende infrastructuur, waaronder hardwareinrichting, softwarepatching, back-upbeheer en configuratie met hoge beschikbaarheid.

De service biedt gedetailleerde controle over databaseconfiguratie, terwijl de voordelen van een beheerd platform behouden blijven. U kunt onderhoudsvensters aanpassen, opties voor hoge beschikbaarheid configureren en rekenresources aanpassen aan uw workloadvereisten.

Voor AI-toepassingen die naast vectorbewerkingen relationele gegevensopslag nodig hebben, biedt PostgreSQL een aantrekkelijke combinatie van transactionele betrouwbaarheid, flexibele gegevensmodellering met JSONB en een uitbreidingsecosysteem met zoekmogelijkheden voor vector-overeenkomsten.

Architectuur- en implementatieopties

Azure Database for PostgreSQL scheidt rekenkracht en opslag in onafhankelijke onderdelen. De database-engine wordt uitgevoerd op een virtuele Linux-machine, terwijl gegevensbestanden zich op Azure beheerde opslag bevinden. Deze scheiding maakt onafhankelijk schalen van reken- en opslagresources mogelijk en biedt ingebouwde duurzaamheid van gegevens via lokaal redundante opslagreplica's.

De service biedt drie rekenlagen die overeenkomen met verschillende workloadkenmerken. Elk biedt verschillende CPU- en geheugenconfiguraties:

  • Burstable: Biedt cpu-basislijnprestaties met de mogelijkheid om te pieken boven de basislijn wanneer dat nodig is. Het meest geschikt voor ontwikkelomgevingen, kleine toepassingen en workloads die geen continue volledige CPU-capaciteit nodig hebben. De virtuele machines uit de B-serie bieden een rendabele optie voor onregelmatige workloads.

  • Algemeen gebruik: Biedt evenwichtige reken- en geheugenresources voor productieworkloads. Virtuele machines uit de D-serie bieden consistente prestaties voor toepassingen die voorspelbare reactietijden vereisen. Kies Algemeen gebruik voor typische webtoepassingen en back-endservices.

  • Geoptimaliseerd voor geheugen: Biedt hoge geheugen-naar-vCPU-verhoudingen voor workloads die profiteren van grote gegevenssets in het geheugen. De virtuele machines uit de E-serie zijn geschikt voor het opslaan van zware werkbelastingen, complexe analytische query's en toepassingen die grote werksets in het geheugen moeten houden. AI-toepassingen die in-memory berekeningen uitvoeren, profiteren vaak van deze laag.

U kunt de rekenlagen na de implementatie wijzigen met een korte herstart, zodat u resources kunt aanpassen naarmate uw workload zich ontwikkelt.

Mogelijkheden voor beheerde services

Azure Database for PostgreSQL verwerkt operationele taken waarvoor anders toegewezen databasebeheer is vereist.

De service maakt automatisch back-ups van uw database en slaat ze op in zone-redundante opslag in regio's die beschikbaarheidszones ondersteunen of lokaal redundante opslag in regio's die dat niet doen. De standaardretentie van back-ups is zeven dagen, die u kunt uitbreiden tot 35 dagen op basis van uw herstelvereisten. Back-ups bevatten zowel volledige momentopnamen als transactielogboeken, waardoor herstel naar een bepaald tijdstip binnen de bewaarperiode kan worden ingeschakeld. Azure versleutelt alle back-ups met AES 256-bits versleuteling, met standaard door het platform beheerde sleutels of door de klant beheerde sleutels voor extra controle.

Met herstel naar een bepaald tijdstip kunt u uw database herstellen naar elk moment binnen de bewaarperiode van de back-up. Met de herstelbewerking maakt u een nieuw serverexemplaren met gegevens die zijn hersteld naar de opgegeven tijdstempel. Dit is handig voor het herstellen van onbedoelde gegevenswijzigingen of het testen van een historische databasestatus.

Azure Database for PostgreSQL bevat ingebouwde PgBouncer, een lichtgewicht verbindingspooler die de overhead vermindert van het tot stand brengen van nieuwe databaseverbindingen door een groep herbruikbare verbindingen te onderhouden. U kunt PgBouncer inschakelen via serverconfiguratie en verbinding maken op poort 6432 in plaats van de standaard PostgreSQL-poort 5432. Verbindingspooling is waardevol voor AI-toepassingen die veel kortdurende databaseaanroepen maken, zoals het opslaan van afzonderlijke berichten of het ophalen van context voor elke deductieaanvraag.

Belangrijk

PgBouncer is alleen beschikbaar op de rekenlagen voor gewoon gebruik en geheugen geoptimaliseerd. De burstable-laag biedt geen ondersteuning voor de ingebouwde PgBouncer-functie.

Strategieën voor verbindingsoptimalisatie worden uitgebreid behandeld in de module Prestaties, indexeren en schalen optimaliseren.

Ondersteunde PostgreSQL-versies en -extensies

Azure Database for PostgreSQL ondersteunt gelijktijdig meerdere primaire PostgreSQL-versies. De service ondersteunt doorgaans de huidige primaire versie en verschillende vorige versies, volgens de communityondersteuningstijdlijn van PostgreSQL. U kunt beschikbare versies controleren bij het maken van een nieuwe server of een query uitvoeren op de server_version instelling op een bestaande server.

Met het extensiemechanisme van PostgreSQL kunt u functionaliteit toevoegen buiten de kerndatabase-engine. Extensies kunnen nieuwe gegevenstypen, functies, operators en indextypen toevoegen zonder de postgreSQL-kerncode te wijzigen. Verschillende extensies zijn relevant voor AI-toepassingen:

  • pgvector: Hiermee kunt u vectorgegevenstypen en overeenkomsten zoeken. U kunt insluitingen naast relationele gegevens opslaan en bij benadering dichtstbijzijnde buurzoekopdrachten uitvoeren. De module 'Vectorzoekopdrachten implementeren met Azure PostgreSQL' bevat gedetailleerde informatie over pgvector.

  • pg_trgm: Biedt functies voor op trigram gebaseerde tekst vergelijkbaarheid. Handig voor fuzzy tekstvergelijking, functies voor automatisch aanvullen en vergelijkbare tekenreeksen zoeken zonder exacte overeenkomsten.

  • Hstore: Voegt een sleutel-waardegegevenstype toe voor het opslaan van sets sleutel-waardeparen binnen één PostgreSQL-waarde. Handig voor semi-gestructureerde gegevens waarvoor geen volledige flexibiliteit van JSONB is vereist.

U kunt extensies inschakelen met behulp van de CREATE EXTENSION opdracht nadat u hebt bevestigd dat de extensie beschikbaar is op uw serverexemplaren.

Beslissingspunten voor ontwikkelaars

Houd bij het configureren van Azure Database for PostgreSQL voor uw toepassing rekening met de volgende belangrijke beslissingen:

  • Een rekenlaag kiezen: Selecteer op basis van de CPU- en geheugenvereisten van uw workload. Begin met Burstable voor ontwikkeling, testen en proof-of-concept, waarbij kostenoptimalisatie belangrijker is dan consistente prestaties. Gebruik Algemeen Doel voor productieworkloads met stabiele, voorspelbare resourcevereisten. Kies Geoptimaliseerd voor geheugen wanneer uw toepassing profiteert van grote caches in het geheugen of complexe analytische query's uitvoert. U kunt het CPU- en geheugengebruik na de implementatie bewaken en zo nodig de laag aanpassen.

  • Extensies evalueren: Bekijk de beschikbare extensies vroeg in uw toepassingsontwerp. Bepaal of uw toepassing vector-overeenkomsten zoeken (pgvector), zoeken in volledige tekst of georuimtelijke mogelijkheden (PostGIS) nodig heeft. Controleer of de vereiste extensies beschikbaar zijn op Azure Database for PostgreSQL voordat u een ontwerp doorvoert. Plan uitbreidingsupgrades als onderdeel van uw strategie voor databaseonderhoud.

Aanvullende bronnen