MAG

Как быстро найти то, что никто не терял

Написал longman, 20 сентября 2010 года

Яйцо, курица — уже не важно

Как быстро найти то, что никто не терял — Блог 42! на Look At Me

Вечер пятницы. Яйцеголовый сидит у себя дома и немного грустит — никто не пригласил его на вечеринку.

Как и все яйцеголовые, он сразу решил найти причину этого и начал с самих основ своего происхождения. Он зашел в интернет и написал в своем любимом поисковике —

Он — увлекающаяся личность, поэтому вместо того, чтобы читать о проблеме, он обращает внимание на одну деталь —

В 2008 году Яйцеголовый прочитал, что в Интернете больше триллиона уникальных страниц. Значит сейчас наверняка уже все 10 триллионов, наверное! 

Как в этом можно что-то найти за четверть секунды? 

Именно поэтому Яйцеголового не пригласили на вечеринку — вместо того, чтобы разобраться в себе, он решил разобраться в поиске.

Яйцо, курица — уже не важно

10 000 000 000 000 — насколько это много?

Вот у вас есть очень хороший компьютер и он в секунду может просмотреть миллион страниц (у вас такого нет, но допустим есть). Знаете, сколько времени ему понадобится, чтобы просканировать 10 триллионов страниц?

Почти 4 месяца. То есть, поисковая система работает намного быстрее, чем ваш воображаемый крутой компьютер.

В новогоднюю ночь спрашиваете, 1 мая результаты поиска ждут вас. Все самое свежее из интернета.

Надеюсь, Яйцеголовый наткнется на эту статью до того, как прочитает кучу скучных штук про spiders, crawlers, PageRank и все в таком духе.

Как это работает

Решение, которое нашли компьютерщики, очень хорошо описывает как компьютеры, так и образ мысли компьютерщиков. Узнав, как думают компьютерщики, вы сможете лучше разобраться в них и надрать им зад в случае чего. Впрочем, последнее никогда и не было сложной задачей.

Итак, первое что нам пришло в голову и что обрабатывает запросы по 4 месяца. Компьютерщики называют такие решения «решение в лоб».


«Чтобы было быстрее», — думают компьютерщики, — «нам надо как-то сохранить весь Интернет на своем компьютере». Но перед ними встают две проблемы: первая очень серьезная, а вторая — так себе:

  1. Если скачивать весь интернет, то неизбежно нечаянно скачаешь детскую порнографию, а значит сервер могут конфисковать
  2. Нужно очень много места, в один компьютер весь интернет не поместится

Тогда компьютерщики надевают свои растянутые свитера, лохматят волосы, отращивают усы и идут на совещание. Где решают, что надо купить еще компьютеров.

Мало компьютеров — мало проблем

Не все проблемы можно решить количеством. Например, наняв 9 женщин вы не заставите их родить одного ребенка за 1 месяц.

С компьютерами полегче. Вот что придумывает главный компьютерщик по дороге на работу одним погожим апрельским утром:

  1. Разделить весь интернет на миллион частей
  2. Купить миллион компьютеров, чтобы каждый отвечал за свою часть, а о других ничего не знал
  3. Когда нам приходит запрос на поиск, передавать этот запрос миллиону наших компьютеров одновременно
  4. Обработать ответы от них можно очень быстро и показать результаты

Тогда это будет выглядеть так:


Значит на запрос Яйцеголового можно ответить за 10 секунд**! Это не так уж быстро, но по крайней мере не надо ждать 4 месяца.

Это опять работает пресловутый принцип «разделяй и властвуй», которым пропитаны все растянутые свитеры в мире. Другими словами, главный компьютерщик придумал вот что:

И таким образом компьютерщики создают распределенные системы.

Верните мои деньги! 10 секунд ОК, но обещали четверть секунды!

Дальнейшая оптимизация поисковой системы связана со всякими улучшениями. Не все из них интересные. Вот некоторые из них: нахождение и удаление дубликатов, локальный поиск, улучшение алгоритмов индексирования документов, кеширование результатов поиска. 

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

Но даже все, что я говорил до этого, не так просто. Как, например, разделить интернет на миллион частей? Он же не торт. 

Можно, например, чтобы один сервер искал по страницам с кошками, другой — с собаками, третий — с Леди Гагой. Но ведь интернет наполовину состоит из кошек и Леди Гаги, поэтому такое разбиение не подходит — все о кошках на один сервер не поместится.


    — Веселый способ распределения интернета по серверам. Других преимуществ у него нет.

Или думаете скачивание интернета — простая операция? Вот скачаете вы главную страницу Look At Me. Так завтра на ней уже новые посты будут. Значит надо скачивать интернет постоянно!

Но все это не очень важно. Понимание принципа разделения и властвования — уже большое преимущество в борьбе с компьютерщиками.

Компьютерщики масштабируются, а вы?

Допустим, в семье компьютерщиков два ребенка. Когда мама и папа уезжают в отпуск, они отдают одного ребенка одной бабушке, а другого — другой. «Да, эта схема масштабируется», — говорят они, проходя паспортный контроль на другом континенте.

А вы масштабируетесь? Есть идеи, как разделять и властвовать?

    * — изображение для поста Associated Press
    ** —
после первой минуты разговора без учета того факта, что мы скачали интернет — это на несколько порядков может увеличить скорость поиска
    *** — первой была курица

   See you!

Рейтинг
290
+ -
В избранное
Как быстро найти то, что никто не терял
Добавил longman, 20 сентября 2010 в 15:56
Пожаловаться

Интересные посты

Комментарии к посту «Как быстро найти то, что никто не терял» 38

janis_tjanis_t
20 сентября 2010 года в 16:02 #

Спасибо, как всегда интересно написано!

16
vit1vit1
20 сентября 2010 года в 16:10 #

подача завораживает

23
svensksvensk
20 сентября 2010 года в 16:43 #

The Ultimate Question of Life, the Universe, and Everything

отличненько)

0
sonnisonni
20 сентября 2010 года в 17:15 #

информативно и с юмором
автор молодец)

2
lok-n-rolllok-n-roll
20 сентября 2010 года в 18:04 #

и тут во всю эту красоту, выбив дверь ногой, врываются сеошники

4
timaktaevtimaktaev
20 сентября 2010 года в 18:05 #

цмацма, аж пальчики оближешь от ваших постов.

Когда я дозванивался на BBS через модем в 4200 бод, то там было все просто - либо я дозвонился (потому что компьютер, к которому я звоню включен), либо нет.

Как разделить 10-многонулей сайтов, чтобы ниче не грелось я не знаю. Но предлагаю просто сбавить обороты — 3-4 года назад скорость 1 мбит была пределом мечтаний, на 512 кб все сидели и не пикали. Когда я после 2 лет нахождения в сети на безлимитной скорости 5 мб по опр. причинам попал в страну, где больше лимитированного 1 мб люди и не знали меня страшно ломало. Страшно! Но сейчас ничего, привык.

Так вот может мы все так и привыкнем к тому, что не все должно летать со скоростью мысли, кроме как наши мысли? Ну или изобрести квази-компьютер, который будет только остывать от количества посланных запросов, м?

8
timaktaevtimaktaev
20 сентября 2010 года в 18:11 #

кстати, а почему Земля перевернута? - вы из австралии пишете? Крестики не могут выиграть, потому что они сделали на 2 хода больше, чем нолики.

Ученые привели еще одно утверждение, в теорию о первоначальности яйца и курицы — курица не могла терпеть и не рожать яйко в течении сотен тыщ лет, чтобы в ней образовался тот самый подходящий элемент скорлупы. То есть, либо яйцо в эволюционной форме еще не идеально и продолжает формироваться в курице-терпиле. Либо вообще надо напрочь забыть о первородности элементов ибо Пц!

6
morfindermorfinder
20 сентября 2010 года в 18:34 #

а по моему крестики выиграли законно (при условии, что крестики ходят первые)

3
timaktaevtimaktaev
20 сентября 2010 года в 22:58 #

ну если крестики первые, то да, тогда законно. По-моему ;Р

0
_i__i_
21 сентября 2010 года в 3:19 #

Ox, загнул!))) еще ученые говоря, что в яйцах есть флора! Стерильность ( в данном случае развития не имеет. Почему расходятся хромосомы, не уж-то Земное притяжение работает))))))

0
chokkolatechokkolate
20 сентября 2010 года в 18:32 #

Шикарные посты, но я иногда просто не могу понять, в чём заключается основная мысль.

14
timaktaevtimaktaev
20 сентября 2010 года в 22:59 #

неужели так трудно?

0
fjolfjol
20 сентября 2010 года в 19:48 #

вкусно очень-очень, только я опять не уловила смысла статьи. вам бы рассказы писать чтоли, истории выдумывать... а то который раз поражаюсь, как можно так радостно писать ни о чем

-9
longmanlongman
20 сентября 2010 года в 20:10 #

Эй! Это интернет, так между прочим новый мир устроен.
Может быть я опять перевдохновился, отвлекся, и это может быть моей виной. Но это не «ни о чем».
Это о том, как работает интернет, и о людях, которые его конструируют. Вот так, я принимаю удар на себя :-) А ценностей работы компьютерных ученых и архитекторов прошу не преуменьшать.

12
la_fawnduhla_fawnduh
20 сентября 2010 года в 20:37 #

вот про масштабирование вообще не поняла

6
emma13689emma13689
20 сентября 2010 года в 20:45 #

мало что поняла, но блин, о5 понравилось!))))
наверное Вы нашли свой гений)
например мне - средне-статистической 17-летней девушке - интересны ваши посты на любую тему, и я всегда по возможности буду их читать)
даже если не буду ничего понимать) главное, чтобы не закончились изюминки, и всегда был виноград чтобы нсушить новых)

0
twilighttwilight
24 сентября 2010 года в 13:27 #

вы прям дали определение половине местной фауны.

3
emma13689emma13689
20 сентября 2010 года в 20:54 #

хотя про Шредингера я поняла)

1
jahyjahy
20 сентября 2010 года в 20:58 #

Да, интернет уже не торт.

5
julishjulish
20 сентября 2010 года в 21:38 #

Ну... эта статья впечатлила меньше, чем предыдущие ( а предыдущие очень впечатлили, а некоторые очень-очень).

1
golovatvgolovatv
20 сентября 2010 года в 21:56 #

мне одному не понравилось?

0
banan_corporationbanan_corporation
20 сентября 2010 года в 21:59 #

Так как Гугл работает, кто-то понял?

1
ruslanfanruslanfan
20 сентября 2010 года в 22:02 #

кто зашёл на goondex.net ?)

4
dickiedickie
15 октября 2010 года в 0:57 #

я :D думал новый такой поисковик, ищет и там и там :D

0
dinara_belkadinara_belka
20 сентября 2010 года в 22:13 #

ваш яйцеголовый герой меня так умиляет)

1
patronpatron
21 сентября 2010 года в 0:39 #

простой смертный такие посты не напишет)

2
inlesinles
21 сентября 2010 года в 0:55 #

а есть еще pagerank)

3
kvantakvanta
21 сентября 2010 года в 3:45 #

так это, итог то не подвели :)
как же в итоге работают поисковые системы

0
marla_marlamarla_marla
21 сентября 2010 года в 8:33 #

"очевидно. неверноятно"

0
mrkrapkinmrkrapkin
21 сентября 2010 года в 10:57 #

очередное браво! вам стоит подумать о написании энциклопедии всяких интересностей. хотя признаюсь честно - сам материал не так интересен, сколь подача.

1
lenkinlenkin
21 сентября 2010 года в 11:34 #

ну я прям вас цитирую периодически...

0
tyotkatyotka
21 сентября 2010 года в 14:22 #

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

0
femmefatalecvfemmefatalecv
21 сентября 2010 года в 19:38 #

Какая прелесть!Для большинства хватило бы кучи "изюминок" и шуточек - и можно даже не наполнять пост смыслом.
:/
Я не разбираюсь в математике, физике, ит - но прочитав пару раз по крайней мере могу уловить смысл.
Включайте голову иногда

1
twilighttwilight
24 сентября 2010 года в 13:27 #

да, то есть в остальное время её и дома можно на сохранение оставить.

0
hbitikhbitik
24 сентября 2010 года в 15:36 #

написано отлично!спасибо))

0
yablokoffyablokoff
25 сентября 2010 года в 22:40 #

статьи 42! легко масштабируемы!
каждому посетителю лукэтми дать по абзацу, и все всё поймут

12
bzzzktbzzzkt
2 октября 2010 года в 17:27 #

так всетаки яйцо или курица?

0
433t433t
18 октября 2010 года в 17:34 #

взял линк на вашу сатью как пример для самых маленьких к MapReduce докладу)

0

Вход на сайт

Забыли пароль?

Войти, как пользователь

Регистрация через Facebook

У вас уже есть аккаунт на Look At Me?

Связать мои
аккаунты

Я регистрируюсь впервые

Регистрация через Facebook

Введите ваше имя пользователя и пароль Look At Me, чтобы связать его с вашим аккаунтом на Facebook

Я передумал, я не хочу связывать аккаунты. Продолжить регистрацию

Новое сообщение