Как сделать срез данных с базы данных, которая находится в production?

Предположим, есть структура БД.

Сотни таблиц, ключей, десятки индексов и т.п. Важно, что структура БД в окружении разработки и в production одинакова (достигаем этого миграциями).

Данные:
В production базе 100 ГБ данных. Слишком много, чтобы сделать дамп и дать разработчику для разработки, но вести разработку необходимо на реальных данных (я знаю про библиотеки генерации фейковых данных, вопрос не в этом).

Как выполнить срез (или как это грамотно назвать) небольшого кусочка (допустим, в 50 мб) данных для разработки, при этом сохранить все внешние ключи и целостность данных?
  • Вопрос задан
  • 1201 просмотр
Пригласить эксперта
Ответы на вопрос 3
@Ambrosian
  1. снапшоты файловой системы
  2. репликация базы данных

Ответ написан
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Делаете дамп из двух кусков: основная часть без здоровых таблиц + выборка данных из здоровых таблиц. Накатываете 1, затем 2.

Вообще, для таких целей отлично подходит партиционирование - при переносе просто не дампите всё подряд, а только тот набор, который вас устраивает по полноте/размеру.
Ответ написан
Комментировать
Kwisatz
@Kwisatz
Больше web-приложений, хороших и разных
А что не так со 100 гб дампом? Как раз есть шанс что на объеме не будет идиотских запросов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы