Как мне перенести определенные данные (возвращенные простым запросом) из одной базы данных в AWS RDS в другую?
Допускается, но не рекомендуется, перерыв до 20 минут.
Мой текущий план - использовать Sequel Pro для выполнения экспорта, а затем импортировать его в целевую базу данных, но мне интересно, есть ли лучший способ сделать это.
Кстати: база данных - это в основном InnoDB и некоторые таблицы MyISAM.
Ваш вопрос далеко не ясен, но если я правильно его интерпретирую, самым простым методом является использование select into
query, который вставляет результаты запроса в таблицу, которая затем может быть скопирована в целевую систему с помощью dump и load или реплицирована в соответствии с предложением coredump.
Эта ветка немного устарела. AWS теперь предлагает для этой цели продукт Data Pipeline. Однако у меня была такая же необходимость регулярно перемещать частичные данные из одной БД в другую (разные серверы RDS). Подход, который я использовал, заключался в создании задания cron, размещенного на Iron.io. Сервис также работает на AWS US East, поэтому задержки в сети не так велики. Подключитесь к одному серверу, возьмите свои данные и отформатируйте их. Затем подключитесь к другому серверу и обновите. Вы можете запускать задания с Iron Worker каждые 5 минут.
Единственный способ, который я могу придумать для перемещения данных с одного сервера RDS на другой, - это выполнить mysqldump для таблицы из исходного экземпляра MySQL RDS. Затем загрузите таблицу в целевой экземпляр MySQL RDS.
Согласно Документация по AWS RDS в Data Transfer
Приведенные ниже цены основаны на данных, передаваемых «в» и «из» Amazon RDS.
Region: (Pricing Varies Between Regions, Shown is North Virgina Pricing)
Pricing
Data Transfer IN
All data transfer in $0.000 per GB
Data Transfer OUT***
First 1 GB / month $0.000 per GB
Up to 10 TB / month $0.120 per GB
Next 40 TB / month $0.090 per GB
Next 100 TB / month $0.070 per GB
Next 350 TB / month $0.050 per GB
Next 524 TB / month Contact Us
Next 4 PB / month Contact Us
Greater than 5 PB / month Contact Us
Сноски
**
В рамках уровня бесплатного использования AWS новые клиенты AWS получат бесплатно 15 ГБ передаваемых данных каждый месяц, агрегированных по всем сервисам AWS, в течение одного года.***
Уровни тарифов учитывают ваше совокупное использование исходящей передачи данных в Amazon EC2, Amazon S3, Amazon RDS, Amazon SimpleDB, Amazon SQS, Amazon SNS, AWS Storage Gateway, Amazon DynamoDB и Amazon VPC.Если они обе являются базами данных MySQL, то, возможно, вы могли бы использовать механизм объединения (который облегчает доступ к базам данных на удаленных серверах) для обновления удаленной базы данных с помощью запланированной задачи для обновления так часто, как требуется.
Не можете настроить репликацию? Это был бы более безопасный / быстрый способ сделать это, но я не уверен, что вы можете реплицировать только определенные запросы (хотя вы можете сделать это с определенными базами данных)