Странно, что там возможно сжатие. Позже попробую написать селект для оценки.
2009/12/1 spleenjack <[email protected]>: > У maxmind база по России точно хуже. > Насчет мелких блоков, которые сильно не связаны географически с внешним > большим - думаю, это нормально. Видимо когда-то были выделены большие > диапазоны, потом начало не хватать, ну и наделили как смогли. > > Есть еще предложения: > - сделать возможность сжатия следующих друг за другом диапазонов одного и > того же региона (например, 1-4 + 5-8 + 9 + 10-20 = 1-20) > - хранение сжатой базы в памяти в таком виде, чтобы можно было быстро найти > вхождение ip в нужный диапазон (можно как раз с индексом, который ранее был > описан, или подобрать какое-нибудь подходящий алгоритм) > > ЗЫ: Кстати, я тогда это сжатие реализовал. Как сильно уменьшилось кол-во > записей не могу сказать, но если посмотреть на данные - соседей там очень > много, должен хороший выигрыш получится. > > Ruslan Zakirov пишет: >> >> Привет, >> >> Поискал вчера пересечения. Да, есть они там и их относительно не >> много. Вернее так. Есть несколько больших блоков, которые относятся к >> целым регионам, но некоторые мелкие блоки внутри находятся по данным в >> другой части страны. Странно все это. Можно попытаться сравнить данные >> с maxmind'ом и оценить разницу, но это отдельная задача для тех, кто >> нуждается в абсолютно точной локации. >> >> 2009/11/29 spleenjack <[email protected]>: >>> >>> Год назад прикручивал гео-локацию с использованием этой базы. Долго >>> ковырялся с форматом и с самими данными. >>> >>> Выяснилось, что там много неконсистентности, пропусков и ошибок с >>> наложением >>> диапазонов. Например, диапазон 1-10 отмечен как Москва, и далее идет три >>> поддиапазона: 3-5 на Владивосток, 5-7 на Питер, 9 на Тверь. Здесь >>> перекрытие >>> 5-ки (непонятно, куда именно она относится), нет поддиапазонов для 1-2, 8 >>> и >>> 10. >>> >>> А так как каждый ip нужно было определять быстро и однозначно, пришлось >>> такие ошибки отлавливать, правильно разбивать вложенные диапазоны, >>> отлавливать дырки и прочее. (Плюс была причина в связке с украинскими >>> диапазонами, взятыми из базы от maxmind, но это в принципе неважно). >>> >>> Может такие заморочки и не нужны вовсе, да и база сама наверняка уже >>> стала >>> точнее и правильнее. Так, а я вообще к чему все это?.. :) Либа может >>> такие >>> непонятки отлавливать? >>> >>> Ruslan Zakirov пишет: >>>> >>>> Всем привет, >>>> >>>> Недавно мы обсуждали определение положения по IP адресу. Мне >>>> посоветовали БД от http://ipgeobase.ru. >>>> >>>> Я рад, что существует такой ресурс. Был немного удивлен примерами кода >>>> и очень удивлен структурой БД. Код на perl страшен, достаточно сделать >>>> для него perltidy и он уже становится читабельный. Алгоритм тоже не >>>> сахар, но это издержки структуры файла. Переключение на указание >>>> смещения вместо номеров строк, позволит сделать быстрый поиск прямо из >>>> файлов без полного сканирования или загрузки их в память. >>>> >>>> В итоге решил отказаться от работы с файлами и заливать все в табличку >>>> БД. Написал скрипт обновления БД и модуль для работы. Пока не на >>>> CPANе, но если не будет конструктивной критики и успешно уйдет в >>>> продакшн, то залью на цпан и в гитхаб. > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > -- Best regards, Ruslan. -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
