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.
- Az IOT-számítási feladatokban
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.
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.
- A példánkban az eseménytáblának van egy
- 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.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: