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