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 se systémy s více tenanty. Tento článek také odkazuje na pokyny a příklady použití Azure Database for PostgreSQL ve víceklientských řešeních.

Režimy nasazení

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

  • Flexibilní server – jedná se o dobrou volbu 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í, což často zahrnuje víceklientská aplikace. Tato služba je součástí řady produktů Azure Cosmos DB.

Poznámka

Azure Database for PostgreSQL – Jednoúčelový server je na cestě k vyřazení z provozu a je naplánovaný na vyřazení do 28. března 2025. Nedoporučuje se pro nové úlohy s více tenanty.

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

Při vytváření víceklientských aplikací pomocí Azure Database for PostgreSQL existuje ř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 uvedeny 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, když používáte sdílené tabulky. 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 se zajistilo, že to nebude mít vliv na výkon. Pokud je povolené zabezpečení na úrovni řádků, doporučujeme použít techniky testování výkonu k ověření, že vaše úloha splňuje vaše standardní požadavky na výkon.

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á vyžadují velmi vysokou úroveň škálování, můžou využívat Službu Azure Cosmos DB for PostgreSQL. Tento režim nasazení umožňuje horizontální horizontální dělení tenantů na více serverech (uzlech). Použitím distribuovaných tabulek ve víceklientských databázích můžete zajistit, aby všechna data pro tenanta byla uložena ve stejném uzlu, což zvyšuje výkon dotazů.

Poznámka

Od října 2022 se 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í prostřednictvím nástroje PgBouncer se ve výchozím nastavení instaluje na flexibilním serveru Azure Database for PostgreSQL.

Další informace:

Přispěvatelé

Tento článek spravuje Microsoft. Původně ji napsali následující přispěvatelé.

Hlavní autor:

Další přispěvatelé:

  • John Downs | Hlavní inženýr zákazníka, FastTrack pro Azure
  • Arsen Vladimirskiy | Hlavní inženýr zákazníka, FastTrack pro Azure
  • Paul Burpo | Hlavní inženýr zákazníka, 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í.