Хтось знає, як Google або Yahoo здійснюють пошук за ключовими словами за дуже величезною кількістю даних? Яку базу даних чи технології вони використовують для цього?
Це займає кілька мілісекунд, але вони індексують більше мільярда сторінок.
Хтось знає, як Google або Yahoo здійснюють пошук за ключовими словами за дуже величезною кількістю даних? Яку базу даних чи технології вони використовують для цього?
Це займає кілька мілісекунд, але вони індексують більше мільярда сторінок.
Відповіді:
Я впевнений, що поєднання речей:
багато цього - дані розподіляються та реплікуються у багатьох вузлах та різних центрах обробки даних
Голуби .
Серцем пошукової технології Google є PigeonRank ™ , система ранжування веб-сторінок, розроблена засновниками Google Ларрі Пейдж та Сергієм Бріном зі Стенфордського університету:
Спираючись на прорив роботи Б. Ф. Скіннера, Пейдж і Брін вважали, що низькі витрати кластерів голубів (ПК) можуть бути використані для обчислення відносної вартості веб-сторінок швидше, ніж людські редактори або машинні алгоритми. І хоча Google має десятки інженерів, які щодня вдосконалюють кожен аспект нашого сервісу, PigeonRank продовжує надавати основу для всіх наших інструментів пошуку в Інтернеті.
Чому запатентована Google PigeonRank ™ так добре працює
Успіх PigeonRank насамперед покладається на чудову навчаність домашнього голуба (Columba livia) та його унікальну здатність розпізнавати об’єкти незалежно від просторової орієнтації. Звичайний сірий голуб може легко виділити серед предметів, що демонструють лише найменші відмінності, що дозволяє йому вибирати відповідні веб-сайти з-поміж тисяч подібних сторінок.
Збираючи зграї голубів у густих скупченнях, Google в змозі обробляти пошукові запити зі швидкістю, що перевищує традиційні пошукові системи, які, як правило, покладаються на хижих птахів, задумливих курей або маловодних водоплавних птахів, щоб зробити їх релевантні рейтинги.
Коли пошуковий запит подається в Google, він перенаправляється до кооператора даних, де відстежує спалахи сторінок результатів із швидкістю . Коли один із голубів у скупченні спостерігається за відповідним результатом , він вдаряється за допомогою дзьоба покритим сталевим бруском, покритим гумою, який присвоює сторінці значення PigeonRank одиниці. З кожним ключем PigeonRank збільшується . Ті сторінки, які отримують найбільше ключів, повертаються вгорі сторінки результатів користувача, а інші результати відображаються в порядку клювання.
Важливо пам’ятати про кілька речей про Google:
Їх БД є власником BigTable - його розробили на замовлення GOOGLE, щоб точно відповідати їх потребам
Їх власний БД побудований на основі їх власної файлової системи - файлової системи Google - це було розроблено, знову ж таки, GOOGLE , щоб було легко розширюватися за допомогою загального товарного обладнання. Як згадував Аарон у своїй відповіді, вони мають велику кількість середніх серверів замість невеликої кількості дуже потужних серверів.
Вони зберігають окремі таблиці на кількох машинах як спосіб швидшого доступу - їх програмне забезпечення знає, які дані є на якій машині, і замість того, щоб пробивати диск, щоб знайти його, вони можуть перейти безпосередньо до сервера з відповідною інформацією.
Google не використовує традиційні технології реляційних баз даних. Він розробив власну технологію, великі таблиці та зменшення карт. Оригінальні науково-дослідні роботи тут: Велика таблиця та карта / зменшення . Також цікавий SSTable, відсортований рядок таблиці .
Подібні технології зараз використовуються в базах даних hadoop та NoSQL .
Прочитайте "Стівена Леві" " У комплексі: як Google думає, працює і формує наше життя ". Ця книга - це захоплююче прочитання про всі речі Google і на високому рівні обговорює деякі технології та техніку, що стоїть за пошуком. Аарон підсумовує це дуже добре у своїй відповіді, і книга Леві дасть вам детальніше про те, як вони це роблять.