One thing I've noticed that in the medium term of a software service (2-5 years) is that your software should have the ability to do double-writes to and flip reads between two different datastores.
That will afford migration with as close to transparent migration with as reduced a downtime or no downtime.