We're doing nearly the exact same approach in my office out of necessity.
We "allowed" small amounts of downtime previously (say 10-15 minutes at a time for migrations), but over the last year as our customer base has expanded, the window has shrunk smaller and smaller as to avoid service disruptions.
We're now at a stage where downtime is effectively not allowed anymore, so we've taken to this approach (make a new table, dual write new records, then write all the old records, remove references to the old table) to mitigate our downtime.
It's nice to know that other companies have taken this approach as well, my team honestly didn't know if we were doing it "properly" or not (if there is such a thing as properly)
If I recall correctly, it has to be done in cold-ish water! Warm water above a certain temperature doesn't invoke the dive reflex (I think we used water at 10 degrees Celcius for the experiment), although I'd have to read up on my experiment again to be sure.
Did an experiment on the dive reflex as part of an undergrad course in university; hooked up a student (volunteered and willing of course)to a heart monitor and put their face in a bowl of water.
Heart rate plummeted from 72 BPM (resting) down to 39. It was pretty cool to see
We "allowed" small amounts of downtime previously (say 10-15 minutes at a time for migrations), but over the last year as our customer base has expanded, the window has shrunk smaller and smaller as to avoid service disruptions.
We're now at a stage where downtime is effectively not allowed anymore, so we've taken to this approach (make a new table, dual write new records, then write all the old records, remove references to the old table) to mitigate our downtime.
It's nice to know that other companies have taken this approach as well, my team honestly didn't know if we were doing it "properly" or not (if there is such a thing as properly)