Кстати, nginx внутри себя для работы с большими списками ip-диапазонов использует Radix tree. Никакой базы не надо, сложность поиска — максимум 32 операции (O(32), хыхы). Реализуется за 20 минут. Или с цпана берётся Net::Patricia.
-- Alex Kapranoff. 2009/11/29 Ruslan Zakirov <[email protected]> > Всем привет, > > Недавно мы обсуждали определение положения по IP адресу. Мне > посоветовали БД от http://ipgeobase.ru. > > Я рад, что существует такой ресурс. Был немного удивлен примерами кода > и очень удивлен структурой БД. Код на perl страшен, достаточно сделать > для него perltidy и он уже становится читабельный. Алгоритм тоже не > сахар, но это издержки структуры файла. Переключение на указание > смещения вместо номеров строк, позволит сделать быстрый поиск прямо из > файлов без полного сканирования или загрузки их в память. > > В итоге решил отказаться от работы с файлами и заливать все в табличку > БД. Написал скрипт обновления БД и модуль для работы. Пока не на > CPANе, но если не будет конструктивной критики и успешно уйдет в > продакшн, то залью на цпан и в гитхаб. > > -- > Веселой гео локации, Руслан. > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
