A media streaming platform is designing a new video-on-demand application. The application requires a database and storage strategy for two distinct workloads:
1. User session state: A NoSQL workload requiring sub- millisecond latency for both reads and writes, scaling up to writes per second during peak hours.
2. Catalog metadata: A highly relational OLTP workload that experiences unpredictable spikes in read traffic. The solution must support horizontal read scaling with minimal replica lag, support cross-account key management and rotation policies for at-rest encryption, and replicate data to a secondary AWS Region to achieve a disaster recovery Recovery Time Objective (RTO) of minutes and a Recovery Point Objective (RPO) of minute.
Which database and storage architecture should the solutions architect recommend to satisfy these requirements?
- Store user session states in Amazon DynamoDB. Store catalog metadata in an Amazon Aurora PostgreSQL Global Database encrypted with a Customer Managed Key (CMK). Configure Aurora Auto Scaling to dynamically adjust the number of Aurora Replicas based on demand, and utilize the global database for cross-region replication.Answer
- BStore user session states in Amazon DynamoDB. Store catalog metadata in Amazon RDS for PostgreSQL with a Multi-AZ deployment encrypted with a Customer Managed Key (CMK). Direct read traffic spikes to the Multi-AZ standby instance, and configure cross-region read replicas to achieve the disaster recovery objectives.
- CStore user session states in Amazon DynamoDB. Store catalog metadata in an Amazon Aurora PostgreSQL Global Database encrypted with the AWS-managed KMS key (aws/rds). Configure Aurora Auto Scaling to dynamically adjust the number of Aurora Replicas, and use Aurora Global Database to replicate data to the secondary region.
- DStore user session states in Amazon DynamoDB. Store catalog metadata in a single-region Amazon Aurora PostgreSQL database encrypted with a Customer Managed Key (CMK). Configure Aurora Auto Scaling for read replicas, and copy hourly DB snapshots to the secondary region to support disaster recovery.