powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / проектирование бд для хранения многопараметровых данных
18 сообщений из 18, страница 1 из 1
проектирование бд для хранения многопараметровых данных
    #36506222
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужно хранить whois данные вида:

domain: SQL.RU
nserver: ns01.parking.ru.
nserver: ns11.parking.ru.
state: REGISTERED, DELEGATED, VERIFIED
person: Alex V Sibilev
phone: +7916
e-mail: admin@sql.ru
registrar
: RUCENTER-REG-RIPN
created: 2000.03.20
paid-till: 2010.04.01
source: TCI

помимо хранения нужна будет обработка данных, например выборка по "person"
как лучше организовать структуру хранения?
чем грозит тупо все забить в text и делать выборку по LIKE fulltext index?
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506309
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> как лучше организовать структуру хранения?

Читайте стандарты, изучайте практику регистраторов. Иерархия проста: корневые DNS -> универсальные и национальные регистраторы -> все остальные.

> чем грозит тупо все забить в text

Из кучи мусора данные тоже можно извлекать. Если задача допускает мусор вместо данных - ничем не грозит.
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506507
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621
Читайте стандарты, изучайте практику регистраторов. Иерархия проста: корневые DNS -> универсальные и национальные регистраторы -> все остальные.


=)
как это "изучайте практику регистраторов"?
они нигде такую информацию не выкладывают

guest_20040621
Из кучи мусора данные тоже можно извлекать. Если задача допускает мусор вместо данных - ничем не грозит.

в приведенном примере мусора абсолютно нет, есть несистематизированные данные, систематизировать которые и необходимо с помощью правильно спроектированной базы

на данный момент имеется две таблицы:
id domain1SQL.RU2MYSQL.RU

id whois1domain: SQL.RU\nnserver: ns01.parking.ru.\nnserver: ns11.parking.ru.....2domain: MYSQL.RU\nnserver: ns1.virtualhost.ru.\nnserver: ns2.virtualhost.ru....

это работает, и например поиск по WHERE LIKE %virtualhost.ru% тоже работает, но хотелось бы сделать "правильнее"
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506552
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> они нигде такую информацию не выкладывают

;) Так если бы они раздавали свои базы данных, вашего вопроса бы не было. Воспользуйтесь whois сервисами разных регистраторов и сравните полученные результаты с RFC 1834. Также полезно будет изучение Bind и его конфигурационных файлов.

> в приведенном примере мусора абсолютно нет

Есть. Причем, куча мусора.

> систематизировать которые и необходимо с помощью правильно спроектированной базы

Ваша структура будет определяться способом использования базы данных. А именно - способом отражения изменений данных. Расскажите, как вы собираетесь регистрировать изменения и изменение каких данных наиболее критично.
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506590
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621
Ваша структура будет определяться способом использования базы данных. А именно - способом отражения изменений данных. Расскажите, как вы собираетесь регистрировать изменения и изменение каких данных наиболее критично.

поиск по базе и отображение изменений
если что-то в хуизе было изменено, то вносится новая запись, старая остается прежней
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506633
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> если что-то в хуизе было изменено, то вносится новая запись, старая остается прежней

Понятно, что старая остается прежней. Вопрос не в этом. Скажем, нужны запросы типа "какие домены сменили хостеров за промежуток времени T"? Если нужны, то придется выделять и группировать нейм-серверы. Если сложные запросы не нужны, можно просто взять домен и последовательно писать ответы сервера.
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506643
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621
Понятно, что старая остается прежней. Вопрос не в этом. Скажем, нужны запросы типа "какие домены сменили хостеров за промежуток времени T"? Если нужны, то придется выделять и группировать нейм-серверы. Если сложные запросы не нужны, можно просто взять домен и последовательно писать ответы сервера.

ну да, примерно такое и нужно в перспективном идеале, но данная задача представляется созданием отдельных таблиц под каждый параметр например nserver, person, phone

nserver
idnserver1ns01.parking.ru.2ns11.parking.ru.3ns1.virtualhost.ru.

phone
idphone1+79162+74950000000

тоесть в итоге получается чтоб получить хуиз домена, надо сделать выборку из каждой таблицы по отдельности, например SELECT FROM nserver, person, phone...
я в правильном направлении двигаюсь или ошибочно?
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506660
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> в перспективном идеале

;) Забавная формулировка.

> данная задача представляется созданием отдельных таблиц под каждый параметр например nserver, person, phone

Можно и так.

> я в правильном направлении двигаюсь или ошибочно?

Хороший вопрос. Я не знаю постановки задачи, чтобы на него ответить. Вы хотите различать никнейм Вася Пупкин и Пупкин Вася? Вам нужна группировка по владельцу? Вы допускаете использование других источников данных, отличных от whois серверов?

Вообще, конечно, вместе с ответом нужно идентифицировать и whois сервер. Иначе получается, что вы знаете ответ на вопрос, но не знаете, кто ответил на этот вопрос.
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506664
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621
Хороший вопрос. Я не знаю постановки задачи, чтобы на него ответить. Вы хотите различать никнейм Вася Пупкин и Пупкин Вася? Вам нужна группировка по владельцу? Вы допускаете использование других источников данных, отличных от whois серверов?

Вообще, конечно, вместе с ответом нужно идентифицировать и whois сервер. Иначе получается, что вы знаете ответ на вопрос, но не знаете, кто ответил на этот вопрос.

whois сервер вот http://www.ripn.net:8080/nic/whois/
конкретно никнейм Вася Пупкин и Пупкин Вася одно и тоже - в большинстве случаев идентифицирует одного владельца (исключения бывают но это не критично)
да, группировка по владельцу и, или другим полям нужна
до других источников пока рано думать(?), надо организовать что есть на данный момент


ну хотя бы примерную структуру покажите :)
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506673
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> whois сервер вот

Если всегда будет один сервер, необходимости в идентификации нет. Если система будет расширена, идентификация потребуется.

> да, группировка по владельцу и, или другим полям нужна

Задача, насколько я понял, сводится к мониторингу изменений в доменах. Я бы поступил следующим образом: таблицы для каждой сущности в ответе сервера. Основная таблица - таблица доменов, остальные линкуются к ней с учетом даты ответа сервера (история изменений обсуждается здесь регулярно, поищите, есть конкретные варианты структуры). Полный ответ сервера я бы хранил для каждого изменения любой сущности. Логика примерно такая: получили ответ сервера, заполнили таблицы, храним этот ответ. Получили новый ответ сервера, сравнили со старым, если данные совпадают, выбрасываем его, если новые данные - добавляем соответствующие данные в таблицы, храним и старый ответ сервера, и новый, как основание для изменения данных.

> до других источников пока рано думать(?)

Вы спрашиваете? Это ваша задача, вам и решать.

> ну хотя бы примерную структуру покажите

Описал выше. Возможно, еще понадобятся технологические таблицы: график опроса сервера, статистика опросов и пр.
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506740
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621
Задача, насколько я понял, сводится к мониторингу изменений в доменах. Я бы поступил следующим образом: таблицы для каждой сущности в ответе сервера. Основная таблица - таблица доменов, остальные линкуются к ней с учетом даты ответа сервера (история изменений обсуждается здесь регулярно, поищите, есть конкретные варианты структуры). Полный ответ сервера я бы хранил для каждого изменения любой сущности. Логика примерно такая: получили ответ сервера, заполнили таблицы, храним этот ответ. Получили новый ответ сервера, сравнили со старым, если данные совпадают, выбрасываем его, если новые данные - добавляем соответствующие данные в таблицы, храним и старый ответ сервера, и новый, как основание для изменения данных.

да, все верно, задача сводится к мониторингу изменений в доменах
как быть например с полем nserver, их может быть и 2 и 6, как и несколько телефонов, как нормализовать такие данные?
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506748
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тоесть можно сделать еще доп. таблицу, например

domain_nserver
id_domain id_nserver111223

которая ссылается на
nserver
id_nserver nserver1 ns01.parking.ru.2 ns11.parking.ru.3 ns1.virtualhost.ru.
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506920
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> тоесть можно сделать еще доп. таблицу

Да, так и есть. Вы правильно оценили переход от разбора ответа к нормализации.

Off: если честно, не понимаю практической ценности разработки. Как часть, например, софтинки для мониторинга доступности доменов - да, необходимая компонента. Но тогда не очень логична привязка к конкретному серверу, поскольку нет никаких ограничений для размещения доменов в зоне .ru. Не поясните, если это не коммерческая тайна?
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506923
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> как нормализовать такие данные?

Обычное отношение 1:m посредством дополнительной таблицы.
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506945
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> тоесть можно сделать еще доп. таблицу

Да, так и есть. Вы правильно оценили переход от разбора ответа к нормализации.

Off: если честно, не понимаю практической ценности разработки. Как часть, например, софтинки для мониторинга доступности доменов - да, необходимая компонента. Но тогда не очень логична привязка к конкретному серверу, поскольку нет никаких ограничений для размещения доменов в зоне .ru. Не поясните, если это не коммерческая тайна?

практическая ценность - мониторинг владельцев и хостеров ру-доменов, подобных сервисов достаточно в инете, но иногда не хватает различных фишек в одном месте
stat.nic.ru
1stat.ru
stat.reg.ru
это не коммерческая разработка, скорее статистика "для себя"
так как я полный профан в программировании и понимании реляционных баз, интересно проектировать бд и поработать с быстродействием больших баз
в одной таблице уже более 30кк записей, через полгода станет 50кк
для мониторинга доступности доменов нужно много ресурсов, я пока не располагаю таковыми

не совсем понял, что имеется ввиду под "привязка к конкретному серверу", вроде нет никакой привязки
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506979
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> поработать с быстродействием больших баз

Возможно, разочарую, но это маленькая база данных.

> для мониторинга доступности доменов нужно много ресурсов, я пока не располагаю таковыми

Аренда виртуального сервера ~20 баксов в месяц, т. е. общие затраты невелики и практически линейно зависят от количества необходимых точек мониторинга.

> что имеется ввиду под "привязка к конкретному серверу", вроде нет никакой привязки

Ответы разных whois серверов могут отличаться. И качественно (разные сущности) и количественно.
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36506998
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621 > поработать с быстродействием больших баз

Возможно, разочарую, но это маленькая база данных.

> для мониторинга доступности доменов нужно много ресурсов, я пока не располагаю таковыми

Аренда виртуального сервера ~20 баксов в месяц, т. е. общие затраты невелики и практически линейно зависят от количества необходимых точек мониторинга.

> что имеется ввиду под "привязка к конкретному серверу", вроде нет никакой привязки

Ответы разных whois серверов могут отличаться. И качественно (разные сущности) и количественно.

whois база координационного центра росниирос первична и едина, если у кого-то данные отличаются это их проблема
...
Рейтинг: 0 / 0
проектирование бд для хранения многопараметровых данных
    #36507061
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> whois база координационного центра росниирос первична и едина, если у кого-то данные отличаются это их проблема

;) Как бы это сформулировать... видите ли, русскоязычный сегмент Сети - настолько малая величина, что в исследованиях Сети им можно пренебречь.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / проектирование бд для хранения многопараметровых данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]