Azure AI Exam AI-102: Choosing the Best Data Store for Conversation Data

Designing and Implementing a Microsoft Azure AI Solution

Question

Your current bot application in Azure has LUIS integration.

You are tasked to identify where the Natural Language Processing has failed or can be improved for your global user base across multiple geographies.

You also have the requirement to analyze sentiment and user metrics.

To achieve this objective, you decide to log and store the conversation data in Azure.

For prototyping, you use in-memory storage.

However, now that you have rolled out the solution for production use, you need to decide which storage solution to use for storing conversation data.

Given the scenario above, choose the most appropriate data store.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Correct Answer: C.

Option A is incorrect.

Currently, the user state supports in-memory, CosmosDB, SQL, and Table storage for storing user states.

Hence, this answer choice is not correct.

Option B is incorrect.

SQL managed instance, even though supported, is not the optimal choice to support multiple geographies.

Cosmos DB is suited to support multiple geographies.

Option C is correct.

It is an ideal choice as the conversation state is stored in JSON documents.

Cosmos DB, being a NoSQL document database, is suited to support this scenario.

It supported multiple geographies.

CosmosDB also offers scalability, low latency, and high availability.

You can perform the analytics functions on CosmosDB to get metrics around LUIS failures and sentiments.

Option D is incorrect.

Azure Table Storage, even though supported, is not the optimal choice to support multiple geographies.

Cosmos DB is suited to support multiple geographies.

Reference:

To learn more about storing state data for your bot using CosmosDB, use the link given below:

Based on the scenario described, the most appropriate data store for storing conversation data would be CosmosDB.

CosmosDB is a NoSQL document database that is designed for high availability, scalability, and performance. It is well-suited for storing unstructured data such as chat logs, which can be stored as JSON documents.

Here are some of the reasons why CosmosDB is the best choice:

  1. Global distribution: CosmosDB allows data to be replicated across multiple regions, making it easy to provide low-latency access to users around the world.

  2. Scalability: CosmosDB can scale horizontally and vertically to accommodate increased demand. This makes it a good fit for handling large volumes of chat data.

  3. Querying: CosmosDB supports SQL-like queries over JSON data, which makes it easy to analyze chat logs for sentiment and other metrics.

  4. Cost-effective: CosmosDB's pricing model is based on the amount of data stored and the throughput required, which makes it a cost-effective solution for storing chat logs.

Azure Blob Storage is a good option for storing unstructured data such as media files, but it lacks the querying capabilities of CosmosDB. SQL Managed Instance is a relational database solution, which may not be the best fit for unstructured chat data. Table Storage is a NoSQL key-value store, but it does not have the querying capabilities of CosmosDB.