Какие технологии баз данных используют крупные поисковые системы? [закрыто]

32

Кто-нибудь знает, как Google или Yahoo выполняют поиск по ключевым словам по очень очень большим объемам данных? Какую базу данных или технологии они используют для этого?

Это занимает несколько миллисекунд, но они проиндексированы более чем на миллиард страниц.

rkosegi
источник
Есть похожий вопрос о переполнении стека: stackoverflow.com/questions/362956/…
splattne

Ответы:

21

Я уверен, что есть сочетание вещей:

  • серьезное оборудование
  • многие из них - данные распределены и реплицированы по многим узлам и различным центрам обработки данных

    • (на самом деле в случае Google, по крайней мере, я считаю, что у них есть тысячи и тысячи действительно бюджетных серверов)
  • кешируются результаты многих распространенных запросов, обратите внимание, как они предварительно заполняют потенциальные поиски вещей, о которых вы знаете, что никогда не искали раньше; они предсказывают, что вы можете искать, и надеются, что они уже получили ваш результат, предварительно рассчитанный и где-то кэшированный. Во многих случаях они делают - не так много поисков, которые вы могли бы предложить в Google сегодня, которые не были бы заданы кем-то до вас. Когда они получают новую поисковую фразу, они, вероятно, используют что-то вроде поиска в свободном тексте - и я ожидаю, что ключевые слова извлекаются семантически при первом сканировании страницы, а не пытаются найти ключевые слова в документе после того, как вы их искали , Конечно, они должны периодически делать недействительными эти кэши, пересчитывая рейтинг страниц,
Аарон Бертран
источник
34

Голуби .

Сердцем поисковой технологии Google является PigeonRank ™ , система ранжирования веб-страниц, разработанная основателями Google Ларри Пейджем и Сергеем Брином из Стэнфордского университета:

введите описание изображения здесь

Опираясь на прорывную работу Б. Ф. Скиннера, Пейдж и Брин пришли к выводу, что недорогие кластеры голубей (ПК) можно использовать для вычисления относительной ценности веб-страниц быстрее, чем редакторы-люди или машинные алгоритмы. И хотя в Google ежедневно работают десятки инженеров, работающих над улучшением каждого аспекта нашего сервиса, PigeonRank продолжает обеспечивать основу для всех наших инструментов веб-поиска.

Почему запатентованный Google PigeonRank ™ работает так хорошо

Успех PigeonRank зависит прежде всего от превосходной обучаемости домашнего голубя (Columba Livia) и его уникальной способности распознавать объекты независимо от пространственной ориентации. Обычный серый голубь может легко различать элементы, отображающие только самые незначительные различия, что позволяет ему выбирать соответствующие веб-сайты среди тысяч похожих страниц.

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

Когда поисковый запрос отправляется в Google, он направляется в информационный центр, где отслеживает страницы результатов флэш-памяти с невероятной скоростью . Когда один из голубей в кластере наблюдает соответствующий результат , он ударяет клювом стальной стержень с резиновым покрытием, который присваивает странице значение PigeonRank, равное единице. С каждым клевком PigeonRank увеличивается . Те страницы, которые получают наибольшее количество клевок, возвращаются вверху страницы результатов пользователя, а остальные результаты отображаются в порядке клевания.

ypercubeᵀᴹ
источник
6
Примечание: эта страница была опубликована на апрельский день дурака - 2002
dr jimbob
19

Важно помнить несколько вещей о Google:

  • Их база данных - это запатентованная BigTable - она ​​была разработана специально для GOOGLE, чтобы точно соответствовать их потребностям

  • Их собственная БД построена на основе их собственной файловой системы - Файловой системы Google - она ​​была разработана, опять же, GOOGLE , чтобы ее можно было легко расширять с помощью обычного аппаратного обеспечения. Как отметил Аарон в своем ответе, они имеют большое количество средних серверов вместо небольшого количества очень мощных серверов.

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

JNK
источник
11

Google не использует традиционные технологии реляционных баз данных. Он разработал собственную технологию, большой стол и карту сокращения. Оригинальные исследовательские работы здесь: Big Table и Map / Reduce . Также интерес представляет таблица отсортированных строк SSTable .

Подобные технологии сейчас используются в hadoop и базах данных NoSQL .

ним чимпский
источник
9

Прочитайте статью Стивена Леви « В плексе: как Google думает, работает и формирует нашу жизнь ». Эта книга представляет собой увлекательное чтение обо всех вещах Google и действительно обсуждает на высоком уровне некоторые технологии и разработки, лежащие в основе поиска. Аарон очень хорошо резюмирует это в своем ответе, и книга Леви даст вам более подробную информацию о том, как они это делают.

Тод эверетт
источник