Which solution meets these requirements?
Use Amazon ElastiCache for Redis to accept the bookings. Associate an AWS Lambda function to capture changes and push the booking data to the RDS for MySQL DB instance used by the CRM.
Use Amazon DynamoDB to accept the bookings. Enable DynamoDB Streams and associate an AWS Lambda function to capture changes and push the booking data to an Amazon SQS queue. This triggers another Lambda function that pulls data from Amazon SQS and writes it to the RDS for MySQL DB instance used by the CRM.
Use Amazon ElastiCache for Redis to accept the bookings. Associate an AWS Lambda function to capture changes and push the booking data to an Amazon Redshift database used by the CRM.
Use Amazon DynamoDB to accept the bookings. Enable DynamoDB Streams and associate an AWS Lambda function to capture changes and push the booking data to Amazon Athena, which is used by the CRM.
Explanations:
Amazon ElastiCache for Redis is a caching service and is not suitable for persistent storage of booking data. It can store temporary data but not long-term transactional data. Storing changes in RDS via Lambda could introduce complexity and inefficiency for high-volume, real-time bookings.
Amazon DynamoDB is a suitable choice for handling high-throughput, low-latency workloads such as booking data. Using DynamoDB Streams with Lambda to capture changes and push data to RDS for MySQL provides a scalable and cost-effective solution to store persistent data for CRM queries.
Amazon ElastiCache for Redis is not a persistent database and cannot be used for reliable storage of booking data. Pushing the data to Amazon Redshift would also be inefficient since Redshift is a data warehouse meant for complex analytics, not transactional workloads.
While DynamoDB and Lambda are suitable, pushing booking data to Amazon Athena is not appropriate. Athena is a query service for data stored in Amazon S3, and using it for transactional CRM queries is inefficient compared to a relational database like RDS. Athena is also not optimized for real-time data updates.