Megosztás a következőn keresztül:


Nagy átviteli sebességű tranzakciós alkalmazások modellezése az Azure Cosmos DB for PostgreSQL-ben

Fontos

Az Azure Cosmos DB for PostgreSQL már nem támogatott új projektek esetén. Ne használja ezt a szolgáltatást új projektekhez. Ehelyett használja az alábbi két szolgáltatás egyikét:

  • Az Azure Cosmos DB for NoSQL használata nagy léptékű forgatókönyvekhez tervezett elosztott adatbázis-megoldáshoz 99,999% rendelkezésre állási szolgáltatásiszint-szerződéssel (SLA), azonnali automatikus skálázással és automatikus feladatátvétellel több régióban.

  • Használja az Azure Database For PostgreSQL Rugalmas fürtök funkcióját a megosztott PostgreSQL-hez a nyílt forráskódú Citus-bővítmény használatával.

Általános szűrő szegmenskulcsként

A nagy átviteli sebességű tranzakciós alkalmazások szegmenskulcsának kiválasztásához kövesse az alábbi irányelveket:

  • Válasszon egy oszlopot, amely pontkeresésekhez használatos, és a legtöbb létrehozási, olvasási, frissítési és törlési műveletben jelen van.
  • Válasszon egy olyan oszlopot, amely az adatok természetes dimenziója, vagy az alkalmazás központi eleme. Például:
    • Az IOT-számítási feladatokban device_id jó terjesztési oszlop.

A megfelelő szilánkkulcs kiválasztása segít optimalizálni a hálózati lépéseket, miközben a memória és a számítási kapacitás előnyeit kihasználva elérheti az ezredmásodperces késést.

Optimális adatmodell nagy átviteli sebességű alkalmazásokhoz

Az alábbiakban egy példa egy IoT-alkalmazás adatmodell-mintájára, amely telemetriát (idősoradatokat) rögzít az eszközökről. A telemetriai adatok rögzítésére két tábla van: devices és events. Lehetnek más táblák is, de ez a példa nem fedi le őket.

Esemény- és eszköztáblák, valamint események partícióinak diagramja.

Nagy átviteli sebességű alkalmazások létrehozásakor tartsa szem előtt az optimalizálást.

  • Terjesszen nagy táblákat az alkalmazás központi részét képező közös oszlopra, valamint arra az oszlopra, amelyet az alkalmazás többnyire lekérdez. A fenti IOT-alkalmazás példájában device_id az az oszlop, amely együtt helyezi el az események és az eszközök tábláit.
  • A többi kis tábla referenciatáblák lehetnek.
  • Mivel az IOT-alkalmazások idődimenzióval rendelkeznek, az elosztott táblákat az idő alapján particionálhatja. A partíciók létrehozásához és karbantartásához használhatja a natív Azure Cosmos DB for PostgreSQL idősorozat-képességeket.
    • A particionálás segít hatékonyan szűrni az időszűrőkkel rendelkező lekérdezések adatait.
    • A régi adatok törlése is gyors a DROP vagy DELETE parancs használatával.
    • A példánkban szereplő eseménytáblát hónap szerint particionáltuk.
  • A JSONB-adattípus használatával részben strukturált adatokat tárolhat. Az eszköz telemetriai adatai általában nem strukturáltak, minden eszköz saját metrikákkal rendelkezik.
    • A példánkban az eseménytáblának van egy detail oszlopa, amely JSONB.
  • Ha az IoT-alkalmazás térinformatikai funkciókat igényel, használhatja a PostGIS-bővítményt, amelyet az Azure Cosmos DB for PostgreSQL natív módon támogat.

Következő lépések

Most befejeztük a méretezhető alkalmazások adatmodellezésének feltárását. A következő lépés az adatbázis csatlakoztatása és lekérdezése a választott programozási nyelvvel.