Which database solution meets these requirements?
Amazon Aurora PostgreSQL
Amazon DynamoDB with on-demand enabled
Amazon DynamoDB with DynamoDB Streams enabled
Amazon SQS and Amazon Aurora PostgreSQL
Explanations:
Amazon Aurora PostgreSQL is a relational database that can scale vertically and horizontally, but it requires more management for schema changes and does not scale as easily for sudden read and write capacity spikes compared to NoSQL options.
Amazon DynamoDB with on-demand enabled automatically scales read and write capacity to meet traffic demands, is highly resilient, and allows for flexible schema changes, making it ideal for an evolving ecommerce application.
While Amazon DynamoDB with DynamoDB Streams can provide additional functionality (like capturing changes to items), it does not specifically address scaling capacity as effectively as the on-demand option does. The schema flexibility and resilience are also better served by option B.
Amazon SQS is a messaging service and not a database. While it can be used in conjunction with a database for certain architectures, it does not fulfill the requirement for a scalable database solution on its own.