Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Принцип работы крупных поисковиков с технической точки зрения
 
 автор: pina   (19.01.2008 в 21:12)   письмо автору
 
 

'крупные поисковики' - это на мой взгял Google, Yahoo, Msn, Yandex, Baidu и так далее. Их базы содержат миллионы сайтов, а то и может больше - миллиарды..
Как технически им удается оперировать такими объемами данных?
Какие на ваш взгляд лучше использовать базы данных для таких объемов? для высокой производительности (железо в сторону)

Практически каждый поисковик сохряняет себе копию проиндексированной страницы.
Как лучше хранить проиндексированные страницы?

Анализ сайта занимает, наверно, не секунду и не две при чем при каждом обновлении сайта, контент приходиться анализировать заново. ладно бы только текст анализировать, еще ведь значимые таги. А если примитивные ошибки html кода: preg_match_all() ??? Существует мнение что preg_match_all может сказаться на производительности сервера. Есть альтернативы?

Может быть даже здесь нужен не php? а например perl? ой а может C/C++?

ЗЫ: Я не собираюсь создавать поисковик.

   
 
 автор: Киналь   (19.01.2008 в 21:49)   письмо автору
 
   для: pina   (19.01.2008 в 21:12)
 

Написано это все дело на С/С++, скорее всего. А насчет БД - там все просто. Записи не лежат в базе просто по порядку, и не проверяются при каждом запросе. БД организована так, что при запросе из нее методами теории вероятностей выбираются наиболее релевантные страницы. Естественно, некоторая доля теряется; но это страницы с самым низким рейтингом (тИЦ, PR), их потерять не жалко)

Что до переиндексации сайтов при обновлении - так на это есть роботы. тот же GoogleBot, который следит за изменениями и обновляет БД. Тоже не просто перезаписывая каждый раз ячейку, естественно)

   
 
 автор: afdm   (19.01.2008 в 21:51)   письмо автору
 
   для: pina   (19.01.2008 в 21:12)
 

для начала http://company.yandex.ru/programs/web_200203.html возможно заинтересует...

   
 
 автор: cheops   (19.01.2008 в 23:37)   письмо автору
 
   для: pina   (19.01.2008 в 21:12)
 

Используются класстеры - много серверов, объединённых в сеть и работающих как один компьютер - можно заменять любой из них - это не отражается на работоспособности всей сети. Не секрет, что Google имеет в районе 500 000 серверов.

PS Кстати сайтов пока насчитывается 155 000 000.

   
 
 автор: Eugene77   (20.01.2008 в 18:21)   письмо автору
 
   для: cheops   (19.01.2008 в 23:37)
 

Вот у них же получаются кластеры! Как бы мне сделать?

   
 
 автор: cheops   (20.01.2008 в 18:39)   письмо автору
 
   для: Eugene77   (20.01.2008 в 18:21)
 

Хм... собственно копаться в этом нужно, можно испльзоваться MPI (однако это долго) или уже готовые кластерные решения (это может быть дорого).

   
 
 автор: Владимир55   (20.01.2008 в 18:47)   письмо автору
 
   для: cheops   (19.01.2008 в 23:37)
 

"Не секрет, что Google имеет в районе 500 000 серверов.
PS Кстати сайтов пока насчитывается 155 000 000."

А вы не ошиблись?

Получается, что один сервер на 300 сайтов! Это больше похоже на хостинг, чем на поисковую систему!

   
 
 автор: cheops   (20.01.2008 в 18:50)   письмо автору
 
   для: Владимир55   (20.01.2008 в 18:47)
 

500 000 серверов обслуживают один сайт google (если не брать в расчёт доменные имена для разных стран). Количество серверов во всём мире, конечно больше.

   
 
 автор: cheops   (20.01.2008 в 19:03)   письмо автору
 
   для: Владимир55   (20.01.2008 в 18:47)
 

Это не совсем чистая статистика, так как она включает и блоги, собственно, вот ссылка, по которой все ориентируются по динамике в Интернет.

   
 
 автор: Владимир55   (20.01.2008 в 19:24)   письмо автору
 
   для: cheops   (20.01.2008 в 19:03)
 

500 000 серверов обслуживают один сайт google - это я понимаю. А сайт google проиндексировал 150 млн. сайтов сети. Вот и получается, что на один сервер сайта google приходится всего лишь 300 сайтов сети, которые он проиндексировал.

На мой взгляд, это неестесственно.

   
 
 автор: cheops   (20.01.2008 в 20:02)   письмо автору
 
   для: Владимир55   (20.01.2008 в 19:24)
 

А нет... у Google не все сервера занимаются индексированием и осуществлением поиском - у него до чёрта различных сервисов: почта, YouTube и т.п. Часть сервисов вообще не афишируется...

   
 
 автор: Владимир55   (21.01.2008 в 00:04)   письмо автору
 
   для: cheops   (20.01.2008 в 20:02)
 

Google индексирует сайты весьма причудливым образом: ресурсы с малым PR он глубоко не копает и дальше второго уровня не идет, да и на втором уровне первоначально берет не более 500 страниц, а про редкообновляемые сайты забывает по полгода. А потому мне кажется, что один сервер Google обрабатывает тысяч десять сайтов, если не все 100 тысяч. Так что двадцать тысяч серверов для индексации ему наверняка хватит.

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

Ведь он даже PR сам не вычисляет!

   
 
 автор: cheops   (21.01.2008 в 01:31)   письмо автору
 
   для: Владимир55   (21.01.2008 в 00:04)
 

Хм... а на какой инструмент ориентируетесь в оценках (просто хочу предостеречь об PowerCounter 3.3.7, который в настоящий момент неадекватно подсчитывает роботов Google (поменялась схема обозначений) - это исправлено лишь в версии 4.0.0, которая пока не выложена в раздел downloads и проходит тест на наших сайтах и сайтах наших клиентов).

   
 
 автор: pina   (25.01.2008 в 12:45)   письмо автору
 
   для: cheops   (21.01.2008 в 01:31)
 

Инедексирование гугла это другая тема :)
Я где то читал что при зарождении, Гугл индескировал сеть своего универа. И работники универа не успевали закупать жесткие диски для серверов. Интересно как сейчас дела обстоят? Жесткие диски, как дорова, машинами завозят? :) Может в будущем будут жесткие от самого Google :)

   
 
 автор: Sobachka   (25.01.2008 в 18:57)   письмо автору
 
   для: pina   (25.01.2008 в 12:45)
 

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

   
 
 автор: afdm   (25.01.2008 в 20:28)   письмо автору
 
   для: Sobachka   (25.01.2008 в 18:57)
 

а почему ВО ВСЕХ легендах про западные фирмы упоминаются именно гаражи? :)))

   
 
 автор: cheops   (25.01.2008 в 21:28)   письмо автору
 
   для: afdm   (25.01.2008 в 20:28)
 

Калифорния - тепло, можно в гараже работать, если денег на офис не хватает. Тем более, многие фирмы 70-80-х годов так начинали - судя по всему традиция такая в кремневой долине.

   
 
 автор: pina   (25.01.2008 в 20:47)   письмо автору
 
   для: Sobachka   (25.01.2008 в 18:57)
 

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

>вроде как они стали крупнейшой компанией закупающай такие ресурсы для себя, а не на перепродажу...
Думаешь гугл будет останавливаться на достигнутом? Тогда зачем им создавать Гмаил, Гброузер и другие сервисы и утилиты? Все может быть :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования