[Moscow.pm] Алтернатива subnet_matcher

PEF Secure pef-secure на yandex.ru
Вс Апр 5 05:39:44 PDT 2015


On Sunday, April 05, 2015 11:26:30 Nick Knutov wrote:
> Да, это стандартное решение (только, скорее, первый и последний ип и
> дальше запрос с between).

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

> Но в случае, если засунуть это в мускль - не хватает производительности.
> С sqlite ещё хуже (и нужна параллельность).

Ну раз у мускуля не хватает производительности, то лучше им не пользоваться :) 
По поводу мускуля я вообще скептичен. Перейдя 6 лет назад на постгрес, 
постоянно себя мысленно нахваливаю. Впрочем, конкретно за этот запрос не могу 
сказать, у меня нет Ваших данных.

> Вы знаете какой-то модуль, который позволил бы держать всё это в памяти
> перл скрипта и делать запросы с between или >= and <= средствами перла?

Мне приходилось решать похожую задачу несколько раз, но у меня не было каких-
то особых требований к скорости, меня устраивал любой модуль, реализующий 
доступ к структуре дерева и все данные были условно статические. Один раз всё 
просто лежало в упорядоченном массиве и я делал там бинарный поиски по 
числовому значению айпи, чтобы найти минимальное значение не меньшее 
заданного. В другой раз пользовался модулем Tree::RB. 
-- 
PEF Developer


Подробная информация о списке рассылки Moscow-pm