Question #1157
A company is building a system to process and store streaming unstructured data from IoT devices. The solution must ensure data durability and allow for real-time querying capabilities. Which AWS service best meets these requirements?
Amazon RDS
Amazon Kinesis Data Firehose
Amazon S3
Amazon DynamoDB
Explanation
The correct answer is D. Amazon DynamoDB.
Why DynamoDB?
- Durability: DynamoDB automatically replicates data across multiple Availability Zones, ensuring high durability.
- Real-Time Querying: As a NoSQL database, DynamoDB offers low-latency queries, making it suitable for real-time access to IoT data.
- Unstructured Data: DynamoDB's schema-less design accommodates unstructured data from IoT devices.
Why Not Others?
- A. Amazon RDS: Designed for structured relational data, not ideal for unstructured IoT data.
- B. Amazon Kinesis Data Firehose: Handles streaming ingestion but does not store data; requires another service for storage.
- C. Amazon S3: Provides durable storage but lacks real-time querying (batch queries via Athena are not real-time).
Key Points:
- Use DynamoDB for unstructured data requiring durability and real-time access.
- Combine with Kinesis Data Streams/IoT Core for ingestion if needed.
- Avoid RDS for unstructured data and S3/Firehose for real-time queries.
Answer
The correct answer is: D