Which solution meets these requirements?
Use Amazon DynamoDB and leverage the Time to Live (TTL) feature to automatically expire the data.
Use Amazon RDS for Oracle with Multi-AZ. Create an AWS Lambda function to purge the expired data. Schedule the Lambda function to run daily using Amazon EventBridge.
Use Amazon DocumentDB with a read replica in a different Availability Zone. Use DocumentDB change streams to expire the data.
Use Amazon Aurora PostgreSQL with Multi-AZ and leverage the Time to Live (TTL) feature to automatically expire the data.
Explanations:
Amazon DynamoDB supports Time to Live (TTL) to automatically delete expired items, which fits the requirement of storing JSON payloads that expire after 28 hours.
Amazon RDS for Oracle does not have a native TTL feature, so a Lambda function and scheduled events would be needed. However, this increases complexity and does not reduce licensing costs as much as DynamoDB.
Amazon DocumentDB does not support TTL for automatic data expiration and also requires manual intervention or additional code to purge expired data.
Amazon Aurora PostgreSQL does not have a native TTL feature for automatic expiration of data. Additionally, PostgreSQL typically requires more manual maintenance and does not align with the need for automatic data expiration.