När bör du använda Azure Cosmos DB för NoSQL

Slutförd

Azure Cosmos DB for NoSQL är en fullständigt hanterad NoSQL-databastjänst för modern utveckling och AI-apputveckling. Den ger garanterade svarstider på ensiffriga millisekunder, 99,999 procent tillgänglighet och vektordatabasfunktioner som backas upp av serviceavtal med automatisk och omedelbar skalbarhet.

I företagsscenarier har Azure Cosmos DB for NoSQL en omfattande uppsättning serviceavtal (SLA) som täcker dataflöde, konsekvens, tillgänglighet och svarstid.

Vanliga användningsfall för Azure Cosmos DB för NoSQL

Som en snabb NoSQL-databas med flexibla API- och vektorindexerings- och sökfunktioner passar Azure Cosmos DB for NoSQL bra för många typer och storlekar av program. Från mycket liten skala till högpresterande program med global ambition. Hastighet och flexibilitet gör Azure Cosmos DB för NoSQL bra för Generative AI, webb,detaljhandel, IoT, spel och mobila program. Azure Cosmos DB for NoSQL passar bra för program som kräver flexibilitet, låg kostnad, snabba svarstider och möjlighet att skala till massiv volym eller hastighet.

Generativ AI

Generativa AI-program kan vara olika och oförutsägbara. Dessa arbetsbelastningar kräver en databasplattform som är kostnadseffektiv, dynamisk och skalbar. Användare kan lagra vektorer direkt i sina dokument med traditionella schemafria data och högdimensionella vektorer som andra egenskaper. Den här samlokaliseringen av data och vektorer möjliggör effektiv indexering och sökning, eftersom vektorerna lagras i samma logiska enhet som de data de representerar. Att hålla ihop vektorer och data förenklar datahantering, AI-programarkitekturer och effektiviteten för vektorbaserade åtgärder.

Arkitekturdiagram för en Generative AI-arbetsbelastning som visar ett AI Agent-program för flera innehavare för slutanvändare. Nya eller uppdaterade data matas in med ändringsflöde, vektoriseras och lagras. Användare interagerar via AI-agenter som utför vektorsökning och genererar svar med chatthistoriken som lagras i Azure Cosmos DB.

I det här exemplet tar kunderna transaktions- och driftdata och vektoriserar dem för att användas för vektorsökning av flera AI-agenter som betjänar kunder. Azure Cosmos DB:s ändringsflöde används för att hantera inmatning och vektorisering av nya eller uppdaterade data, vilket gör dem tillgängliga nästan i realtid för användare. Kunder som interagerar med dessa agenter genererar frågor och slutföranden som också lagras som chatthistorik i Azure Comsos DB och används för att tillhandahålla en semantisk cache för bättre kostnader och prestanda.

Detaljhandel/marknadsföring

Azure Cosmos DB for NoSQL passar bra för arbetsbelastningar för detaljhandel och marknadsföring som kan uppleva dramatiska och oväntade svängningar i användningen när som helst under året. Den elastiska skalningen av Azure Cosmos DB for NoSQL säkerställer att databasplattformen kan hantera begäranden under hög användning och spara pengar under icke-förbrukningstider.

Arkitekturdiagram för en detaljhandelsarbetsbelastning som visar en webbläsare som ansluter till webbplatsen i Azure App Service som stöds av ett Azure Blob Storage-konto som innehåller statiska platsdata. I bakgrunden används ett Azure Cosmos DB for NoSQL-konto med en container för inventeringsdata och en container för kundvagnsdata av App Service Web App och en Azure Search-instans som skapar en sökbar katalog genom att indexera Azure Cosmos DB för NoSQL-kontot med inventeringsdata.

I det här exemplet använder ett JavaScript-webbprogram som bygger på innehåll som lagras i Azure Blob Storage Azure Cosmos DB för NoSQL som säkerhetskopieringsdatabas. Flera konton används för att hantera olika aspekter av lösningen, till exempel kundvagn, lager eller katalog. Lösningen använder sedan Azure Search för att indexering av Azure Cosmos DB för NoSQL-data, vilket ger slutanvändarna en omfattande sökupplevelse.

Webb/mobil

Många moderna sociala program genererar en mängd användargenererat innehåll som är varierat i kvantitet, form och volym. Azure Cosmos DB for NoSQL är en bra kandidat för den här arbetsbelastningen eftersom det här API:et kan lagra data med olika scheman. Överväg NoSQL-API:et för data som kan ha scheman som ändras eller utvecklas med tiden när företagets initiativ expanderar till nya områden.

Arkitekturdiagram för en webbarbetsbelastning som visar en användarwebbläsare som ansluter till en URL som är ansluten till Azure Traffic Manager för att fastställa rätt omdirigeringsmål. Sedan är tre Azure App Service-instanser i tre Azure-regioner (Europa, norra, USA, västra, USA, östra) anslutna till ett globalt distribuerat Azure Cosmos DB för NoSQL-konto.

I det här exemplet använder en användare en URL för att komma åt en webbplats i webbläsaren. URL:en pekar på Azure Traffic Manager, som sedan använder en inbyggd algoritm för att avgöra vilken Azure App Service-slutpunkt som användaren ska omdirigeras till. Eftersom Azure Cosmos DB för NoSQL kan distribueras globalt behöver du bara ett konto som replikeras i flera regioner.

Modulscenario

Tänk på scenariot från början av den här modulen:

Anta att du arbetar som huvudutvecklare på ett detaljhandelsföretag. Ditt team skapar din onlinebutik med stöd för AI-agenter för att ge användarna en omfattande upplevelse. Du utformar den nya butiken så att den är tillgänglig på olika enheter, inklusive mobil. Teamet förväntar sig en ökning av efterfrågan när skyltfönstret publiceras och olika "grand opening"-försäljningar börjar.

En viktig del av butikens framgång är möjligheten för företaget att meddela användarna om leveransuppdateringar oavsett vilken enhet de lägger beställningen på eller för närvarande använder. Ditt team har arbetat hårt med ett avancerat system för att hantera detaljerad orderstatusspårning. Den snäva integreringen av Azure Cosmos DB med andra Azure-tjänster gör att du kan skapa lösningar som använder orderdata i Azure Cosmos DB för NoSQL för att skicka meddelanden till användarens mobila enheter. Meddelandena varnar dem när deras paket levereras eller är ute för leverans.

Arkitekturdiagram för en detaljhandelsarbetsbelastning som visar ett växande antal användare som beställer produkter och en samling beräkningsresurser som hanterar begäranden från butiksinstanserna. Bakom beräkningsresurserna lagrar Azure Cosmos DB inköpsdata. Sedan ansluter Azure Synapse Link Azure Cosmos DB till Azure Synapse Analytics för djupare analys. Slutligen, Azure Functions, utlöses av ändringsflöde, bearbetning av datahändelser som sedan utlöser ett Azure Logic Apps-arbetsflöde för att utföra affärsåtgärder som att meddela användaren på sin mobila enhet om nya händelser.

Det här exemplet liknar exemplet från introduktionen av den här modulen. För att bygga vidare på det första exemplet har ditt team valt att introducera Azure Cosmos DB för NoSQL som valfri databas. Nu kan ditt team använda Azure Synapse Link för att förbereda och aggregera data för djupare analys med hjälp av Azure Synapse Analytics. Ditt team kan också använda tjänster som Azure Functions för att reagera på datahändelser med Azure Cosmos DB och sedan utlösa ett Azure Logic Apps-arbetsflöde som skickar meddelanden till mobila enheter.