«Главный ключ быстрого и надежного поиска — это разделение данных на порции» — сказал один из главных инженеров Google на прошлогодней конференции EclipseCon 2005. Все компьютеры, задействованные в поиске, работаю на базе операционно системы Linux, дистрибуция Red Hat. Но как заявил Urs Hoelzle, вице-призидент иженерного отдела, с большими собственными изменениями в оригинальном ядре. Google реплецирует веб-страницы, кэшируя разбитые кусочки в так называемые «shards». Шарды небольшие и несколько шардов могут размещаться на одной машине. Потом они реплицируются на другие машине и в случае, если одна поломается, то другая сможет обслужить запрос. Главная индексная база тоже разбивается на несколько серверов и реплицируется на другие сервера.

Когда приходит запрос на поиск, то он попадает сначала на веб-сервер, примером может служить, сервер Dell PowerEdge R910, потом разбивается на кусочки. Одни индекс-сервера хранят индекс, другие сервера хранят полный индекс. Для того, чтоб найти ответ на поисковый запрос, Гуглу необходимо пройти цепочку серверов. В случае, если один из реплецированных серверов занят, запрос переходин на следующий и так далее, пока не найдет свободный. В параллели с этим, кластер документ-серверов хранят копии веб-страниц. Hoelzle сказал, что обновление происходит в течении недели и среднее статистически получается раз в 2 дня. Когда получены 10 первых результатов, то они посылаются на документ-сервер, который загружает 10 результирующих страниц в память. Потом они парсяться и находятся лучшее вхождение по запросу.

Это можно увидеть своими глазами в фильме производства компании Google «Google Factory Tour«. Внимание!!! Фильм длинной в 5 ч 39 мин и 41 сек.