<div>Это не значит, что загрузка в память не подходит, это значит, что производительность не имеет значения :)</div><div>Понятно.</div><br clear="all">-- <br>Alex Kapranoff.<br>
<br><br><div class="gmail_quote">2009/12/1 Ruslan Zakirov <span dir="ltr"><<a href="mailto:ruslan.zakirov@gmail.com">ruslan.zakirov@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Локация - непрофильная задача. Один поиск на всю жизнь объекта. Итого<br>
несколько десятков поисков в сутки.<br>
<div><div></div><div class="h5"><br>
2009/12/1 Alex Kapranoff <<a href="mailto:kapranoff@gmail.com">kapranoff@gmail.com</a>>:<br>
> 2009/12/1 Ruslan Zakirov <<a href="mailto:ruslan.zakirov@gmail.com">ruslan.zakirov@gmail.com</a>><br>
>><br>
>> Мне не подходит загрузка всех данных в память.<br>
><br>
> А почему?<br>
><br>
>><br>
>> 2009/12/1 Alex Kapranoff <<a href="mailto:kapranoff@gmail.com">kapranoff@gmail.com</a>>:<br>
>> > Кстати, nginx внутри себя для работы с большими списками ip-диапазонов<br>
>> > использует Radix tree. Никакой базы не надо, сложность поиска — максимум<br>
>> > 32<br>
>> > операции (O(32), хыхы). Реализуется за 20 минут. Или с цпана берётся<br>
>> > Net::Patricia.<br>
>> > --<br>
>> > Alex Kapranoff.<br>
>> ><br>
>> ><br>
>> > 2009/11/29 Ruslan Zakirov <<a href="mailto:ruz@bestpractical.com">ruz@bestpractical.com</a>><br>
>> >><br>
>> >> Всем привет,<br>
>> >><br>
>> >> Недавно мы обсуждали определение положения по IP адресу. Мне<br>
>> >> посоветовали БД от <a href="http://ipgeobase.ru" target="_blank">http://ipgeobase.ru</a>.<br>
>> >><br>
>> >> Я рад, что существует такой ресурс. Был немного удивлен примерами кода<br>
>> >> и очень удивлен структурой БД. Код на perl страшен, достаточно сделать<br>
>> >> для него perltidy и он уже становится читабельный. Алгоритм тоже не<br>
>> >> сахар, но это издержки структуры файла. Переключение на указание<br>
>> >> смещения вместо номеров строк, позволит сделать быстрый поиск прямо из<br>
>> >> файлов без полного сканирования или загрузки их в память.<br>
>> >><br>
>> >> В итоге решил отказаться от работы с файлами и заливать все в табличку<br>
>> >> БД. Написал скрипт обновления БД и модуль для работы. Пока не на<br>
>> >> CPANе, но если не будет конструктивной критики и успешно уйдет в<br>
>> >> продакшн, то залью на цпан и в гитхаб.<br>
>> >><br>
>> >> --<br>
>> >> Веселой гео локации, Руслан.<br>
>> >><br>
>> >> --<br>
>> >> Moscow.pm mailing list<br>
>> >> <a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
>> >><br>
>> ><br>
>> ><br>
>> > --<br>
>> > Moscow.pm mailing list<br>
>> > <a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
>> ><br>
>> ><br>
>><br>
>><br>
>><br>
>> --<br>
>> Best regards, Ruslan.<br>
>> --<br>
>> Moscow.pm mailing list<br>
>> <a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
><br>
><br>
> --<br>
> Moscow.pm mailing list<br>
> <a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
><br>
><br>
<br>
<br>
<br>
--<br>
Best regards, Ruslan.<br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></div><br>