Sdílet prostřednictvím


Určení typu aplikace pro Azure Cosmos DB for PostgreSQL

PLATÍ PRO: Azure Cosmos DB for PostgreSQL (využívající rozšíření databáze Citus do PostgreSQL)

Spouštění efektivních dotazů v clusteru vyžaduje, aby se tabulky správně distribuoval mezi servery. Doporučená distribuce se liší podle typu aplikace a vzorů dotazů.

Ve službě Azure Cosmos DB for PostgreSQL fungují dobře dva druhy aplikací. Prvním krokem při modelování dat je zjistit, které z nich se více podobá vaší aplikaci.

Rychlý přehled

Víceklientové aplikace Aplikace v reálném čase
V některých případech schéma zahrnuje desítky nebo stovky tabulek Malý počet tabulek
Dotazy týkající se jednoho klienta (společnosti/úložiště) najednou Relativně jednoduché analytické dotazy s agregacemi
Úlohy OLTP pro obsluhu webových klientů Velké množství přijímaných převážně neměnných dat
Úlohy OLAP obsluhující analytické dotazy pro jednotlivé klienty Úlohy se často týkají velkých tabulek událostí

Příklady a charakteristiky

Víceklientová aplikace

Obvykle se jedná o aplikace SaaS, které obsluhují jiné společnosti, účty nebo organizace. Většina aplikací SaaS je ze své podstaty relační. Mají přirozenou dimenzi, na které se mají distribuovat data mezi uzly: pouze horizontální dělení podle tenant_id.

Azure Cosmos DB for PostgreSQL umožňuje škálovat databázi na miliony tenantů, aniž byste museli znovu navrhovat aplikaci. Relační sémantiku, kterou potřebujete, můžete zachovat, jako jsou spojení, omezení cizího klíče, transakce, ACID a konzistence.

  • Příklady: Weby, které hostují prodejní fronty pro jiné firmy, jako je digitální marketingové řešení nebo nástroj pro automatizaci prodeje.
  • Charakteristiky: Dotazy související s jedním tenantem, nikoli spojování informací mezi tenanty. To zahrnuje úlohy OLTP pro obsluhu webových klientů a úlohy OLAP, které obsluhují analytické dotazy pro jednotlivé tenanty. Desítky nebo stovky tabulek ve schématu databáze jsou také indikátorem datového modelu s více tenanty.

Škálování aplikace s více tenanty pomocí služby Azure Cosmos DB for PostgreSQL také vyžaduje minimální změny kódu aplikace. Podporujeme oblíbené architektury, jako je Ruby on Rails a Django.

Analýzy v reálném čase

Aplikace potřebují masivní paralelismus, koordinují stovky jader pro rychlé výsledky na číselné, statistické nebo počítání dotazů. Díky horizontálnímu dělení a paralelizaci dotazů SQL napříč několika uzly umožňuje Azure Cosmos DB for PostgreSQL provádět dotazy v reálném čase napříč miliardami záznamů za sekundu.

Tabulky v datových modelech analýzy v reálném čase se obvykle distribuují podle sloupců, jako jsou user_id, host_id nebo device_id.

  • Příklady: Řídicí panely analýzy orientované na zákazníky, které vyžadují dobu odezvy podsekundy.
  • Charakteristiky: Několik tabulek, které jsou často zaměřené na velkou tabulku událostí zařízení, webů nebo uživatelů a vyžadují vysoký objem ingestace většinou neměnných dat. Relativně jednoduché (ale výpočetně náročné) analytické dotazy zahrnující několik agregací a skupinových BY

Pokud se vaše situace podobá některému z výše uvedených případů, pak dalším krokem je rozhodnout, jak horizontálně dělit data v clusteru. Výběr distribučních sloupců správce databáze musí odpovídat vzorům přístupu typických dotazů, aby se zajistil výkon.

Další kroky