Dela via


Flera klientorganisationer och Azure Database for PostgreSQL

Många lösningar för flera klientorganisationer i Azure använder relationsdatabashanteringssystemet Azure Database for PostgreSQL med öppen källkod. I den här artikeln granskar vi funktionerna i Azure Database for PostgreSQL som är användbara när du arbetar med system med flera klientorganisationer. Artikeln innehåller även länkar till vägledning och exempel för hur du använder Azure Database for PostgreSQL i en lösning med flera klientorganisationer.

Distributionsmodeller

Det finns två distributionslägen för Azure Database for PostgreSQL som är lämpliga för användning med program med flera klienter:

  • Azure Database for PostgreSQL – flexibel server – Det här är ett bra val för de flesta distributioner med flera klientorganisationer som inte kräver den höga skalbarhet som tillhandahålls av Azure Cosmos DB för PostgreSQL.
  • Azure Cosmos DB for PostgreSQL – en Azure-hanterad databastjänst som är utformad för lösningar som kräver en hög skalningsnivå, som ofta innehåller program med flera klienter. Den här tjänsten ingår i Azure Cosmos DB-serien med produkter.

Kommentar

Azure Database for PostgreSQL – Enskild server är på pensionsvägen och är planerad att tas ur bruk senast den 28 mars 2025. Det rekommenderas inte för nya arbetsbelastningar med flera klientorganisationer.

Funktioner i Azure Database for PostgreSQL som stöder flera klientorganisationer

När du skapar ett program med flera klientorganisationer med Hjälp av Azure Database for PostgreSQL finns det ett antal funktioner som du kan använda för att förbättra lösningen.

Kommentar

Vissa funktioner är endast tillgängliga i specifika distributionslägen. Dessa funktioner anges i vägledningen nedan.

Säkerhet på radnivå

Säkerhet på radnivå är användbart för att framtvinga isolering på klientnivå när du använder delade tabeller. I PostgreSQL implementeras säkerhet på radnivå genom att radsäkerhetsprinciper tillämpas på tabeller för att begränsa åtkomsten till rader efter klientorganisation.

Det kan uppstå en liten prestandapåverkan när du implementerar säkerhet på radnivå i en tabell. Därför kan ytterligare index behöva skapas i tabeller med säkerhet på radnivå aktiverat för att säkerställa att prestanda inte påverkas. Vi rekommenderar att du använder tekniker för prestandatestning för att verifiera att din arbetsbelastning uppfyller dina grundläggande prestandakrav när säkerhet på radnivå är aktiverat.

Mer information:

Vågrät skalning med horisontell partitionering

Med horisontell partitioneringsmönstret kan du skala arbetsbelastningen över flera databaser eller databasservrar.

Lösningar som behöver en mycket hög skalningsnivå kan använda Azure Cosmos DB för PostgreSQL. Det här distributionsläget möjliggör horisontell horisontell partitionering av klientorganisationer över flera servrar (noder). Genom att använda distribuerade tabeller i databaser med flera klienter kan du se till att alla data för en klientorganisation lagras på samma nod, vilket ökar frågeprestandan.

Kommentar

Från oktober 2022 har Azure Database for PostgreSQL Hyperscale (Citus) bytt namn till Azure Cosmos DB för PostgreSQL och flyttats till Cosmos DB-serien med produkter.

Mer information:

Anslutningspooler

Postgres använder en processbaserad modell för anslutningar. Den här modellen gör det ineffektivt att underhålla ett stort antal inaktiva anslutningar. Vissa arkitekturer för flera klientorganisationer kräver ett stort antal aktiva anslutningar, vilket påverkar Postgres-serverns prestanda negativt.

Anslutningspooler via PgBouncer installeras som standard i Azure Database for PostgreSQL – flexibel server.

Mer information:

Microsoft Entra-autentisering

Azure Database for PostgreSQL – Flexibel server stöder autentisering av anslutningar med Microsoft Entra-ID. Den här funktionen gör det möjligt för programarbetsbelastningar i en miljö med flera klienter att autentisera till databasen med hjälp av ett klientspecifikt tjänstobjekt eller hanterad identitet, vilket innebär att databasåtkomsten kan begränsas till en enskild klientorganisation. Genom att kombinera Microsoft Entra ID-autentisering med klientspecifika radsäkerhetsprinciper kan du minska risken för att ett program får åtkomst till en annan klients data från en databas med flera klienter. Mer information:

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudförfattare:

Övriga medarbetare:

Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.

Nästa steg

Granska lagrings- och datametoder för flera klientorganisationer.