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:
- Utforma en databas med flera klientorganisationer med Hjälp av Azure Cosmos DB for PostgreSQL
- Distribuerade tabeller
- Välja en distributionskolumn i en distribuerad tabell.
- En guide till att använda Citus för program med flera klienter.
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:
- PgBouncer i Azure Database for PostgreSQL – flexibel server
- Anslutningspooler i Azure Cosmos DB för PostgreSQL
- Steg för att installera och konfigurera PgBouncer-anslutningspoolproxy med Azure Database for PostgreSQL
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:
- Microsoft Entra-autentisering med Azure Database for PostgreSQL – flexibel server
- Anslut med hanterad identitet till Azure Database for PostgreSQL flexibel server
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Daniel Scott-Raynsford | Partnerteknikstrateg
Övriga medarbetare:
- John Downs | Huvudprogramtekniker
- Arsen Vladimirskiy | Huvudkundtekniker, FastTrack för Azure
- Paul Burpo | Huvudkundtekniker, FastTrack för Azure ISV:er
- Assaf Fraenkel | Senior Engineer/Data Architect, Azure FastTrack för ISV:er och start-ups
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
Granska lagrings- och datametoder för flera klientorganisationer.