2 ms·
I've done several database migrations, and it's true, but not because the data is hard to extract. It's moderately easy to dump out CSV or JSON files to S3 and
by drunkpotato 6y ago
I've done several database migrations, and it's true, but not because the data is hard to extract. It's moderately easy to dump out CSV or JSON files to S3 and load them back in to another database (only moderately because you have to deal with fiddly encoding issues). So in that sense the data is easily extracted. Tools like AWS Data Migration Services, while not perfect, can also make this a lot easier.
However, at least three issues make a database migration non-trivial:
1. Custom data types that have to be replicated somehow in the new database; this usually involves figuring out how to parse the output representation in a sensible way.
2. User-defined triggers and functions, or custom database features, that may not be available on the new database.
3. There is usually a lot of infrastructure built on top of a database that can be hard to switch over, like if you've used roles substantially in Postgres for access control. Not to mention any business intelligence tool built on it that tends to have a lot of hand-rolled SQL. For example, Periscope can be database-agnostic, but any queries you write might be customized for one particular database vendor.
So in my view, it's not really data concerns (except case 1); there are a lot of operational concerns that make database migrations hard.
- steven_pack 6y ago4. Egress costs from the clouds are non-trivial for large datasets. So now you're locked into both your db and your cloud.