Экспорт снимка AWS RDS в GCP

У меня есть конвейер, который экспортирует автоматические резервные копии RDS в AWS S3. Экспортированная база данных — Postgres из стандартного кластера Aurora.

Я также подготовил задание на передачу со стороны GCP, которое копирует экспорт БД из S3 в Cloud Storage.

Мой вопрос: можно ли использовать эти резервные копии из облачного хранилища GCP и использовать их для развертывания базы данных Postgres на GCP? Если да, то какими услугами мне следует пользоваться? Должен ли я просто создать CloudSQL и восстановить БД из имеющихся у меня файлов? Возможно ли это использовать тот же формат, который был экспортирован из AWS, или мне нужно выполнить некоторые преобразования данных? Я думаю, есть еще вариант использования миграции базы данных? СплавДБ? Какому плану лучше всего следовать в этом случае?


281
1

Ответ:

Решено

Из Экспорт данных снимка БД в Amazon S3 — Amazon Relational Database Service:

При экспорте снимка БД Amazon RDS извлекает данные из снимка и сохраняет их в корзине Amazon S3. Данные хранятся в формате Apache Parquet, который является сжатым и согласованным.

Поэтому вам понадобится процесс, который сможет считывать файлы Parquet в базу данных GCP. Вам также потребуется создать таблицы, индексы и т. д. Это большая работа.

Поскольку вы используете PostgreSQL, самым простым способом будет использование pg_dump для извлечения данных. Формат экспорта — это настоящие команды SQL, которые можно запускать в другой базе данных PostgreSQL. При правильных параметрах файл дампа будет содержать команды для воссоздания исходных схем и таблиц, а также данные. Его можно загрузить, просто отправив файл дампа команде psql в принимающей базе данных.