Which solution will meet these requirements?
Migrate the current solution to an Amazon DynamoDB table. Use DynamoDB Streams to keep track of changes. Use DynamoDB Accelerator (DAX) to improve query performance.
Write employee record history to Amazon Quantum Ledger Database (Amazon QLDB) for historical records and to an Amazon OpenSearch Service (Amazon Elasticsearch Service) domain for queries.
Use Amazon Aurora PostgreSQL to store employee record history in a single table. Use Aurora Auto Scaling to provision more capacity.
Build a solution that uses an Amazon Redshift cluster for historical records. Query the Redshift cluster directly as needed.
Explanations:
DynamoDB is a NoSQL database optimized for fast reads and writes but does not provide built-in support for immutable historical records, nor is it ideal for complex queries on large datasets. DynamoDB Streams and DAX are useful for performance but do not address the need for guaranteed immutability of historical records.
Amazon QLDB is a ledger database designed specifically for immutable transaction logs, which meets the requirement to prevent modifications to historical records. Amazon OpenSearch Service can be used for efficient querying of large datasets, addressing the performance challenge of the current solution.
Aurora PostgreSQL can store historical records but does not provide built-in immutability features for preventing changes to the history table. Aurora Auto Scaling helps with scaling read and write capacity but does not solve the issue of protecting historical data from modifications or optimizing queries on large datasets.
Amazon Redshift is a data warehouse optimized for large-scale analytics but is not designed for immutable transaction logs. It is not ideal for real-time operational querying and does not provide built-in features for ensuring historical records are protected from modification.