Sdílet prostřednictvím


Víceklientská architektura a Azure Database for PostgreSQL

Mnoho víceklientských řešení v Azure používá opensourcový systém pro správu relačních databází Azure Database for PostgreSQL. V tomto článku si projdeme funkce Azure Database for PostgreSQL, které jsou užitečné při práci s víceklientovými systémy. Tento článek obsahuje také odkazy na pokyny a příklady použití služby Azure Database for PostgreSQL v víceklientských řešeních.

Režimy nasazení

Pro Službu Azure Database for PostgreSQL jsou k dispozici dva režimy nasazení, které jsou vhodné pro použití s víceklientských aplikací:

  • Flexibilní server Azure Database for PostgreSQL – Tato volba je vhodná pro většinu víceklientských nasazení, která nevyžadují vysokou škálovatelnost poskytovanou službou Azure Cosmos DB for PostgreSQL.
  • Azure Cosmos DB for PostgreSQL – spravovaná databázová služba Azure navržená pro řešení vyžadující vysokou úroveň škálování, která často zahrnuje víceklientované aplikace. Tato služba je součástí řady produktů Azure Cosmos DB.

Poznámka:

Jednoúčelový server Azure Database for PostgreSQL je na cestě vyřazení a plánuje se na vyřazení do 28. března 2025. Nedoporučuje se pro nové víceklientských úloh.

Funkce Služby Azure Database for PostgreSQL, které podporují víceklientské prostředí

Při vytváření víceklientských aplikací pomocí Azure Database for PostgreSQL existuje celá řada funkcí, které můžete použít k vylepšení řešení.

Poznámka:

Některé funkce jsou dostupné jenom v konkrétních režimech nasazení. Tyto funkce jsou uvedené v následujících doprovodných materiálech.

Zabezpečení na úrovni řádků

Zabezpečení na úrovni řádků je užitečné při vynucování izolace na úrovni tenanta při použití sdílených tabulek. V PostgreSQL se zabezpečení na úrovni řádků implementuje použitím zásad zabezpečení řádků u tabulek, aby se omezil přístup k řádkům podle tenanta.

Při implementaci zabezpečení na úrovni řádků v tabulce může dojít k mírnému dopadu na výkon. Proto může být potřeba vytvořit další indexy v tabulkách s povoleným zabezpečením na úrovni řádků, aby nedošlo k ovlivnění výkonu. Doporučujeme použít techniky testování výkonu k ověření, že vaše úloha splňuje základní požadavky na výkon, pokud je povolené zabezpečení na úrovni řádků.

Další informace:

Horizontální škálování s horizontálním dělením

Model horizontálního dělení umožňuje škálovat úlohy napříč několika databázemi nebo databázovými servery.

Řešení, která potřebují velmi vysokou úroveň škálování, můžou používat službu Azure Cosmos DB for PostgreSQL. Tento režim nasazení umožňuje horizontální horizontální horizontální dělení tenantů napříč více servery (uzly). Pomocí distribuovaných tabulek ve víceklientských databázích můžete zajistit, aby všechna data tenanta byla uložena na stejném uzlu, což zvyšuje výkon dotazů.

Poznámka:

Od října 2022 se služba Azure Database for PostgreSQL Hyperscale (Citus) změnila na Azure Cosmos DB for PostgreSQL a přesunula se do řady produktů Cosmos DB.

Další informace:

Sdružování připojení

Postgres používá pro připojení model založený na procesu. Díky tomuto modelu je neefektivní udržovat velký počet nečinných připojení. Některé architektury s více tenanty vyžadují velký počet aktivních připojení, což negativně ovlivní výkon serveru Postgres.

Sdružování připojení přes PgBouncer se ve výchozím nastavení instaluje na flexibilním serveru Azure Database for PostgreSQL.

Další informace:

Ověřování Microsoft Entra

Flexibilní server Azure Database for PostgreSQL podporuje ověřování připojení pomocí ID Microsoft Entra. Tato funkce umožňuje úlohám aplikací ve víceklientských prostředích ověřovat databázi pomocí instančního objektu nebo spravované identity specifického pro tenanta, což znamená, že přístup k databázi může být vymezen na jednotlivého tenanta. Kombinací ověřování Microsoft Entra ID s konkrétními zásadami zabezpečení řádků tenanta můžete snížit riziko aplikace, která přistupuje k datům jiného tenanta z víceklientské databáze. Další informace:

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Další přispěvatelé:

  • John Downs | Hlavní softwarový inženýr
  • Vladimirskij Vladimirskij | Hlavní zákaznický inženýr, FastTrack pro Azure
  • Paul Burpo | Hlavní zákaznický inženýr, FastTrack pro nezávislé výrobce softwaru Azure
  • Assaf Fraenkel | Vedoucí inženýr/datový architekt, Azure FastTrack pro nezávislé výrobce softwaru a začínající firmy

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky

Projděte si přístupy k úložišti a datům pro víceklientské prostředí.