The question itself is reasonable but the interviewer kept shifting what he cared about.
Start by clarifying requirements such as data volume, velocity, and consistency needs. Then outline a phased migration strategy: assess source schema, design DynamoDB data model, implement migration pipeline with validation, and cutover with rollback plan. Emphasize trade-offs between migration approaches and DynamoDB-specific considerations.
Pro tip: Highlight the importance of designing the DynamoDB table based on access patterns first, not by mirroring the relational schema. Also, mention using DynamoDB Streams and AWS Database Migration Service (DMS) for near-real-time replication to minimize downtime.
Ask about data size, read/write patterns, acceptable downtime, consistency requirements, and budget. This shapes the migration strategy and DynamoDB configuration.
Identify access patterns and design tables, indexes, and keys accordingly. Consider denormalization, partition key distribution, and use of GSIs/LSIs.
Choose between one-time bulk migration, incremental migration, or hybrid. Evaluate tools like AWS DMS, custom ETL, or DynamoDB Import/Export. Plan for data transformation and validation.
Build the migration pipeline, including data extraction, transformation, and loading. Implement validation checks to ensure data integrity and performance.
Execute cutover with minimal downtime, possibly using dual-writes or change data capture. Monitor performance and have a rollback plan.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.
Came out of nowhere after the design portion.
Structure your answer around the migration lifecycle: pre-migration validation, real-time monitoring during cutover, and post-migration verification. Emphasize data integrity, performance, and business continuity, using concrete metrics and eBay-scale considerations.
Pro tip: Tie every metric to a business impact (e.g., revenue, user experience) and mention how you'd set thresholds and automate alerts to catch issues before they escalate.
Establish baseline metrics for performance, data quality, and system health to compare against during and after migration.
Track replication lag, error rates, throughput, and resource utilization to ensure the migration is progressing correctly.
Continuously validate row counts, checksums, and key business invariants to detect data corruption or loss.
Monitor query latency, throughput, error rates, and system resource usage to ensure the new database meets SLAs.
Track business KPIs such as transaction success rates, page load times, and user engagement to catch indirect issues.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.