<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">&lt;<a href="mailto:ruslan.zakirov@gmail.com">ruslan.zakirov@gmail.com</a>&gt;</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 &lt;<a href="mailto:kapranoff@gmail.com">kapranoff@gmail.com</a>&gt;:<br>
&gt; 2009/12/1 Ruslan Zakirov &lt;<a href="mailto:ruslan.zakirov@gmail.com">ruslan.zakirov@gmail.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; Мне не подходит загрузка всех данных в память.<br>
&gt;<br>
&gt; А почему?<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2009/12/1 Alex Kapranoff &lt;<a href="mailto:kapranoff@gmail.com">kapranoff@gmail.com</a>&gt;:<br>
&gt;&gt; &gt; Кстати, nginx внутри себя для работы с большими списками ip-диапазонов<br>
&gt;&gt; &gt; использует Radix tree. Никакой базы не надо, сложность поиска — максимум<br>
&gt;&gt; &gt; 32<br>
&gt;&gt; &gt; операции (O(32), хыхы). Реализуется за 20 минут. Или с цпана берётся<br>
&gt;&gt; &gt; Net::Patricia.<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; Alex Kapranoff.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; 2009/11/29 Ruslan Zakirov &lt;<a href="mailto:ruz@bestpractical.com">ruz@bestpractical.com</a>&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Всем привет,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Недавно мы обсуждали определение положения по IP адресу. Мне<br>
&gt;&gt; &gt;&gt; посоветовали БД от <a href="http://ipgeobase.ru" target="_blank">http://ipgeobase.ru</a>.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Я рад, что существует такой ресурс. Был немного удивлен примерами кода<br>
&gt;&gt; &gt;&gt; и очень удивлен структурой БД. Код на perl страшен, достаточно сделать<br>
&gt;&gt; &gt;&gt; для него perltidy и он уже становится читабельный. Алгоритм тоже не<br>
&gt;&gt; &gt;&gt; сахар, но это издержки структуры файла. Переключение на указание<br>
&gt;&gt; &gt;&gt; смещения вместо номеров строк, позволит сделать быстрый поиск прямо из<br>
&gt;&gt; &gt;&gt; файлов без полного сканирования или загрузки их в память.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; В итоге решил отказаться от работы с файлами и заливать все в табличку<br>
&gt;&gt; &gt;&gt; БД. Написал скрипт обновления БД и модуль для работы. Пока не на<br>
&gt;&gt; &gt;&gt; CPANе, но если не будет конструктивной критики и успешно уйдет в<br>
&gt;&gt; &gt;&gt; продакшн, то залью на цпан и в гитхаб.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; --<br>
&gt;&gt; &gt;&gt; Веселой гео локации, Руслан.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; --<br>
&gt;&gt; &gt;&gt; Moscow.pm mailing list<br>
&gt;&gt; &gt;&gt; <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>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; Moscow.pm mailing list<br>
&gt;&gt; &gt; <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>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Best regards, Ruslan.<br>
&gt;&gt; --<br>
&gt;&gt; Moscow.pm mailing list<br>
&gt;&gt; <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>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Moscow.pm mailing list<br>
&gt; <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>
&gt;<br>
&gt;<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>