№ | Слайд | Текст |
1 |
 |
Архитектура инфомационно-поисковой системы GoogleВоронежский государственный университет Факультет компьютерных наук Кафедра информационных систем Информационно-поисковые системы. А.В. Сычев. 2006 г. 1 |
2 |
 |
Общая структура ИПС Google (1998 г.)Для достижения высокой степени эффективности большая часть системы была реализована на С/С++ и работала под управлением Solaris или Linux. Информационно-поисковые системы. А.В. Сычев. 2006 г. 2 |
3 |
 |
Общая структура ИПС Google (1998 г.)Информационно-поисковые системы. А.В. Сычев. 2006 г. 3 |
4 |
 |
Общая структура ИПС Google (1998 г.)Загрузкой веб-страниц из сети WWW занимаются несколько распределенных сетевых роботов (“пауков”). Задания на загрузку документов поступают роботам в виде списка URL от URL-сервера. Скачанные из сети документы передаются серверу хранилища, который размещает их в хранилище после предварительного сжатия. Информационно-поисковые системы. А.В. Сычев. 2006 г. 4 |
5 |
 |
Общая структура ИПС Google (1998 г.)Индексатор Извлекает документы из хранилища и анализирует их структуру. В результате каждый документ преобразуется в множество вхождений слов (hits). Записи о вхождениях слов включают информацию о самом слове, его положении в документе, регистре и размере шрифта. Индексатор размещает эти записи во множестве “емкостей”, образующих частично отсортированный прямой индекс; Кроме того, индексатор извлекает гиперссылки из документов и размещает информацию о них (откуда, куда, текст ссылки) в файле анкеров. Информационно-поисковые системы. А.В. Сычев. 2006 г. 5 |
6 |
 |
Общая структура ИПС Google (1998 г.)Url-резолвер преобразует URL из файла анкеров из относительной в абсолютную форму, отображает их в идентификаторы docid; помещает текст гиперссылки в прямой индекс, связанный с docid, на который указывает ссылка; генерирует базу данных гиперссылок в виде пары docid, которая используется в дальнейшем для вычисления показателя pagerank. Информационно-поисковые системы. А.В. Сычев. 2006 г. 6 |
7 |
 |
Общая структура ИПС Google (1998 г.)Сортировщик на основе данных из “емкостей”, отсортированных по docID, сортирует их заново по wordID и генерирует обратный индекс. создает список wordID и их смещений в обратном индексе. Компонента DumpLexicon использует список wordID и словарь, построенные сортировщиком, и строит новый словарь для поискового агента. Поисковый агент, используя словарь, построенный DumpLexicon, обратный индекс и PageRank для ответа на запросы. Информационно-поисковые системы. А.В. Сычев. 2006 г. 7 |
8 |
 |
Основные структуры данныхМотивация: Хотя скорость работы процессоров и устройств ввода-вывода растет очень быстро, среднее время чтения с диска пока еще составляет 10 мс. Проектирование структур данных преследует цель минимизировать время поиска данных на диске. Информационно-поисковые системы. А.В. Сычев. 2006 г. 8 |
9 |
 |
ХранилищеИспользуемый кодек – zlib. Информационно-поисковые системы. А.В. Сычев. 2006 г. 9 |
10 |
 |
Список docID (документальный индекс)Представляет собой индекс, упорядоченный по docID. Информация, в каждой записи содержит текущий статус документа, указатель на запись в хранилище, контрольную сумму документа и другие данные. Используется для преобразования URL в docID. Для поиска docID вычисляется контрольная сумма по его URL, после чего выполняется бинарный поиск. Информационно-поисковые системы. А.В. Сычев. 2006 г. 10 |
11 |
 |
СловарьВключает в себя 14 миллионов слов (некоторые редкие слова исключены). Содержит список слов и хеш-таблицу указателей. Информационно-поисковые системы. А.В. Сычев. 2006 г. 11 |
12 |
 |
Списки вхожденийКаждая запись о вхождении имеет размер 2 байта. Различают 2 типа вхождений: “специальный” текст: URL, заголовок, текст гиперссылки, мета-таг. простой текст (прочие части документа) Информационно-поисковые системы. А.В. Сычев. 2006 г. 12 |
13 |
 |
Прямой индексХранится в 64 емкостях. Является частично упорядоченным Информационно-поисковые системы. А.В. Сычев. 2006 г. 13 |
14 |
 |
Обратный индексПредставляет собой отсортированный список docID, соответствующих wordID из словаря. Состоит из двух подмножеств: учитывающих вхождения только в заголовок или текст гиперссылки для всех вхождений. Информационно-поисковые системы. А.В. Сычев. 2006 г. 14 |
15 |
 |
Обработка запросаАнализ запроса. Преобразование слов в wordID. Поиск начала списка документов в коротких емкостях для каждого слова. Сканирование списка документов пока не будет найден документ, соответствующий всем искомым терминам. Вычисление ранга найденного документа. Если достигнут конец списка документов в коротких емкостях, то поиск продолжается с начала списка документов в больших емкостях для каждого слова и переход на шаг 4. Если еще не конец списка документов, то выполняется переход на шаг 4. Сортировка найденных документов по рангу и выдача первых k документов из списка. Информационно-поисковые системы. А.В. Сычев. 2006 г. 15 |
16 |
 |
Ранжирование документовЗапрос с единственным термином: просматривается список вхождений различных типов (заголовок, анкерный тэг, URL,большой шрифт, маленький шрифт и т.д.) формируется вектор типо-вес исходя из количества найденных вхождений. рассчитывается также вектор частот. скалярное произведение этих двух векторов комбинируется с показателем PageRank, образуя итоговый ранг документа. Информационно-поисковые системы. А.В. Сычев. 2006 г. 16 |
17 |
 |
Ранжирование документовЗапрос с несколькими терминами: Одновременные вхождения терминов в документы дают более высокую оценку за счет оценки степени близости (всего 10 градаций). В результате формируется вектор типо-близость-вес. Скалярное произведение данного вектора с вектором частот, скорректированное показателем PageRank, дает итоговый рейтинг документа. Информационно-поисковые системы. А.В. Сычев. 2006 г. 17 |
18 |
 |
Кластерная архитектура Google (2003)В среднем для обработки одного запроса в Google необходимо прочитать сотни МБ данных и выполнить десятки миллиардов процессорных тактов Для того, чтобы справиться с такой нагрузкой поддерживается кластерная архитектура в составе более 15 тыс. обычных ПК с устойчивым к сбоям программным обеспечением. Информационно-поисковые системы. А.В. Сычев. 2006 г. 18 |
19 |
 |
Кластерная архитектура Google (2003)Проектирование кластерной структуры определяется двумя факторами: Эффективность энергопотребления Соотношение цена-производительность Исходными идеями в проектировании системы были следующие: Надежность в работе системы может быть обеспечена программным нежели аппаратным путем, т.е. возможно использование недорогих ПК взамен чрезвычайно дорогого серверного оборудования. Конечной цель при разработке является обеспечение наилучшей скорости агрегированной обработки запроса нежели пикового времени отклика сервера, поскольку возможно управление временем отклика за счет распараллеливания индивидуальных запросов. Информационно-поисковые системы. А.В. Сычев. 2006 г. 19 |
20 |
 |
Архитектура системы обслуживания запросов GoogleДля эффективного обслуживания трафика запросов система объединяет множество кластеров размещенных по всему миру. Каждый из кластеров состоит из нескольких тысяч компьютеров, географически распределенных из соображения защиты от катастрофических сбоев датацентров. Поиск распараллеливается за счет разделения индекса на фрагменты (index shards), содержащие случайно выбранное подмножество документов из полного индекса. Балансировщик нагрузки направляет каждый запрос на соответствующий компьютер (множество компьютеров), отвечающий за определенный фрагмент (shard). Если какая-либо из реплик фрагмента индекса выходит из строя, то балансировщик не использует ее для обслуживания запросов. При этом во время бездействия реплики производительность всей системы сокращается всего лишь на незначительную долю, которую занимает данный компьютер в рамках всей системы. Информационно-поисковые системы. А.В. Сычев. 2006 г. 20 |
21 |
 |
Архитектура системы обслуживания запросов GoogleИнформационно-поисковые системы. А.В. Сычев. 2006 г. 21 |
22 |
 |
Использование репликации в кластерной системе GoogleВ кластерной системе Google распределены десятки копий всех веб-документов. Вместо поиска документов в едином индексе используется распараллеливание поиска по множеству небольших индексов, после чего выполняется малозатратная операция объединения списков найденных документов. Тем самым сокращается среднее время задержки ответа на запрос, поскольку вычисления распределяются между нескольким процессорами и дисками. Кроме того, поскольку нет необходимости во взаимодействии отдельных фрагментов индекса, то общее увеличение скорости обработки запросов имеет почти линейный характер. Информационно-поисковые системы. А.В. Сычев. 2006 г. 22 |
23 |
 |
Принципы проектирования кластеров в GoogleПрограммные методы обеспечения надежности Использование репликации для более быстрой обработки запросов и большей доступности индекса для приложений Соотношение цена/производительность – лучшее решение, нежели пиковая производительность Применение обычных ПК сокращает стоимость вычислений. Информационно-поисковые системы. А.В. Сычев. 2006 г. 23 |
24 |
 |
Кластерная архитектура GoogleРешение проблем Управление тысячами ПК вместо нескольких мощных многопроцессорных серверов влечет за собой существенное увеличение затрат на администрирование и ремонт. Однако за счет однородности небольшого числа работающих на ПК приложений и их одинаковой конфигурации затраты могут быть значительно снижены. Активно используются средства мониторинга. Очень актуальной является проблема тепловыделения огромного количества ПК. Проблема решается за счет установки дополнительных средств теплоотвода и увеличения площади для размещения оборудования. Информационно-поисковые системы. А.В. Сычев. 2006 г. 24 |
25 |
 |
Файловая система Google (GFS, 2003)Представляет собой масштабируемую распределенную файловую систему для больших распределенных приложений, интенсивно работающих с данными. Обеспечивает устойчивую к сбоям работу на обычном компьютерном оборудовании, предоставляя высокую интегральную производительность для большого количества клиентов. Обеспечивает работу реального кластера, имеющего суммарно сотни ТБ данных на тысячах дисков, установленных на тысячах ПК, при одновременном доступе к данным сотен клиентов. Информационно-поисковые системы. А.В. Сычев. 2006 г. 25 |
26 |
 |
Файловая система Google (2003)Базовыми принципами системы являются следующие: масштабируемость; надежность; доступность. Информационно-поисковые системы. А.В. Сычев. 2006 г. 26 |
27 |
 |
Файловая система Google (2003)Разработчики системы исходили из следующих принципиальных позиций: Отказы в работе компонентов системы рассматриваются скорее как норма нежели как исключение. Следовательно непрерывный мониторинг, обнаружение ошибок, устойчивость к ошибкам и автоматическое восстановление должны быть интегральными составляющими системы. Размеры типичных файлов составляют несколько ГБ. Следовательно при проектировании системы необходимо пересматривать традиционные подходы к организации ввода-вывода и размеры блоков данных. Изменение большинства файлов происходят путем добавления новых данных нежели путем перезаписывания существующих данных. Информационно-поисковые системы. А.В. Сычев. 2006 г. 27 |
28 |
 |
Архитектура файловой системы Google (2003)Информационно-поисковые системы. А.В. Сычев. 2006 г. 28 |
29 |
 |
Архитектура файловой системы Google (2003)GFS кластер состоит из единственного мастера и нескольких серверов сегментов (chunckservers), доступных для множества клиентов. Кластер обычно работает под управлением Linux. Файлы делятся на сегменты (chunks) фиксированного размера. Для надежности каждый сегмент реплицируется на нескольких серверах сегментов (по умолчанию – на 3-х). Мастер хранит все метаданными файловой системы, а также решает задачи управления процессами: доступа к сегментами, сбора мусора из потерянных сегментов, миграции сегментов между серверами сегментов. Мастер периодически взаимодействует с серверами сегментов посредством синхронизирующих сообщений и собирает информацию об их состоянии. Информационно-поисковые системы. А.В. Сычев. 2006 г. 29 |
30 |
 |
Архитектура файловой системы Google (2003)Клиенты никогда не считывают и не записывают фалы с данными через мастера. Вместо этого они запрашивают мастера - к какому серверу сегмента ему необходимо обратиться. Размер сегмента (chunk) составляет 64 МБ. Основные операции, поддерживаемые GFS: create, delete, open, close, read, write, snapshot, record append. Операция snapshot используется для создания копии файла или дерева каталога с минимальными издержками. Операция record append позволяет нескольким клиентам одновременно добавлять данные к одному и тому же файлу, гарантируя атомарность операции для каждого клиента без использования механизма блокирования. Информационно-поисковые системы. А.В. Сычев. 2006 г. 30 |
31 |
 |
ЛитератураS.Brin, L.Page "The anatomy of a large-scale hypertextual web search engine". Proc. 7th World Wide Web Conf. (WWW7), p. 107–117. L.A. Barroso, J. Dean, and U. Holzle. “Web search for a planet: The Google cluster architecture”. IEEE Micro, 23:22-28, 2003. S.Ghemawat, H.Gobioff, S.-T. Leung “The Google File System”. SOSP’03, Bolton Landing, New York. Публикации сотрудников Google: http://labs.google.com/papers.html Информационно-поисковые системы. А.В. Сычев. 2006 г. 31 |
«Архитектура инфомационно-поисковой системы Google» |
http://900igr.net/prezentacija/informatika/arkhitektura-infomatsionno-poiskovoj-sistemy-google-88388.html