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:
- Návrh databáze s více tenanty pomocí služby Azure Cosmos DB for PostgreSQL
- Distribuované tabulky
- Výběr distribučního sloupce v distribuované tabulce
- Průvodce používáním Citus pro víceklientských aplikací.
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:
- PgBouncer na flexibilním serveru Azure Database for PostgreSQL
- Sdružování připojení ve službě Azure Cosmos DB for PostgreSQL
- Postup instalace a nastavení proxy serveru pro sdružování připojení PgBouncer s využitím Azure Database for PostgreSQL
Přispěvatelé
Tento článek spravuje Microsoft. Původně ji napsali následující přispěvatelé.
Hlavní autor:
- Daniel Scott-Raynsford | Partner Technology Stratég
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í.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro