Az Azure Cosmos DB gyakori használati helyzetei

A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat

Ez a cikk áttekintést nyújt az Azure Cosmos DB számos gyakori használati esetéről. A cikkben található javaslatok kiindulópontként szolgálnak az alkalmazás Azure Cosmos DB-vel való fejlesztése során.

A cikk elolvasása után a következő kérdésekre válaszolhat:

  • Mik az Azure Cosmos DB gyakori használati esetei?
  • Milyen előnyökkel jár az Azure Cosmos DB kereskedelmi alkalmazásokhoz való használata?
  • Milyen előnyökkel jár az Azure Cosmos DB adattárként való használata az Eszközök internetes hálózata (IoT) rendszerek számára?
  • Milyen előnyökkel jár az Azure Cosmos DB webes és mobilalkalmazásokhoz való használata?

Bevezetés

Az Azure Cosmos DB egy gyors NoSQL-adatbázis Azure-megoldása, amely bármilyen méretű, nyílt API-val rendelkezik. A szolgáltatás célja, hogy lehetővé tegye az ügyfelek számára, hogy rugalmasan (és függetlenül) skálázhatják az átviteli sebességet és a tárolást tetszőleges számú földrajzi régióban. Az Azure Cosmos DB az első globálisan elosztott adatbázis-szolgáltatás a piacon, amely átfogó szolgáltatásiszint-szerződéseket kínál, amelyek magukban foglalják az átviteli sebességet, a késést, a rendelkezésre állást és a konzisztenciát.

Az Azure Cosmos DB egy globálisan elosztott, többmodelles adatbázis, amelyet számos alkalmazásban és használati esetben használnak. Ez egy jó választás minden olyan kiszolgáló nélküli alkalmazáshoz, amely alacsony ezredmásodpercnyi válaszidőt igényel, és gyorsan és globálisan kell méreteznie. Több adatmodellt (kulcs-érték, dokumentumok, grafikonok és oszlopos) és számos Azure Cosmos DB API-t támogat az adathozzáféréshez, beleértve a MongoDB API-t, a NoSQL API-t, a Gremlin API-t és a Table api-t natív módon és bővíthető módon.

Az alábbiakban az Azure Cosmos DB néhány olyan attribútumát ismertetjük, amelyek globális ambícióval rendelkező, nagy teljesítményű alkalmazásokhoz ideálisak.

  • Az Azure Cosmos DB natív módon particionálja az adatokat a magas rendelkezésre állás és a méretezhetőség érdekében. Az Azure Cosmos DB 99,99%-os garanciát biztosít a rendelkezésre állásra, az átviteli sebességre, az alacsony késésre és a konzisztenciára az összes egyrégiós és az összes többrégiós fiók esetében, csökkentett konzisztenciával, valamint 99,999%-os olvasási rendelkezésre állást az összes többrégiós adatbázisfiókon.
  • Az Azure Cosmos DB SSD-alapú tárolóval rendelkezik, alacsony késésű, ezredmásodperces válaszidővel.
  • Az Azure Cosmos DB támogatja a konzisztenciaszinteket, például a végleges, konzisztens előtagot, a munkamenetet és a korlátozott frissességet, így teljes rugalmasságot és alacsony költség-teljesítmény arányt tesz lehetővé. Egyetlen adatbázis-szolgáltatás sem nyújt olyan rugalmasságot, mint az Azure Cosmos DB a szintek konzisztenciájában.
  • Az Azure Cosmos DB rugalmas, adatbarát díjszabási modellel rendelkezik, amely egymástól függetlenül méri a tárolást és az átviteli sebességet.
  • Az Azure Cosmos DB fenntartott átviteli sebességmodellje lehetővé teszi, hogy az alapul szolgáló hardver processzora/memóriája/IOPS-jai helyett az olvasások/írások száma alapján gondolkodjon.
  • Az Azure Cosmos DB kialakítása lehetővé teszi, hogy nagy mennyiségű kérelemre méretezhető, több billió kérés naponta.

Ezek az attribútumok olyan webes, mobil-, játék- és IoT-alkalmazásokban hasznosak, amelyeknek alacsony válaszidőre van szükségük, és nagy mennyiségű olvasást és írást kell kezelniük.

IoT és telematika

Az IoT-használati esetek gyakran osztanak meg bizonyos mintákat az adatok betöltésének, feldolgozásának és tárolásának módjában. Először is ezeknek a rendszereknek adatcsúcsokat kell betöltésükhöz különböző területi beállítások eszközérzékelőiből. Ezután ezek a rendszerek feldolgozzák és elemzik a streamelési adatokat, hogy valós idejű elemzéseket nyerjenek. Az adatok ezután kötegelt elemzés céljából archiválva lesznek a ritka elérésű tárolóba. A Microsoft Azure gazdag szolgáltatásokat kínál, amelyek alkalmazhatók az IoT-használati esetekre, beleértve az Azure Cosmos DB-t, a Azure Event Hubs, az Azure Stream Analyticset, az Azure Notification Hubot, az Azure Machine Learninget, az Azure HDInsightot és a Power BI-t.

Az Azure Cosmos DB IoT referenciaarchitektúrája

Az adatcsomópontokat Azure Event Hubs lehet betöltésre, mivel nagy átviteli sebességű adatbetöltést biztosít alacsony késéssel. A valós idejű elemzéshez feldolgozandó adatokat az Azure Stream Analyticsbe lehet tölcsérbe tenni valós idejű elemzés céljából. Az adatok betölthetők az Azure Cosmos DB-be adhoc lekérdezés céljából. Miután betöltötte az adatokat az Azure Cosmos DB-be, az adatok készen állnak a lekérdezésre. Emellett az új adatok és a meglévő adatok módosításai is olvashatók a változáscsatornában. A változáscsatorna egy állandó, csak hozzáfűző napló, amely szekvenciális sorrendben tárolja az Azure Cosmos DB-tárolók módosításait. Ezután az Azure Cosmos DB-ben lévő összes adat vagy csak az adatok módosítása referenciaadatként használható a valós idejű elemzések részeként. Emellett az adatok tovább pontosíthatók és feldolgozhatók az Azure Cosmos DB-adatok a HDInsight for Pig, Hive vagy Map/Reduce feladatokhoz való csatlakoztatásával. A finomított adatok ezután visszatöltődnek az Azure Cosmos DB-be jelentéskészítés céljából.

Az Azure Cosmos DB-t, az Event Hubsot és az Apache Stormot használó IoT-mintamegoldásért tekintse meg a GitHub hdinsight-storm-examples adattárát.

További információ az IoT-hez készült Azure-ajánlatokról: Eszközök internetes hálózatának létrehozása.

Kiskereskedelem és marketing

Az Azure Cosmos DB-t széles körben használják a Microsoft saját e-kereskedelmi platformjaiban, amelyek a Windows Áruházat és az XBox Live-t futtatják. A kiskereskedelmi iparágban a katalógusadatok tárolására és az események beszerzési folyamataiban való tárolására is használják.

A katalógus adathasználati forgatókönyvei magukban foglalják az entitások, például személyek, helyek és termékek attribútumkészletének tárolását és lekérdezését. A katalógusadatok közé tartoznak például a felhasználói fiókok, a termékkatalógusok, az IoT-eszközregisztrációs adatbázisok és az anyagjegyzék-rendszerek. Az adatok attribútumai változhatnak, és idővel változhatnak az alkalmazás követelményeinek megfelelően.

Vegyünk egy példát egy autóipari alkatrész-beszállító termékkatalógusára. Minden rész saját attribútumokkal rendelkezhet az összes rész közös attribútumai mellett. Emellett egy adott rész attribútumai az új modell kiadásakor a következő évet is megváltoztathatják. Az Azure Cosmos DB támogatja a rugalmas sémákat és a hierarchikus adatokat, így kiválóan alkalmas termékkatalógus-adatok tárolására.

Az Azure Cosmos DB kiskereskedelmi katalógusának referenciaarchitektúrája

Az Azure Cosmos DB-t gyakran használják eseményforrásként az eseményvezérelt architektúrákhoz a változáscsatorna funkciójával. A változáscsatorna lehetővé teszi az alsóbb rétegbeli mikroszolgáltatások számára az Azure Cosmos DB-ben végrehajtott beszúrások és frissítések (például rendelési események) megbízható és növekményes olvasását. Ez a funkció felhasználható egy állandó eseménytár üzenetközvetítőként való biztosításához az állapotváltozást okozó eseményekhez és a rendelések feldolgozásának munkafolyamatához számos mikroszolgáltatás között (amely kiszolgáló nélküli Azure Functions valósítható meg).

Azure Cosmos DB rendelési folyamat referenciaarchitektúrája

Emellett az Azure Cosmos DB-ben tárolt adatok integrálhatók a HDInsighttal a big data-elemzéshez Apache Spark-feladatokon keresztül. Az Azure Cosmos DB-hez készült Spark-összekötővel kapcsolatos részletekért lásd: Spark-feladat futtatása az Azure Cosmos DB-vel és a HDInsighttal.

Játékok

Az adatbázis a játékalkalmazások kulcsfontosságú eleme. A modern játékok a grafikus feldolgozást a mobilos és a konzolos ügyfeleken végzik, de a felhőt használják a testreszabott és személyre szabott tartalmakhoz, például a játékon belüli statisztikákhoz, a közösségi média integrációjához és a ranglistákhoz. A játékok gyakran egy ezredmásodpercnyi késést igényelnek az olvasáshoz és az íráshoz, hogy megnyerő játékélményt nyújtsanak. A játékadatbázisnak gyorsnak kell lennie, és képesnek kell lennie arra, hogy kezelni tudja a csúcsterheléseket például egy új játék indításakor vagy egy funkciófrissítés esetén.

Az Azure Cosmos DB-t olyan játékok használják, mint a The Walking Dead: No Man's Land by Next Games és a Halo 5: Guardians by 343 Industries. Az Azure Cosmos DB a következő előnyöket nyújtja a játékfejlesztők számára:

  • Az Azure Cosmos DB lehetővé teszi a teljesítmény rugalmas fel- vagy leskálázását. Ez lehetővé teszi a játékok számára, hogy egyetlen API-hívással kezeljék a profilok és statisztikák frissítését több tucatról több millió egyidejű játékosra.
  • Az Azure Cosmos DB támogatja az ezredmásodperces olvasásokat és írásokat, hogy elkerülje a játék közbeni késéseket.
  • Az Azure Cosmos DB automatikus indexelése lehetővé teszi, hogy valós időben szűrjön több különböző tulajdonságra, például keresse meg a játékosokat a belső játékosazonosítójuk, a GameCenter, a Facebook, a Google-azonosítók vagy a céh játékostagsága alapján történő lekérdezés alapján. Ez összetett indexelési vagy horizontális skálázási infrastruktúra kiépítése nélkül lehetséges.
  • A közösségi funkciók, például a játékon belüli csevegőüzenetek, a játékoscéhtagságok, a befejezett kihívások, a magas pontszámú ranglisták és a közösségi grafikonok rugalmas sémával könnyebben implementálhatóak.
  • Az Azure Cosmos DB szolgáltatásként felügyelt platformként (PaaS) minimális beállítási és felügyeleti munkát igényelt a gyors iteráció és a piacra jutási idő csökkentése érdekében.

Az Azure Cosmos DB játékokra vonatkozó referenciaarchitektúrája

Webes és mobilalkalmazások

Az Azure Cosmos DB-t gyakran használják webes és mobilalkalmazásokban is, mert kiválóan alkalmas a közösségi interakciók modellezésére, a harmadik féltől származó szolgáltatások integrációjára és sokoldalú személyre szabott élmények megvalósítására. Az Azure Cosmos DB SDK-k gazdag iOS- és Android-alkalmazások készítésére használhatók a népszerű Xamarin-keretrendszer használatával.

Közösségi alkalmazások

Az Azure Cosmos DB gyakori használati esete a felhasználó által létrehozott tartalom (UGC) tárolása és lekérdezése webes, mobil- és közösségimédia-alkalmazásokhoz. Néhány példa az UGC-ra: csevegési munkamenetek, tweetek, blogbejegyzések, értékelések és megjegyzések. A közösségimédia-alkalmazásokban gyakran az UGC szabad formátumú szövegek, tulajdonságok, címkék és kapcsolatok keveréke, amelyeket nem merev szerkezet határol. Az Olyan tartalmak, mint a csevegések, megjegyzések és bejegyzések anélkül tárolhatók az Azure Cosmos DB-ben, hogy átalakításokra vagy összetett objektumra lenne szükség a relációs leképezési rétegekhez. Az adattulajdonságok könnyen hozzáadhatók vagy módosíthatók, hogy megfeleljenek a követelményeknek, ahogy a fejlesztők iterálnak az alkalmazáskódon, így elősegítve a gyors fejlesztést.

A külső közösségi hálózatokkal integrálható alkalmazásoknak reagálniuk kell ezekről a hálózatokról a változó sémákra. Mivel az adatok alapértelmezés szerint automatikusan indexelnek az Azure Cosmos DB-ben, az adatok bármikor lekérdezhetők. Ezért ezek az alkalmazások rugalmasan lekérhetik az előrejelzéseket az igényeiknek megfelelően.

Számos közösségi alkalmazás globális szinten fut, és kiszámíthatatlan használati mintákat mutathat. Az adattár skálázásának rugalmassága elengedhetetlen, mivel az alkalmazásréteg a használati igényeknek megfelelően méretezhető. Horizontális felskálázáshoz további adatpartíciókat adhat hozzá egy Azure Cosmos DB-fiókhoz. Emellett további Azure Cosmos DB-fiókokat is létrehozhat több régióban. Az Azure Cosmos DB szolgáltatásrégió rendelkezésre állásával kapcsolatban lásd: Azure-régiók.

Az Azure Cosmos DB webalkalmazás referenciaarchitektúráját bemutató ábra.

Személyre szabás

Napjainkban a modern alkalmazások összetett nézetekkel és élményekkel járnak. Ezek általában dinamikusak, alkalmazkodnak a felhasználói preferenciákhoz, hangulatokhoz és védjegyzési igényekhez. Ezért az alkalmazásoknak hatékonyan kell tudniuk lekérni a személyre szabott beállításokat a felhasználói felület elemeinek és felhasználói felületének gyors megjelenítéséhez.

Az Azure Cosmos DB által támogatott JSON formátum hatékony formátum a felhasználói felület elrendezési adatainak ábrázolására, mivel nem csupán egyszerű, hanem a JavaScript által is könnyen értelmezhető. Az Azure Cosmos DB beállítható konzisztenciaszinteket kínál, amelyek lehetővé teszik a gyors olvasást alacsony késésű írással. Ezért a felhasználói felületi elrendezési adatok, köztük a személyre szabott beállítások JSON-dokumentumokként való tárolása az Azure Cosmos DB-ben hatékony eszköz az adatok vezeték nélküli beolvasására.

Az Azure Cosmos DB webalkalmazás referenciaarchitektúrája

Következő lépések

  • Az Azure Cosmos DB használatának megkezdéséhez kövesse a rövid útmutatókat, amelyek végigvezetik a fiók létrehozásának és az Azure Cosmos DB használatának első lépésein.

  • Ha többet szeretne megtudni az Azure Cosmos DB-t használó ügyfelekről, tekintse meg az ügyfél-esettanulmányok oldalt.