Скрипты или утилиты для сбора подмножества данных для разработки - PullRequest
2 голосов
/ 17 февраля 2010

Мы наследуем проект на работе из другого закрытого офиса. Производственная база данных составляет около 150 ГБ, и мы стараемся не копировать ее на 4 машины разработчика для работы. Существуют ли какие-либо сценарии, утилиты или предложения о том, как мы можем собирать небольшое подмножество этих данных, скажем, 5%, для работы в процессе разработки при сохранении целостности отношений, таблиц ключей и т. Д.?

Я предполагаю, что под последней частью я подразумеваю, что если бы у меня была таблица заказов в 500 строк и я взял случайную выборку из 25 строк, мне нужно было бы убедиться, что 5% продуктов, которые я взял из таблицы продуктов включены любые продукты, необходимые для выполнения этих заказов ..... превышающие 5% при необходимости.

Надеюсь, я объяснил это достаточно хорошо. У кого-нибудь есть мысли?

Ответы [ 2 ]

1 голос
/ 17 февраля 2010

Полагаю, первым шагом было бы наметить, каковы зависимости / отношения между таблицами, и как найти все зависимости данной строки в данной таблице.

После того, как вы это сделали, вы можете просто взять случайную выборку из одной из ваших таблиц высокого уровня (например, «Клиенты») и рекурсивно извлечь любые зависимые строки из зависимых таблиц.

Промойте и повторите для всех таблиц, которые не отображаются в "иерархии зависимостей" для первой выбранной вами таблицы, пока у вас не будет выборка из всех таблиц.

Конечно, не будет общего сценария для этого, но я бы сказал, что время, потраченное на отображение зависимостей в базе данных таким способом, - это время, потраченное на понимание структуры базы данных.

<ч />

Tbh Я бы, вероятно, вместо этого сделал бы обратное - очистить базу данных и добавить записи в соответствующие таблицы, если вы сочтете это необходимым. На самом деле разработчикам не нужно всегда работать с репрезентативной выборкой данных, и на самом деле вы всегда должны регулярно проверять полную выборку данных, на случай, если 95% в оставшейся базе данных содержатся строки, вызывающие проблемы.

1 голос
/ 17 февраля 2010

Имея риск походить на сутенера для продуктов сторонних производителей, задумывались ли вы об использовании такого продукта, как Hyperbac? Это позволяет вам восстановить базу данных на вашем компьютере разработчика, но сжатым, но производительным способом.

Вероятно, наиболее актуальным является Hyperbac Online:

http://www.hyperbac.com/online/overview.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...