Перейти к содержимому

Заметки о поисковике Google

Джеф Дин (Jeff Dean) дал на WSDM 2009 описание основных моментов развития поисковика Google.

Изменения масштабов 1999-2009

  • 100-кратное увеличение числа документов в индексе;
  • 10000-кратное увеличение числа запросов;
  • 10000-кратное ускорение обновления всего индекса;
  • средние время исполнения запроса уменьшилось в 5 раз, с менее 1 сек. до менее 0,2 сек.

Система была спроектирована на 10-кратный рост числа документов и переписана на 100-кратный рост.

В конце 90-х

  • Пакетная система краулинга (поискового бота/паука), останавливающаяся по достижении заданного числа страниц;
  • Пакетная система индексированная, использующая стандартные утилиты и средства Unix, подверженная влиянию машинных крахов и сбоев;
  • Индекс образца 1997 года представлял собой простую байто-ориентированную систему, в которой записывалась информация о вхождениях слов в документы. Она требовала большого числа обращений к диску.

В скоре после

  • Перешли на новый блочно-ориентированный и переменной длины формат индекса, использовавший скип-таблицы для наиболее часто встречающихся слов. Размер индекса сокращен на 30% и увеличена скорость его чтения;
  • Добавлены кэшируещие сервера как для результатов поиска, так и для сниппетов документов;
  • В начале 2001 перешли на индекс всё-в-памяти, в котором серверы индекса (вместе с кэширующими серверами, серверами, хранящими копии документов, и т.д.) работали напрямую с фронт-энд веб-серверами;
  • Индекс был секционирован по-документно, а не по терминам.

Недавнее и текущее

  • Собственный дизай всего с самого низа: свой дизайн серверных стоек, свой дизайн материнских плат PC класса, свой linux и свое программное обеспечение (MapReduce, BigTable и т.п.);
  • Индексирование построено на концепции MapReduce;
  • В 2004 перешли на иерархическую систему серверов, обслуживающих индекс, построенную поверх GFS-based индексов (теперь только root-сервера обслуживали запросы с веб-серверов);
  • "Быстрые" обновления индекса;
  • в 2007 добавили super-root-сервер, взаимодейтсвующий со всеми индексными серверами вертикальных коллекций, обеспечивающий "Универсальный поиск".

Исследования на будущее

  • Межязыковый поиск информации - качество и масштабируемость;
  • Поиск в сочетаниях частных, корпоративных и публичных документов;
  • Автоматическое построение эффективных систем поиска информации для различнх нужд.

//Jeff's Search Engine Caffe

Судя по последнему абзацу следует ожидать синергии Google Mini и Google Search Appliance с основным поиском Google.com - убийственное сочетание для корпоративного поиска, все системы корпоративного поиска без своего большого поиска устаревают в момент, либо будут вынуждены кооперироваться с Гуглем (или Яху, МСН и иже с ними). Почему Яндекс не сделал скрещивание Яндекс.Server с Яндекс.XML непонятно, вполне очевидный шаг...

Заметки о поисковике Google: 11 комментариев

  1. koudesnik

    Индекс был секционирован по-документно, а не по терминам.

    Что под этим подразумевается?

  2. Maxime

    В оригинае это звучит как

    The index was partitioned by document rather than by term.

    Что это означает на практике я не знаю (надеюсь пока не знаю 🙂

  3. Maxime

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

    Подрободнее о Term vs Document Partioning можно посмотреть здесь: http://youtube.com/watch?v=KpZpsu2wM1s
    или здесь: http://scholar.google.no/scholar?hl=en&lr=&cluster=10013139656811614516

  4. Softblogger

    Хе-хе, читал статью негодующих "зеленых" о том, что Гуглу лучше бы не быть таким мощным. Дескать, при каждом поисковом запросе "напрягаются" множество серверов, так неэкономно расходующих энергию и прочие блага нашей Планеты 😀

  5. Герольд

    "Почему Яндекс не сделал скрещивание Яндекс.Server с Яндекс.XML непонятно, вполне очевидный шаг" - думаю и сделает. Гугл наращивает мощь, но для рунета он останится вторым следующие 10 лет (смена поколений), да и яша по алгоритмам ранжирования быстрее развивается в рунете.

  6. Марианна

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *