2010-07-29 3 views
2

Какой лучший механизм хранения (с точки зрения базы данных, которая будет использоваться и система для хранения всех записей) для системы, созданной для отслеживания записи whois? Программа будет запускаться один раз в день, и трек должен быть сохранен в отношении того, что было предыдущим значением и каково новое значение.Система отслеживания изменений в записях whois

Предложение по базе данных и мысль о том, как хранить различные записи/поля, так что данные не лишние/дублируются


(Добавлено) Мои мысли на одном механизм для хранения данных

Примера случая показывая продажа одного домена «sample.com» от Persona к personB на 1/1/2010

Table_DomainNames 
DomainId | DomainName 
1   example.com 
2   sample.com 

Table_ChangeTrack 
DomainId | DateTime | RegistrarId | RegistrantId | (others) 
2   1/1/2009   1    1 
2   1/1/2010   2    2 

Table_Registrars 
RegistrarId | RegistrarName 
1    GoDaddy 
2    1&1 

Table_Registrants 
RegistrantId | RegistrantName 
1    PersonA 
2    PersonB 

Все таблицы «добавить только». Имеет ли смысл эта модель? Таблица_ChangeTrack должна быть «добавлена» только тогда, когда есть какие-либо изменения в ЛЮБОЙ из контролируемых полей.

Есть ли способ сделать это более эффективным/более плотным с точки зрения размера?

ответ

2

Первичные данные - это наличие или изменение записей whois. Это говорит о том, что ваша основная таблица будет:

<id, domain, effective_date, detail_id> 

где detail_id указывает на фактических данных WHOIS, вероятно, нормированная себя:

<detail_id, registrar_id, admin_id, tech_id, ...> 

Но обратите внимание, что большинство регистраторов рассмотреть информацию о своей собственности (будь то или нет) и есть предупреждения, как:

УСЛОВИЯ ИСПОЛЬЗОВАНИЯ: Вы не авторизованы для доступа или запросить нашу базу данных Whois через и- се электронных процессов, которые в больших объемах и автоматизирован, за исключением разумно необходимо зарегистрировать доменные имена или изменения существующих регистраций ...

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

+0

У меня есть разрешения на ограниченное автоматическое использование их системы ...Вместо того, чтобы хранить его «detail_id», не было бы более эффективным хранить его одним из значений «X» для registrar_id, admin_id и т. Д., Где эти числа взяты из другой таблицы. например: table_registrar (registrar_id, registrar_name)? – DrMHC

+0

Я не уверен, что понимаю ваш комментарий. Доменное имя является первичным ключом, и вся информация подчинена (зависит от) этого ключа. Поскольку возможно изменение имени регистратора (?) Для имени домена для изменения регистратора, структура, которую я изложил, делает третий нормальный смысл, где будет много ссылок на registrar_id, admin_id будет равно tech_id и т. Д. – msw

+0

Umm ... добавление информации в главный вопрос, чтобы лучше объяснить – DrMHC

0

Вы могли

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

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

0

вы можете написать vbscript в файле excel, чтобы выйти и запросить веб-страницу (в данном случае конкретный URL-адрес whois для определенного сайта), а затем сохранить результаты на листе в excel.

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