На этой неделе в офисе у нас начались здоровые дебаты. Мы создаем Db для хранения информации прокси, в большинстве случаев мы разработали схему, за исключением того, как мы должны хранить IP-адреса. Один лагерь хочет использовать 4 маленьких ключа, по одному для каждого октета, а другой хочет использовать 1 большой int, INET_ATON.
Эти таблицы будут огромными, поэтому производительность является ключевой. Я здесь посередине, так как я обычно использую MS SQL и 4 маленьких ints в моем мире. У меня недостаточно опыта с этим типом хранения IP-адресов.
Мы будем использовать скрипты perl и python для доступа к базе данных для дальнейшей нормализации данных в нескольких других таблицах для ведущих участников, интересного трафика и т.д.
Я уверен, что в сообществе есть некоторые, которые сделали что-то похожее на то, что мы делаем, и мне интересно узнать о их опыте и о том, какой маршрут лучше, 1 большой int или 4 небольших интервала для IP-адресов.
EDIT. Одна из наших проблем - пространство, эта база данных будет огромной, как в 500 000 000 записей в день. Поэтому мы пытаемся взвесить проблему пространства вместе с проблемой производительности.
РЕДАКТИРОВАТЬ 2. Некоторые из разговоров перешли к объему данных, которые мы собираемся хранить... это не мой вопрос. Вопрос в том, является ли предпочтительным способом хранения IP-адреса и почему. Как я уже сказал в своих комментариях, мы работаем для большой компании из 50 компаний. Наши файлы журналов содержат данные об использовании наших пользователей. Эти данные, в свою очередь, будут использоваться в контексте безопасности для управления некоторыми показателями и для управления несколькими инструментами безопасности.