Which setup win meet the requirements?
Add an SQS queue to the ingestion layer to buffer writes to the RDS instance
Ingest data into a DynamoDB table and move old data to a Redshift cluster
Replace the RDS instance with a 6 node Redshift cluster with 96TB of storage
Keep the current architecture but upgrade RDS storage to 3TB and 10K provisioned IOPS
Explanations:
While adding an SQS queue can help manage bursts in traffic and buffer writes, it does not directly address the long-term storage needs and scalability for 100K sensors. It could lead to increased complexity without ensuring sufficient database capacity for the expected data volume.
Ingesting data into DynamoDB allows for high scalability and can handle the required IOPS for 100K sensors. Additionally, moving older data to a Redshift cluster is suitable for long-term storage and analytics, fulfilling the requirement of storing data for at least two years.
Replacing RDS with a Redshift cluster may not be ideal for real-time ingestion of sensor data, as Redshift is optimized for analytics rather than transactional workloads. This could lead to challenges in processing incoming data from 100K sensors effectively.
Upgrading RDS storage to 3TB and 10K provisioned IOPS might improve the existing setup but is unlikely to support the volume of data generated by 100K sensors over two years. The total data storage requirement would exceed RDS capabilities, necessitating a more scalable solution.