2010-06-19 3 views
0

У меня есть несколько больших рабочих таблиц MySQL, которые мне нужно сбрасывать, чтобы я мог выполнять некоторые анализы в Hadoop. Какие лучшие практики я должен знать о создании дампов и запросов к базам данных производства? Нужно ли беспокоиться о влиянии производительности, если я просто делаю дампы/чтения (и не пишет)?Запрос и создание дампов производственных баз данных

ответ

1

Да, вам нужно беспокоиться об этом. Таблицы MyISAM будут блокироваться при чтении, без каких-либо изменений, только другие чтения. У InnoDB нет этой проблемы, но она будет заблокирована, если вы запрашиваете большие массивы данных. Дампы будут блокировать любой тип таблицы почти во всех случаях.

Что обычно делается, вы настраиваете базу подчиненных и выполняете все ваши запросы. Даже настройте ведомого только для целей отчетности. Вам нужно будет остановить сервер MySQL для настройки конфигурации ведущий/ведомый. Но как только вы это сделаете один раз, вы можете использовать ведомый для создания других подчиненных.

1

Это зависит от размера базы данных и настройки репликации.

Оптимальная настройка (мнение) заключается в том, чтобы иметь ведущий, который постоянно пишет подчиненное устройство (которое в противном случае доступно только для чтения). Таким образом, вы можете запустить mysqldump на самом подчиненном устройстве, а производственные приложения могут продолжать писать мастеру, не беспокоясь о том, что mysqldump мешает.

Отказ от ответственности: Я - любитель MySQL, а не администратор базы данных. Зерно соли и т. Д.

+0

Мы используем его в производстве примерно с года, и это спасло нам довольно много ежедневного простоя (10 минут!). – Wrikken

Смежные вопросы