как устроены дата-центры Google

Одной из составляющих успеха Google являются ее инженерные инновации. Дата-центры, работающие быстро и надежно, не менее важны, чем оригинальные поисковые алгоритмы.
Некоторые подробности того, как устроены пресловутые дата-центры Google, раскрыл вице-президент Google, руководитель инженерного отдела Урс Хольцль (Urs Hoelzle), выступая на одной из конференций для разработчиков.

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

В дата-центре из тысяч машин можно предположить, что хотя бы одна из них будет выходить из строя ежедневно. Поэтому в Google весь процесс максимально автоматизирован. Для обслуживания дата-центра инженерами Google создано несколько оригинальных программ.
Во-первых, это собственная файловая система Google File System, которая оптимизирована для работы с большими блоками данных по 64 МБ, а также обладает повышенной защитой от сбоев. Вся информация копируется и хранится в трех местах одновременно, при этом система способна очень быстро находить реплицированные копии, если какая-то машина вышла из строя. Задачи автоматического восстановления после сбоя решаются с помощью программ, созданных по модели MapReduce. За последний год, по словам Хольцля, компания Google значительно расширила использование этой системы упрощенной обработки данных в больших кластерах.

Таким образом, программное обеспечение в дата-центре имеет большую роль, чем оборудование. Если система защищена от сбоев и автоматически восстанавливается, то можно устанавливать даже самые недорогие серверы.
Серверы работают под управлением Linux. За основу был взят стандартный дистрибутив Red Hat, в котором ядро операционной системы было модифицировано с учетом нужд Google.
Инженеры компании также разработали специальную систему для быстрой обработки больших объемом данных и мгновенной выдачи результатов в ответ на запросы. Весь поисковый индекс разделен на блоки (shads), которые тоже постоянно реплицируются на случай сбоя. Отдельные машины предназначены для хранения документов, которые роботы Google скачивают и индексируют.

Поиск в индексе работает очень быстро благодаря составленному словарю всех слов, которые встречаются в интернете. То есть словарь хранится отдельно, а в индекс попадают только символы, соответствующие определенным словам.
Еще одной важная проблема, которую пришлось решать инженерам Google, — это такая работа программ, чтобы они могли отправлять запросы и быстро обрабатывать информацию сразу с тысяч серверов, то есть нужно было эффективное распараллеливание задач. Для этого программистами Google разработан специальный «менеджер задач» особого рода под названием Globa Work Queue. Он разбивает задачи на части и распределяет нагрузку между серверами.



Вебпланета.¶



Сетевые решения. Статья была опубликована в номере 03 за 2005 год в рубрике решения

©1999-2024 Сетевые решения