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

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы