В одно касание. Бизнес-стратегии Google, Apple, Facebook, Amazon и других корпораций
Шрифт:
parthdetroja.com
linkedin.com/in/parthdetroja
От издательства
Ваши замечания, предложения, вопросы отправляйте по адресу comp@piter.com (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.
Глава 1. Разработка программного обеспечения
Начнем исследование мира технологий с изучения приложений, которыми вы каждый день пользуетесь. Кажется, что Netflix
Как работает поиск в Google?
Каждый раз при создании запроса в Google поисковая система просматривает более 30 триллионов страниц в интернете и находит первые 10 результатов. В 92 % случаев пользователь выбирает результат на первой странице (то есть топ-10). Найти 10 лучших из 30 триллионов результатов действительно сложно – почти так же сложно, как случайно найти монетку, упавшую где-то в Нью-Йорке. Тем не менее Google успешно делает это за полсекунды. Но как?
На самом деле Google не посещает каждую страницу в интернете каждый раз, когда создается какой-то запрос. Google фактически хранит информацию о страницах в базах данных (таблицы информации, как в Excel) и использует алгоритмы, считывающие эти базы данных, чтобы решить, что показать пользователю. Алгоритмы – это просто ряд заданных правил. У людей может быть встроен «алгоритм» для создания бутерброда с маслом и сыром, в то время как на компьютерах Google есть алгоритмы для поиска страниц на основе поискового запроса.
Алгоритм начинается с создания базы данных каждой страницы в интернете. Google использует программы, называемые «пауками», которые «ползут» по страницам, пока не найдут их все (или, по крайней мере, пока Google не решит, что этого достаточно). «Пауки» начинают с нескольких страниц и добавляют их в список страниц Google, называемый индексом. Затем они переходят по всем исходящим ссылкам на этих страницах и находят новый набор страниц, который добавляют в индекс. Далее они переходят по всем ссылкам уже на новых страницах и так далее, пока Google не найдет что-нибудь еще.
Это непрерывный процесс; Google всегда добавляет новые страницы в индекс или обновляет их, если они меняются. Индекс огромен, он весит более 100 млн ГБ. Для того чтобы поместить его на внешнем жестком диске объемом 1 ТБ, потребовалось бы 100 тысяч таких дисков, а если поставить их друг на друга, высота составит примерно 1,5 км.
Поиск в Google работает таким образом: он принимает запрос (текст, введенный в строку поиска) и просматривает индекс, чтобы найти наиболее подходящие страницы. Как Google это делает? Самый простой способ – найти определенное ключевое слово, что-то вроде нажатия Ctrl+F или Cmd+F для поиска в гигантском документе Word. Именно так работали поисковые системы 1990-х годов: они искали запрос в своем индексе и отображали страницы с наибольшим количеством совпадений, атрибут, называющийся плотностью ключевых слов.
Как выяснилось, эту схему довольно легко обойти. Если ввести в поисковую строку «шоколадный батончик Snickers», то можно предположить, что snickers.com окажется в списке первых найденных
Взамен алгоритма плотности ключевых слов основным нововведением Google стал алгоритм под названием PageRank, созданный Ларри Пейджем и Сергеем Брином в 1998 году в рамках работы над кандидатской диссертацией. Пейдж и Брин обратили внимание, что оценить приоритетность страницы можно, посмотрев на другие важные страницы, со ссылкой на нее. Это словно, находясь на вечеринке, узнать, что кто-то популярен, увидев этого человека, окруженного другими известными людьми. PageRank присваивает каждой странице оценку на основании других своих оценок, данных всем остальным страницам, которые дают ссылку на эту страницу. (Оценка тех страниц зависит от других страниц, которые дают на них ссылку, и т. д.; это рассчитывается с помощью линейной алгебры.)
Например, в случае создания новой страницы об Аврааме Линкольне, ее PageRank был бы очень низким. Но если бы какой-нибудь малоизвестный блог добавил ссылку на эту страницу, это повысило бы ее PageRank. PageRank больше заботится о качестве входящих ссылок, чем об их количестве, поэтому даже если десятки непопулярных блогов дадут ссылку на эту страницу, пользы будет мало. Но если бы газета New York Times (которая, скорее всего, имеет высокий PageRank) дала бы ссылку на нее, то ее PageRank взлетел бы.
Как только Google находит в своем индексе все страницы, в которых упоминается поисковый запрос, он ранжирует их по нескольким критериям, включая PageRank. У Google также есть много других критериев: он учитывает последнее обновление страницы, пропускает веб-сайты, похожие на спам (например, сайт «сникерс, сникерс, сникерс, сникерс», о котором писалось выше), учитывает местоположение (он может выдать сайт Национальной футбольной лиги, если пользователь ввел запрос «футбол» и при этом находится в США, и Английскую Премьер-лигу, если он ввел аналогичный запрос, находясь в Англии) и многое другое.
Надуть Google?
Однако у PageRank есть свои подводные камни. Подобно тому как спамеры злоупотребляют плотностью ключевых слов (как в случае со «сникерс, сникерс, сникерс, сникерс»), они начали создавать линкофермы, или страницы, содержащие тонны ссылок на сайты, не несущие полезного контента. Владельцы веб-сайтов могут платить линкофермам за добавление ссылок на страницы, что искусственно повысит их PageRank. Однако Google стала очень неплохо распознавать и игнорировать линкофермы.
Но существует еще несколько основных способов обмануть Google. Появилась целая индустрия поисковой оптимизации (SEO), помогающая владельцам веб-сайтов взломать алгоритм поиска Google и сделать так, чтобы их страницы появлялись в топе результатов поиска. Основная форма SEO – это получение большего количества страниц со ссылкой на желаемую страницу. SEO содержит множество других методов, например ввод правильных ключевых слов в название и заголовок страницы или создание перекрестных ссылок на страницы сайта.