Delen via


Toepassingstype bepalen voor Azure Cosmos DB for PostgreSQL

VAN TOEPASSING OP: Azure Cosmos DB for PostgreSQL (mogelijk gemaakt door de Citus-database-extensie naar PostgreSQL)

Voor het uitvoeren van efficiënte query's op een cluster moeten tabellen correct worden verdeeld over servers. De aanbevolen distributie verschilt per type toepassing en de bijbehorende querypatronen.

Er zijn breed twee soorten toepassingen die goed werken in Azure Cosmos DB for PostgreSQL. De eerste stap in gegevensmodellering is om te bepalen welke van deze meer lijkt op uw toepassing.

In één oogopslag

Toepassingen met meerdere tenants Realtime toepassingen
Soms wel tientallen of honderden tabellen in schema Klein aantal tabellen
Query's met betrekking tot één tenant (bedrijf/winkel) tegelijk Relatief eenvoudige analysequery's met aggregaties
OLTP-workloads voor het leveren van webclients Hoog opnamevolume van vooral onveranderbare gegevens
OLAP-workloads die analytische query's per tenant uitvoeren Vaak gecentreerd rondom een grote tabel met gebeurtenissen

Voorbeelden en kenmerken

Toepassing met meerdere tenants

Dit zijn doorgaans SaaS-toepassingen die andere bedrijven, accounts of organisaties bedienen. De meeste SaaS-toepassingen zijn inherent relationeel. Ze hebben een natuurlijke dimensie voor het distribueren van gegevens over knooppunten: alleen shard door tenant_id.

Met Azure Cosmos DB for PostgreSQL kunt u uw database uitschalen naar miljoenen tenants zonder dat u uw toepassing opnieuw hoeft te ontwerpen. U kunt de relationele semantiek die u nodig hebt behouden, zoals joins, beperkingen voor refererende sleutels, transacties, ACID en consistentie.

  • Voorbeelden: Websites die winkel-fronts hosten voor andere bedrijven, zoals een digitale marketingoplossing of een hulpprogramma voor verkoopautomatisering.
  • Kenmerken: Query's met betrekking tot één tenant in plaats van informatie over tenants te koppelen. Dit omvat OLTP-workloads voor het bedienen van webclients en OLAP-workloads die analytische query's per tenant leveren. Het hebben van tientallen of honderden tabellen in uw databaseschema is ook een indicator voor het gegevensmodel met meerdere tenants.

Voor het schalen van een app met meerdere tenants met Azure Cosmos DB for PostgreSQL zijn ook minimale wijzigingen in toepassingscode vereist. We hebben ondersteuning voor populaire frameworks zoals Ruby on Rails en Django.

Realtime analyse

Toepassingen die enorme parallelle uitvoering nodig hebben, honderden kernen coördineren voor snelle resultaten naar numerieke, statistische of telquery's. Door sql-query's op meerdere knooppunten te sharden en parallelliseren, maakt Azure Cosmos DB voor PostgreSQL het mogelijk om realtime query's uit te voeren op miljarden records in minder dan een seconde.

Tabellen in realtime analysegegevensmodellen worden doorgaans gedistribueerd door kolommen zoals user_id, host_id of device_id.

  • Voorbeelden: klantgerichte analysedashboards vereisen sub-seconde reactietijden.
  • Kenmerken: Weinig tabellen, die zich vaak centreren rond een grote tabel met apparaat-, site- of gebruikersgebeurtenissen en waarvoor een hoog opnamevolume van meestal onveranderbare gegevens is vereist. Relatief eenvoudige (maar rekenintensieve) analysequery's met verschillende aggregaties en GROUP BY's.

Als uw situatie op een van de bovenstaande gevallen lijkt, is de volgende stap het bepalen hoe u uw gegevens in het cluster kunt sharden. De keuze van distributiekolommen van de databasebeheerder moet overeenkomen met de toegangspatronen van typische query's om de prestaties te garanderen.

Volgende stappen