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

A KÖVETKEZŐKRE VONATKOZIK: Azure Cosmos DB for PostgreSQL (a Citus adatbázisbővítménye a PostgreSQL-re)

Gyakori 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 jó szilánkkulcs kiválasztása segít optimalizálni a hálózati ugrásokat, miközben a memória és a számítás előnyeit kihasználva ezredmásodpercnyi késést érhet el.

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. Az IOT-alkalmazások device_id fenti példájában ez az oszlop található, és az eseményeket és az eszközök tábláit társkereséssel azonosítja.
  • 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 lejárata is gyors, a DROP vs DELETE paranccsal.
    • 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.