Microsoft Azure Data FundamentalsDescribe how to work with non-relational data on AzureMedium
A development team is building a new application that processes a large volume of small, independent tasks. Each task generates a message that needs to be temporarily stored and then picked up by an available worker process. The system needs to ensure that each message is processed at least once, even if a worker fails. Which Azure non-relational data service is most suitable for managing these tasks?
- AAzure Data Lake Storage Gen2
- BAzure Blob Storage
- CAzure Cosmos DB
- DAzure Queue Storage
Show answer & explanationAnswer & explanation
Correct answer: D. Azure Queue Storage
Azure Queue Storage is designed for decoupling application components and handling asynchronous message processing. Its robust mechanism ensures at-least-once message delivery and supports temporary storage of messages until they are successfully processed by a worker, making it ideal for managing independent tasks.
Why the other options are wrong
- A. Azure Data Lake Storage Gen2 is for big data analytics, not for operational task queuing.
- B. Azure Blob Storage is for storing unstructured binary data, not for managing transient messages and task queues.
- C. Azure Cosmos DB is a NoSQL database, not a message queuing service for temporary task management.
Azure Queue Storage
A service for storing large numbers of messages that can be accessed from anywhere in the world via authenticated HTTP or HTTPS calls.
- Decouples application components.
- Provides at-least-once message delivery.
- Highly scalable and cost-effective for message queuing.
Memory trick: Queues hold messages for workers to grab.