Explore Azure Database for PostgreSQL
Azure Database for PostgreSQL er en fuldt administreret databasetjeneste til PostgreSQL-arbejdsbelastninger på Azure. At forstå servicearkitekturen, compute-niveauerne og de administrerede kapaciteter hjælper dig med at træffe informerede beslutninger om konfigurations- og kapacitetsplanlægning for dine AI-applikationer.
Hvad er Azure Database for PostgreSQL?
Azure Database for PostgreSQL er en fuldt administreret relationel databasetjeneste baseret på den open source PostgreSQL-databasemotor. Tjenesten kører community-udgaven af PostgreSQL, hvilket giver fuld kompatibilitet med eksisterende PostgreSQL-applikationer og -værktøjer. Microsoft administrerer den underliggende infrastruktur, herunder hardwareprovisionering, softwareopdateringer, backupstyring og konfiguration af høj tilgængelighed.
Tjenesten giver detaljeret kontrol over databasekonfigurationen, samtidig med at fordelene ved en administreret platform opretholdes. Du kan tilpasse vedligeholdelsesvinduer, konfigurere muligheder for høj tilgængelighed og justere compute-ressourcer for at matche dine arbejdsbelastningsbehov.
For AI-applikationer, der har brug for relationel datalagring sammen med vektoroperationer, tilbyder PostgreSQL en overbevisende kombination af transaktionel pålidelighed, fleksibel datamodellering med JSONB og et udvidelsesøkosystem, der inkluderer vektorlighedssøgningsmuligheder.
Arkitektur og implementeringsmuligheder
Azure Database for PostgreSQL adskiller beregning og lagring i uafhængige komponenter. Databasemotoren kører på en Linux-virtuel maskine, mens datafiler ligger på Azure-administreret lagring. Denne adskillelse muliggør uafhængig skalering af beregnings- og lagringsressourcer og giver indbygget dataholdbarhed gennem lokalt redundante lagringsreplikaer.
Tjenesten tilbyder tre beregningslag, der matcher forskellige arbejdsbelastningskarakteristika. Hver tilbyder forskellige CPU- og hukommelseskonfigurationer:
Eksploderbar: Giver baseline CPU-ydelse med mulighed for at burst over baseline efter behov. Bedst egnet til udviklingsmiljøer, små applikationer og arbejdsbelastninger, der ikke kræver kontinuerlig fuld CPU-kapacitet. B-seriens virtuelle maskiner tilbyder en omkostningseffektiv løsning til intermitterende arbejdsbyrder.
Generel anvendelse: Leverer balancerede beregnings- og hukommelsesressourcer til produktionsarbejdsbelastninger. D-seriens virtuelle maskiner leverer ensartet ydeevne for applikationer, der kræver forudsigelige responstider. Vælg General Purpose til typiske webapplikationer og backend-tjenester.
Optimeret hukommelse: Tilbyder høje hukommelse-til-vCPU-forhold for arbejdsbelastninger, der drager fordel af store datasæt i hukommelsen. E-seriens virtuelle maskiner excellerer i arbejdsbelastninger med meget cache, komplekse analytiske forespørgsler og applikationer, der skal holde store arbejdsmængder i hukommelsen. AI-applikationer, der udfører beregninger i hukommelsen, drager ofte fordel af dette niveau.
Du kan ændre compute-niveauer efter udrulning med en kort genstart, så du kan justere ressourcer, efterhånden som din arbejdsbyrde udvikler sig.
Managed service-kapabiliteter
Azure Database for PostgreSQL håndterer operationelle opgaver, der ellers ville kræve dedikeret databaseadministration.
Tjenesten opretter automatisk backups af din database og gemmer dem på zoneredundant lagring i regioner, der understøtter tilgængelighedszoner, eller lokalt redundant lagring i regioner, der ikke gør. Standard backup-opbevaring er syv dage, som du kan forlænge op til 35 dage afhængigt af dine krav til genopretning. Backups inkluderer både fulde snapshots og transaktionslogfiler, hvilket muliggør punkt-i-tid-gendannelse til ethvert sekund inden for opbevaringsperioden. Azure krypterer alle backups ved hjælp af AES 256-bit kryptering, med platformstyrede nøgler som standard eller kundeadministrerede nøgler for yderligere kontrol.
Punkt-i-tid-gendannelse lader dig gendanne din database til ethvert tidspunkt inden for backup-lagringsperioden. Gendannelsesoperationen opretter en ny serverinstans med data gendannet til det angivne tidsstempel, hvilket er nyttigt til at gendanne fra utilsigtede dataændringer eller teste mod en historisk databasetilstand.
Azure Database for PostgreSQL inkluderer indbygget PgBouncer, en letvægts forbindelsespooler, der reducerer omkostningerne ved at etablere nye databaseforbindelser ved at vedligeholde en pulje af genanvendelige forbindelser. Du kan aktivere PgBouncer via serverkonfiguration og forbinde på port 6432 i stedet for standard PostgreSQL-port 5432. Connection pooling er værdifuldt for AI-applikationer, der foretager mange kortlivede databasekald, såsom at gemme individuelle beskeder eller hente kontekst for hver inferensanmodning.
Vigtigt
PgBouncer er kun tilgængelig på generelle og hukommelsesoptimerede beregningsniveauer. Burstable-tieren understøtter ikke den indbyggede PgBouncer-funktion.
Strategier for optimering af forbindelser gennemgås i dybden i modulet "Optimer ydeevne, indeksering og skalering".
Understøttede PostgreSQL-versioner og udvidelser
Azure Database for PostgreSQL understøtter flere større PostgreSQL-versioner samtidig. Tjenesten understøtter typisk den aktuelle hovedversion og flere tidligere versioner, i overensstemmelse med PostgreSQL's fællesskabsstøttetidslinje. Du kan tjekke tilgængelige versioner, når du opretter en ny server, eller forespørge indstillingen server_version på en eksisterende server.
PostgreSQLs udvidelsesmekanisme tillader dig at tilføje funktionalitet ud over den centrale databasemotor. Udvidelser kan tilføje nye datatyper, funktioner, operatorer og indekstyper uden at ændre den centrale PostgreSQL-kode. Flere udvidelser er relevante for AI-applikationer:
PG-vektor: Muliggør vektordatatyper og lighedssøgningsoperationer. Du kan gemme embeddings sammen med relationelle data og udføre omtrentlige søgninger efter nærmeste nabo. Modulet "Implementér vektorsøgning med Azure PostgreSQL" dækker pgvector i detaljer.
pg_trgm: Tilbyder trigrambaserede tekstlighedsfunktioner. Nyttig til fuzzy tekstmatchning, autofuldførelse og at finde lignende strenge uden præcise match.
Hstore: Tilføjer en nøgleværdi-datatype til opbevaring af sæt af nøgle-værdi-par inden for en enkelt PostgreSQL-værdi. Nyttigt til semistrukturerede data, der ikke kræver den fulde fleksibilitet fra JSONB.
Du kan aktivere udvidelser ved at bruge kommandoen, CREATE EXTENSION efter du har bekræftet, at udvidelsen er tilgængelig på din serverinstans.
Udviklerbeslutningspunkter
Når du konfigurerer Azure Database for PostgreSQL til din applikation, bør du overveje disse nøglebeslutninger:
Valg af beregningsniveau: Vælg ud fra din arbejdsbelastnings CPU- og hukommelsesbehov. Start med Burstable for udvikling, test og proof-of-concept-arbejde, hvor omkostningsoptimering betyder mere end ensartet ydeevne. Brug General Purpose til produktionsarbejdsbelastninger med stabile, forudsigelige ressourcebehov. Vælg Memory Optimized, når din applikation drager fordel af store caches i hukommelsen eller udfører komplekse analytiske forespørgsler. Du kan overvåge CPU- og hukommelsesudnyttelse efter deployment og justere niveauet om nødvendigt.
Evaluering af udvidelser: Gennemgå tilgængelige udvidelser tidligt i din ansøgningsdesign. Bestem om din applikation har brug for vektorlighedssøgning (pgvector), fuldtekstsøgning eller geospatiale funktioner (PostGIS). Tjek at de nødvendige udvidelser er tilgængelige på Azure Database for PostgreSQL, før du forpligter dig til et design. Planlæg for udvidelsesopgraderinger som en del af din databasevedligeholdelsesstrategi.