2013-10-20 1 views
0

У меня возникла проблема, с которой мне может помочь кто-то, кто здесь может помочь.Генерация и ввод данных в день

Я работаю в компании бизнес-аналитики, и я хотел бы моделировать весь цикл использования нашего продукта так, как его клиенты используют.

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

Я хотел бы автоматически создать около 20 миллионов записей и вставить их в базу данных каждый день (вероятно, MSSQL).

Следует отметить, что количество записей должно меняться со дня на день от 15 до 25 миллионов. Помимо этого, данные должны быть вставлены в 6 таблиц, связанных с внешними ключами.

Я обычно использую генератор SQL Redgate для создания данных, но насколько я могу судить, это хорошо для генерации данных времени, а не для генерации данных, которые я ищу.

Если кто-нибудь знает о методах/инструментах, адекватных этой ситуации, пожалуйста, дайте мне знать. Спасибо!

+0

Вы не можете запустить его как задание 'cron' (Linux/Unix) или запланированное задание (Windows)? –

+0

Я мог бы, но есть 2 проблемы. Во-первых, использование планировщика в Windows означает запуск SQL-генератора из командной строки и ежедневное добавление большего количества строк в базу данных (это на самом деле хорошо ..). Проблема в том, что генератор не проверяет ограничение первичного ключа и каждый день создает одни и те же первичные ключи. Во-вторых, я не знаю, как установить количество строк, созданных каждый день, случайным образом через командную строку. – user2885457

+0

Создайте те же PKs .. gack! Должен быть способ правильно работать с продуктом, генерация ПК - это требование № 1 для вставки данных. Что касается рандомизации числа строк, я не вижу, что на самом деле существенно влияет на обработку или результаты? Итак, тонкость, а не необходимость. –

ответ

0

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

Например, см Runtime.exec():

Вы можете запустить программу в качестве запланированной задачи или cron работы.

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