Szerkesztés

Share via


A MongoDB Atlas működési adatainak elemzése az Azure Synapse Analytics használatával

Azure App Service
Azure Data Lake Storage
Azure Event Grid
Azure Synapse Analytics
Power BI

Ez a cikk egy megoldást mutat be a MongoDB Atlas működési adataiból származó megállapítások származtatására. A megoldás összekapcsolja a MongoDB Atlast az Azure Synapse Analyticsszel. A kapcsolat lehetővé teszi az adatok kötegelt és valós idejű átvitelét. A valós idejű megközelítés szinkronban tartja az Azure Synapse Analytics dedikált SQL-készleteit a MongoDB Atlas adatforrás változásaival.

Az Apache®, az Apache Spark és a láng emblémája az Apache Software Foundation bejegyzett védjegyei vagy védjegyei a Egyesült Államok és/vagy más országokban. Az Apache Software Foundation nem támogatja ezeket a jeleket.

A MongoDB Atlas emblémája a MongoDB védjegye. A védjegy használata nem utal jóváhagyásra.

Architektúra

Az alábbi ábra bemutatja, hogyan szinkronizálhatja a MongoDB Atlas adatait valós időben az Azure Synapse Analytics szolgáltatással.

Architektúradiagram, amely a MongoDB Atlastól az elemzési alkalmazásokig történő adatfolyamot mutatja be. A köztes szakaszok közé tartozik a változásstream API és az Azure Synapse Analytics.

Töltse le a cikk összes diagramját bemutató PowerPoint-fájlt.

Adatfolyam

A megoldás két lehetőséget kínál a MongoDB Atlas operatív adattárában (ODS) valós idejű változásokat rögzítő folyamatok aktiválására és az adatok szinkronizálására. Az alábbi lépések mindkét lehetőséget ismertetik.

  1. A Változások a MongoDB Atlasban tárolt működési és tranzakciós adatokban történnek. A Mongo Atlas változásstream API-k valós időben értesítik az előfizetett alkalmazásokat a változásokról.

  2. Egy egyéni Azure-alkalmazás Service-webalkalmazás feliratkozik a MongoDB változásstreamre. A webalkalmazásnak két verziója van, az Event Grid és a storage, egyet a megoldás minden egyes verziójához. Mindkét alkalmazásverzió figyeli az Atlas beszúrási, frissítési vagy törlési művelete által okozott módosításokat. Amikor az alkalmazások változást észlelnek, blobként írják a módosított dokumentumot az Azure Data Lake Storage-ba, amely integrálva van az Azure Synapse Analyticsszel. Az alkalmazás Event Grid-verziója egy új eseményt is létrehoz az Azure Event Gridben, amikor változást észlel az Atlasban.

  3. A megoldás mindkét verziója aktiválja az Azure Synapse Analytics-folyamatot:

    1. Az Event Grid-verzióban egy egyéni eseményalapú eseményindító van konfigurálva az Azure Synapse Analyticsben. Ez az eseményindító feliratkozik arra az Event Grid-témakörre, amelyet a webalkalmazás közzétesz. A témakör új eseménye aktiválja az Azure Synapse Analytics-eseményindítót, amely az Azure Synapse Analytics-adatfolyamat futtatását okozza.
    2. A tárolási verzióban egy tárolóalapú eseményindító van konfigurálva az Azure Synapse Analyticsben. Ha az új blobot az integrált Data Lake Storage mappában észleli, a rendszer aktiválja az eseményindítót, ami az Azure Synapse Analytics-adatfolyamat futtatását eredményezi.
  4. Másolási tevékenység esetén az Azure Synapse Analytics-folyamat a teljes módosított dokumentumot átmásolja a Data Lake Storage-blobból a dedikált SQL-készletbe. Ez a művelet úgy van konfigurálva, hogy egy upsertet hajtson végre egy kijelölt oszlopon. Ha az oszlop létezik a dedikált SQL-készletben, az upsert frissíti az oszlopot. Ha az oszlop nem létezik, az upsert beszúrja az oszlopot.

  5. A dedikált SQL-készlet a vállalati adattárház szolgáltatás, amely az adatfolyam által frissített táblát üzemelteti. A folyamat másolási adattevékenysége szinkronban tartja a táblát a megfelelő Atlas-gyűjteményével.

  6. A Power BI-jelentések és -vizualizációk aktuális és közel valós idejű elemzéseket jelenítenek meg. Az adatok alsóbb rétegbeli alkalmazásokba is betáplálásra kerülnek. A MongoDB Atlas egy Azure Synapse Analytics-adatcsatorna-összekötő használatával fogadóként működik. Az Atlas ezután valós idejű adatokat biztosít az egyéni alkalmazásoknak.

Összetevők

  • A MongoDB Atlas a MongoDB szolgáltatásként nyújtott adatbázis-ajánlata. Ez a többfelhős alkalmazásadat-platform tranzakciós feldolgozást, relevanciaalapú keresést, valós idejű elemzést és mobil-felhőbeli adatszinkronizálást kínál. A MongoDB helyszíni megoldást is kínál, a MongoDB Enterprise Advancedet.

  • A MongoDB Atlas streamjeinek módosítása hozzáférést biztosít az alkalmazásoknak a valós idejű adatváltozásokhoz, így az alkalmazások azonnal reagálhatnak ezekre a változásokra. A változásstreamek lehetővé teszik, hogy az alkalmazások értesítéseket kapjanak egy adott gyűjtemény, adatbázis vagy teljes üzembehelyezési fürt változásairól.

  • Az App Service és annak Web Apps, Mobile Apps és API Apps funkciói keretrendszert biztosítanak a webalkalmazások, mobilalkalmazások és REST API-k létrehozásához, üzembe helyezéséhez és méretezéséhez. Ez a megoldás ASP.NET programozott webalkalmazásokat használ. A kód elérhető a GitHubon:

  • Az Azure Synapse Analytics az az alapvető szolgáltatás, amelyet ez a megoldás az adatok betöltéséhez, feldolgozásához és elemzéséhez használ.

  • A Data Lake Storage lehetővé teszi az adatok tárolását és feldolgozását. A Blob Storage-ra épülő Data Lake Storage skálázható megoldást kínál nagy mennyiségű adat több heterogén forrásból történő kezelésére.

  • Az Azure Synapse Analytics-folyamatokkal kinyerési, átalakítási és betöltési (ETL-) műveleteket hajthat végre az adatokon. Az Azure Data Factory hasonló szolgáltatást nyújt, de Azure Synapse Analytics-folyamatokat hozhat létre a Synapse Studióban. Ugyanazon a folyamaton belül több tevékenységet is használhat. Függőségi végpontokat is létrehozhat, hogy az egyik tevékenységet összekapcsolja a folyamat egy másik tevékenységével.

  • A leképezési adatfolyamok vizuálisan megtervezett adatátalakítások az Azure Synapse Analyticsben. Az adatfolyamokkal az adatmérnökök kódírás nélkül fejleszthetnek adatátalakítási logikát. Az eredményként kapott adatfolyamokat tevékenységekként futtathatja az Azure Synapse Analytics-folyamatokban, amelyek kibővített Apache Spark-fürtöket használnak. Az adatfolyam-tevékenységeket az Azure Synapse Analytics meglévő ütemezési, vezérlési, folyamat- és monitorozási képességeinek használatával helyezheti üzembe.

  • A dedikált SQL-készlet adatraktározási képességeket biztosít az adatokhoz az adatok feldolgozása és normalizálása után. Az Azure Synapse Analytics ezt a funkcióját korábban SQL Data Warehouse-nak nevezték. A dedikált SQL-készletek elérhetővé teszik a finomított adatokat a végfelhasználók és alkalmazások számára.

  • Az Azure Synapse Analytics-eseményindítók automatizált módot biztosítanak a folyamatok futtatására. Ezeket az eseményindítókat ütemezheti. Eseményalapú eseményindítókat is beállíthat, például tárolási eseményindítókat és egyéni eseményindítókat. A megoldás mindkét típusú eseményalapú eseményindítót használja.

  • Az Event Grid egy nagymértékben skálázható, kiszolgáló nélküli eseményszervező. Az Event Grid használatával eseményeket továbbíthat az előfizetői célhelyekre.

  • A Power BI olyan szoftverszolgáltatások és alkalmazások gyűjteménye, amelyek elemzési információkat jelenítenek meg. Ebben a megoldásban a Power BI lehetővé teszi a feldolgozott adatok speciális elemzések elvégzésére és az elemzések kinyerésére való használatát.

Forgatókönyv részletei

A MongoDB Atlas számos vállalati alkalmazás operatív adatrétegeként szolgál. Ez a felhőalapú adatbázis több csatornáról tárolja az adatokat belső alkalmazásokból, ügyféloldali szolgáltatásokból és külső API-kból. Az Azure Synapse Analytics-folyamatok használatával kombinálhatja a MongoDB Atlas-adatokat más hagyományos alkalmazásokból származó relációs adatokkal és olyan forrásokból származó strukturálatlan adatokkal, mint a naplók.

Batch-integráció

Az Azure Synapse Analyticsben zökkenőmentesen integrálhatja a MongoDB helyszíni példányait és a MongoDB Atlast forrás- vagy fogadóerőforrásként. A MongoDB az egyetlen NoSQL-adatbázis, amely forrás- és fogadó-összekötőkkel rendelkezik az Azure Synapse Analyticshez és a Data Factoryhez.

Az előzményadatokkal egyszerre lekérheti az összes adatot. Az adatokat köteg módban lévő szűrő használatával növekményesen is lekérheti adott időszakokra. Ezután sql-készleteket és Apache Spark-készleteket használhat az Azure Synapse Analyticsben az adatok átalakításához és elemzéséhez. Ha elemzési adattárban kell tárolnia az elemzési vagy lekérdezési eredményeket, használhatja a fogadó erőforrást az Azure Synapse Analyticsben.

Architektúradiagram, amely azokat a forrás- és fogadó-összekötőket mutatja be, amelyek a fogyasztók adatait csatlakoztatják az Azure Synapse Analyticshez és a MongoDB-adattárhoz.

Az összekötők beállításáról és konfigurálásáról az alábbi forrásokban talál további információt:

A forrásösszekötő kényelmes módot kínál az Azure Synapse Analytics futtatására a MongoDB-ben vagy az Atlasban tárolt operatív adatokon felül. Miután a forrás-összekötővel adatokat kér le az Atlasból, a Data Lake Storage-blobtárolóba parquet-, Avro-, JSON-, szöveg- vagy CSV-fájlként töltheti be az adatokat. Ezután átalakíthatja ezeket a fájlokat, vagy összekapcsolhatja őket más adatforrásokból származó fájlokkal többadatbázisos, többfelhős vagy hibrid felhőkörnyezetekben.

A MongoDB Enterprise Advanced vagy a MongoDB Atlas által lekért adatokat a következő esetekben használhatja:

  • Ha egy kötegben lévő MongoDB-ből szeretné lekérni az összes adatot egy adott dátumból. Ezután betölti az adatokat a Data Lake Storage-ba. Innen egy kiszolgáló nélküli SQL-készletet vagy Spark-készletet használ elemzéshez, vagy egy dedikált SQL-készletbe másolja az adatokat. A köteg lekérése után az adatfolyamban leírtak szerint módosíthatja az adatokat. A megoldás részeként elérhető egy Storage-CopyPipeline_mdb_synapse_ded_pool_RTS mintafolyamat . A folyamatot exportálhatja a GitHubról erre az egyszeri betöltési célra.

  • Elemzések készítése adott gyakorisággal, például napi vagy óránkénti jelentésekhez. Ebben a forgatókönyvben ütemezzen egy folyamatot, amely rendszeresen kéri le az adatokat az elemzési folyamatok futtatása előtt. MongoDB-lekérdezéssel szűrőfeltételeket alkalmazhat, és csak az adatok egy bizonyos részhalmazát kérheti le.

Valós idejű szinkronizálás

A vállalatoknak valós idejű adatokon alapuló elemzésekre van szükségük, nem elavult adatokra. A megállapításkézbesítés néhány órás késése visszatarthatja a döntéshozatali folyamatot, és versenyelőny elvesztését eredményezheti. Ez a megoldás a kritikus döntéshozatalt a MongoDB tranzakciós adatbázisában előforduló módosítások valós idejű propagálásával irányítja át a dedikált SQL-készletbe.

Ez a megoldás három részből áll, amelyeket a következő szakaszok írnak le.

A MongoDB Atlas változásainak rögzítése

A MongoDB változásfolyama rögzíti az adatbázisban bekövetkező változásokat. A változásstream API-k elérhetővé teszik a módosítási streamre előfizető App Service-webalkalmazások számára a változásokra vonatkozó információkat. Ezek az alkalmazások megírják a Data Lake Storage blobtároló módosításait.

Folyamat aktiválása az Azure Synapse Analytics módosításainak propagálásához

A megoldás két lehetőséget kínál az Azure Synapse Analytics-folyamat aktiválására a blob Data Lake Storage-ba való írása után:

  • Egy tárolóalapú eseményindító. Ezt a lehetőséget akkor használja, ha valós idejű elemzésre van szüksége, mert a folyamat azonnal aktiválódik, amint meg van írva a módosítást tartalmazó blob. De lehet, hogy nem ez a lehetőség az előnyben részesített módszer, ha nagy mennyiségű adatváltozást hajt végre. Az Azure Synapse Analytics korlátozza az egyidejűleg futtatható folyamatok számát. Ha nagy számú adatmódosítást hajt végre, akkor előfordulhat, hogy eléri ezt a korlátot.

  • Eseményalapú egyéni eseményindító. Az ilyen típusú eseményindítók előnye, hogy kívül esik az Azure Synapse Analyticsen, így könnyebben vezérelhetők. A webalkalmazás Event Grid-verziója a módosított adatdokumentumot a blobtárolóba írja. Ugyanakkor az alkalmazás létrehoz egy új Event Grid-eseményt. Az esemény adatai tartalmazzák a blob fájlnevét. Az eseményindítók által aktivált folyamat paraméterként kapja meg a fájlnevet, majd a fájl használatával frissíti a dedikált SQL-készletet.

A módosítások propagálása dedikált SQL-készletre

Egy Azure Synapse Analytics-folyamat propagálja a módosításokat egy dedikált SQL-készletre. A megoldás egy CopyPipeline_mdb_synapse_ded_pool_RTS folyamatot biztosít a GitHubon, amely a blobban lévő módosítást a Data Lake Storage-ból a dedikált SQL-készletbe másolja. Ezt a folyamatot a tárterület vagy az Event Grid eseményindítója aktiválja.

Lehetséges használati esetek

A megoldás használati esetei számos iparágra és területre kiterjednek:

  • Retail

    • Az intelligencia fejlesztése a termékcsomagolásba és a termékfejlesztésbe
    • Az IoT-streamelést használó hűtőtároló optimalizálása
    • Készletfeltöltés optimalizálása
    • Érték hozzáadása a mindencsatornás eloszláshoz
  • Banki szolgáltatások és pénzügyek

    • Az ügyfél pénzügyi szolgáltatásainak testreszabása
    • Potenciálisan hamis tranzakciók észlelése
  • Távközlés

    • A következő generációs hálózatok optimalizálása
    • A peremhálózatok értékének maximalizálása
  • Autóipar

    • Csatlakoztatott járművek paraméterezésének optimalizálása
    • Az IoT-kommunikáció rendellenességeinek észlelése csatlakoztatott járművekben
  • Gyártás

    • Prediktív karbantartás biztosítása gépekhez
    • A tárolás és a készletkezelés optimalizálása

Íme két konkrét példa:

  • Ahogy ez a cikk a Batch integrációjának korábbi szakaszát ismerteti, lekérheti a MongoDB-adatokat egy kötegben, majd módosításokkal frissítheti az adatokat. Ez a képesség lehetővé teszi a valós idejű megállapításokat az igény szerint történő döntéshozatalhoz és a következtetésekhez. Ez a funkció hasznos érzékeny és kritikus információk, például pénzügyi tranzakciók és csalásészlelési adatok elemzéséhez.
  • Ahogy a Batch-integráció is leírja, ütemezhet egy folyamatot a MongoDB-adatok rendszeres lekéréséhez. Ez a funkció olyan kereskedelmi helyzetekben hasznos, mint a leltárszintek napi értékesítési adatokkal való frissítése. Ilyen esetekben az elemzési jelentések és irányítópultok nem kritikus fontosságúak, és a valós idejű elemzés nem éri meg az erőfeszítést.

Az alábbi szakaszokban közelebbről is áttekintünk két kiskereskedelmi iparági használati esetet.

Termékcsomagolás

A termék értékesítésének elősegítése érdekében a terméket csomag részeként értékesítheti más kapcsolódó termékekkel együtt. A cél az, hogy értékesítési mintaadatok használatával stratégiákat fejlesszen ki a termékek csomagokba való csomagolására.

Két adatforrás létezik:

  • A MongoDB termékkatalógus-adatai
  • Értékesítési adatok az Azure SQL-ből

Mindkét adatkészlet egy Dedikált Azure Synapse Analytics SQL-készletbe migrálható egy Azure Synapse Analytics-folyamattal. Az eseményindítók és a módosítási adatrögzítések közel valós idejű adatszinkronizálást eredményeznek az egyszeri migrált adatokon felül.

Az alábbi Power BI-diagramok a termékek és az értékesítési minták közötti affinitást mutatják be. A toll és a tintaalapú újratöltés affinitása magas. Az értékesítési adatok azt mutatják, hogy a toll nagy értékesítési volumenű a megadott területen.

Folyamatszakaszokat és diagramokat ábrázoló diagramok, amelyek termék, év, régió és affinitás szerint jelenítik meg a toll értékesítését. A tolleladások 2022-ben délen a legmagasabbak.

Az elemzés két javaslatot tesz a jobb értékesítésre:

  • A toll és a tintaalapú újratöltés összekapcsolása
  • A csomag előmozdítása bizonyos területeken

Termék promóciója

A termék értékesítésének elősegítése érdekében ajánlhatja a terméket azoknak az ügyfeleknek, akik érdeklődnek a kapcsolódó termékek iránt. A cél az értékesítési adatok és az ügyfelek vásárlási mintáinak adatainak felhasználása a termékek ügyfeleknek való ajánlására szolgáló stratégiák kidolgozásához.

Az Azure Synapse Analytics használatával mesterséges intelligenciát és gépi tanulási modelleket fejleszthet annak meghatározására, hogy mely termékeket ajánljuk az ügyfeleknek.

Az alábbi ábrák különböző típusú adatok használatát mutatják be egy modell létrehozásához alternatív termékjavaslatok meghatározásához. Az adatok magukban foglalják az ügyfelek vásárlási mintáit, a nyereséget, a termék affinitását, a termékek értékesítési mennyiségét és a termékkatalógus paramétereit.

Folyamatszakaszokat és AI-modellek munkafolyamatait bemutató diagramok. Az adatmezők közé tartozik az ügyfélazonosító, az ár, az értékesítés és a nyereség.

Ha a modell nagy pontosságot ér el, az tartalmazza az ügyfeleknek ajánlott termékek listáját.

Megfontolások

Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amely a számítási feladatok minőségének javítására használható vezérelvek halmaza. További információ: Microsoft Azure Well-Architected Framework.

Biztonság

A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információ: A biztonsági pillér áttekintése.

A megoldás Azure-összetevőinek biztonsági követelményeiről és vezérlőiről részletes információt az egyes termékek dokumentációjának biztonsági szakaszában talál.

Költségoptimalizálás

A költségoptimalizálás a szükségtelen kiadások csökkentésének és a működési hatékonyság javításának módjairól szól. További információ: A költségoptimalizálási pillér áttekintése.

  • Az Azure-termékek és -konfigurációk költségeinek becsléséhez használja az Azure díjkalkulátorát.
  • Az Azure segít elkerülni a szükségtelen költségeket az igényeinek megfelelő számú erőforrás azonosításával, az időalapú kiadások elemzésével és az üzleti igényeknek való megfelelés érdekében történő skálázással, a túlköltekezés nélkül. Szüneteltetheti például a dedikált SQL-készleteket, ha nem vár terhelést. Később folytathatja őket.
  • Az App Service-t lecserélheti az Azure Functionsre. Az Azure Synapse Analytics-folyamat funkcióinak vezénylésével csökkentheti a költségeket.
  • A Spark-fürt költségeinek csökkentéséhez válassza ki a megfelelő adatfolyam-számítási típust. Általános és memóriaoptimalizált lehetőségek érhetők el. Emellett válassza ki a megfelelő magszámot és élettartamot (TTL) is.
  • A legfontosabb megoldásösszetevők költségeinek kezelésével kapcsolatos további információkért tekintse meg az alábbi erőforrásokat:

Teljesítmény hatékonysága

A teljesítményhatékonyság az a képesség, hogy a számítási feladatok méretezhetőek legyenek, hogy a felhasználók hatékonyan kielégítsék a felhasználók által támasztott igényeket. További információ: Teljesítményhatékonysági pillér áttekintése.

Nagy mennyiségű módosítás esetén az Azure Synapse Analyticsben több ezer folyamat futtatása a gyűjtemény minden módosításához az üzenetsorba helyezett folyamatok hátralékához vezethet. Ebben a forgatókönyvben a teljesítmény javítása érdekében vegye figyelembe a következő módszereket:

  • Használja a tárolóalapú App Service-kódot, amely a JSON-dokumentumokat a Data Lake Storage módosításaival írja. Ne kapcsolja össze a tárolóalapú eseményindítót a folyamattal. Ehelyett használjon egy ütemezett eseményindítót rövid időközönként, például két-öt percenként. Az ütemezett eseményindító futtatásakor a rendszer a megadott Data Lake Storage-címtárban lévő összes fájlt átveszi, és mindegyikhez frissíti a dedikált SQL-készletet.
  • Módosítsa az Event Grid App Service-kódot. Programozza, hogy hozzáadjon egy körülbelül 100 módosítást tartalmazó mikroköteget a blobtárolóhoz, mielőtt hozzáadja az új témakört az eseményhez a fájlnevet tartalmazó metaadatokkal. Ezzel a módosítással csak egy folyamatot aktiválhat egy blobhoz a 100 módosítással. A mikroköteg méretét a forgatókönyvnek megfelelően módosíthatja. Nagy gyakoriságú kis mikro kötegekkel valós idejű frissítéseket biztosíthat. Vagy használjon kisebb gyakoriságú nagyobb mikro kötegeket a késleltetett frissítésekhez és a kisebb többletterheléshez.

Az Azure Synapse Analytics-folyamatmásolási tevékenység teljesítményének és méretezhetőségének javításáról további információt Copy tevékenység teljesítmény- és méretezhetőségi útmutatóban talál.

A forgatókönyv üzembe helyezése

A megoldás implementálásáról további információt a MongoDB Atlas valós idejű szinkronizálási megoldása a Synapse-vel való integrációja című témakörben talál.

Közreműködők

Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.

Fő szerzők:

Egyéb közreműködők:

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések

A megoldással kapcsolatos további információkért lépjen kapcsolatba a következővel partners@mongodb.com:

A MongoDB-vel kapcsolatos információkért tekintse meg az alábbi erőforrásokat:

Az Azure-megoldás összetevőiről az alábbi forrásokból tájékozódhat: