Design relational-to-NoSQL migration pipeline
GoogleSoftware Engineer · Technical ScreenLast updated
This question evaluates a candidate's competency in designing a relational-to-NoSQL migration pipeline, covering distributed systems and data engineering concepts such as consistent snapshotting, change-data-capture, per-key ordering, idempotency, exactly-once behavior, schema evolution, partitioning, and operational reliability.
Design a system to migrate data from a relational database to a NoSQL key-value store. Implement a one-time consistent snapshot that converts each row into a {primary_key: value} JSON, then continue with change data capture (CDC) via the write-ahead log to capture updates. Explain snapshot consistency, ordering with CDC, idempotency, exactly-once semantics across replays, schema evolution, backfill catch-up, and failure recovery. Include queueing, partitioning, and monitoring.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.