<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Insight IT</title><link>https://www.insight-it.ru/</link><description></description><atom:link href="https://www.insight-it.ru/tag/poisk/feed/index.xml" rel="self"></atom:link><lastBuildDate>Thu, 14 Jan 2010 00:01:00 +0300</lastBuildDate><item><title>Aladdin от Baidu</title><link>https://www.insight-it.ru//highload/2010/aladdin-ot-baidu/</link><description>&lt;p&gt;Наверняка все прекрасно знают о лидерах интернет-поиска в российской
части интернета: про Google, Яндекс или Рамблер сказано уже не мало
слов, все много раз о них читали, пользовались, обсуждали - ведь уже
прошло больше 10 лет с момента создания каждой из этих поисковых систем
и, как следствие, их конкуренции на просторах рунета. Намного меньше же
внимания на российских информационных сайтах уделяется национальным
проектам других стран, а ведь среди них тоже есть заслуживающие внимания
экземпляры, об одном из них я бы и хотел сегодня поведать.
&lt;!--more--&gt;&lt;/p&gt;
&lt;h2 id="istochniki-dannykh"&gt;Источники данных&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.insight-it.ru/goto/7e247449/" rel="nofollow" target="_blank" title="http://tech.sina.com.cn/i/2009-12-16/14423683386.shtml"&gt;Baidu Aladdin Technology Guashudila&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.insight-it.ru/goto/9d98f3c7/" rel="nofollow" target="_blank" title="http://tech.sina.com.cn/i/2009-08-18/16063362415.shtml"&gt;Rachel Liao, лекция директора по архитектуре Baidu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.insight-it.ru/goto/d1f8deb1/" rel="nofollow" target="_blank" title="http://news.xinhuanet.com/it/2006-04/06/content_4390847.htm"&gt;Baidu Chief Architect: алгоритмы на службе разработчиков Baidu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.insight-it.ru/goto/cc13f208/" rel="nofollow" target="_blank" title="http://baike.baidu.com/view/2086291.htm"&gt;Aladdin Plans&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Если кто-то достаточно любопытен, чтобы нажать на приведенные ссылки -
они все на китайском, так что статья написана на основе перевода Google
Translate со всеми вытекающими последствиями. Даже за название "Aladdin"
не ручаюсь, его тоже он придумал :)&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="o-kompanii-baidu"&gt;О компании Baidu&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.insight-it.ru/goto/50a1d1a7/" rel="nofollow" target="_blank" title="http://www.baidu.com"&gt;Baidu.com&lt;/a&gt; является лидером китайского рынка
интернет-поиска, объем которого достаточно значителен. На данный момент
Китай насчитывает около 340-360 миллионов интернет-пользователей, что
превышает общую численность населения США. Не трудно представить с каким
трафиком приходится сталкиваться крупнейшей китайской поисковой системе.&lt;/p&gt;
&lt;p&gt;Чтобы не быть голословным, еще немного цифр о Baidu:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;100 миллионов поисковых запросов в день&lt;/li&gt;
&lt;li&gt;Более миллиарда проиндексированных страниц&lt;/li&gt;
&lt;li&gt;300-400 миллионов проиндексированных сайтов&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Уже на сегодняшний день размеры китайской части интернета производят
впечатление и с каждым днем она расширяется все больше. Как следствие,
на рынке образуются все новые и новые возможности для создания сервисов,
удовлетворяющих потребности китайских пользователей Интернет.
Компания&amp;nbsp;&lt;strong&gt;Baidu Inc.&lt;/strong&gt; пристально наблюдает за развитием ситуации и
обнаружила огромную потребность среди сервис-провайдеров в удобной
платформе для создания и предоставления пользователям новых сервисов.
Baidu считает создание платформы для использования их технологии
сторонними разработчиками и сервис-провайдерами очень важным
направлением развития на пути к повышению качества пользовательского
опыта в целом. Эти наблюдения стали толчком к рождению в рамках Baidu
новой технологии под названием&amp;nbsp;&lt;a href="https://www.insight-it.ru/goto/e0a5512c/" rel="nofollow" target="_blank" title="http://open.baidu.com/"&gt;Aladdin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Как крупнейшей китайской поисковой системе, Baidu приходится быть чем-то
большим, чем просто инструментом для поиска, это позволяет удовлетворять
потребности потенциальных клиентов наиболее гармоничным и целесообразным
образом. Помимо неустанной погони за технологическими инновациями, Baidu
предпочитает придерживаться политики "потребности клиентов важнее
всего".&lt;/p&gt;
&lt;h2 id="aladdin"&gt;Aladdin&lt;/h2&gt;
&lt;p&gt;Согласно официальному сайту Baidu, эта технология представляет собой
открытую поисковую платформу, позволяющую сторонним разработчикам
использовать технологию Baidu в своих приложениях и сервисах. Владельцы
интернет-проектов и разработчики могут предоставить Baidu данные в уже
структурированном виде для того, чтобы создать еще более мощные и
функционально-насыщенные приложения, позволяя интернет-сайтам получать
еще более значимый трафик, а пользователям - еще больше облегчить
использование сайтов и поиск в сети Интернет.&lt;/p&gt;
&lt;p&gt;В декабре 2008 года Baidu объявили о высокоприоритетной программе под
кодовым названием&amp;nbsp;&lt;em&gt;"Aladdin"&lt;/em&gt;, основной идеей была попытка расширить
текущие рамки веб-поиска, по большей части за счет включения так
называемого "глубинного интернета" в поисковую базу, проведения более
глубокого анализа контента. Помимо этого упоминались возможность
интеграции и управляемой обработки информации, направленных на
минимизацию издержек поиска и времени обработки запроса при повышение
общего качества поисковых результатов. В том же заявлении Baidu также
описали их общую позицию по данному направлению: платформа Aladdin
является надстройкой над текущей поисковой системой Baidu, позволяющей
дополнение и расширение функциональных возможностей.&lt;/p&gt;
&lt;p&gt;Согласно исследованиям Baidu, только 75% пользователей поисковых систем
в конечном итоге удовлетворяют свои информационные потребности. В
процессе анализа причин данного факта было выявлено, что в большом
количестве случаев искомая информация находится на ресурсах по каким-то
причинам находящимся вне доступа поисковых систем (начиная от
технических ограничений, отсутствия внешних ссылок на ресурс и
заканчивая искусственными&amp;nbsp;барьерами вроде REP или принудительной
авторизации).&lt;/p&gt;
&lt;p&gt;Перед разработчиками Aladdin встают две основные проблемы с точки зрения
технической реализации: "как определить пользовательские потребности" и
"как сортировать". Конечно же они очень тесно связаны между собой, это
хорошо демонстрирует пример с поисковым запросом "полное солнечное
затмение": до затмения пользователи хотят когда оно будет и откуда лучше
смотреть, а во время и после него намного актуальнее будет увидеть
видео-запись или прямую трансляцию, а также прочитать и поделиться
комментариями. Самым простым методом решения данного класса задач
является статистический анализ - Aladdin выделяет два основных фактора,
используемых для сортировки результатом в соответствии с потребностями
пользователей: "удовлетворенность потребностей" и "уровень отклика на
спрос". Конечно же оценочные характеристики спроса и потребностей не
означают сам спрос, то есть возможны и более сложные ситуации, когда за
пользовательским запросом стоит целый комплекс более простых
потребностей.&lt;/p&gt;
&lt;p&gt;Алгоритмы, используемые в Aladdin для решения упомянутых проблем,
основаны на машинном обучении, анализе поведения пользователей, а также
обратной связи от использования технологии на практике. Конечная цель
данной платформы заключается в построении целой интеллектуальной
экосистемы, &amp;nbsp;которая станет новым шагом в развитии компании Baidu и
китайской части интернета в целом.&lt;/p&gt;
&lt;h3 id="vozmozhnosti-platformy"&gt;Возможности платформы&lt;/h3&gt;
&lt;p&gt;С технической точки зрения Aladdin от Baidu представляет собой открытый
API к поисковой технологии Baidu, позволяющий добавлять свои данные в
структурированном виде в поисковый индекс, отмечать релевантные ключевые
слова, методы отображения информации и пометки данных гео-метками.&lt;/p&gt;
&lt;p&gt;Одним из важнейших направлений развития поисковых систем является
повышение "интеллектуальности" поиска, Baidu уделяет внимание не только
обнаружению более ценной информации в глубинах Интернета, но и
предоставлению более удобных, точных и сообразительных поисковых
сервисов.&lt;/p&gt;
&lt;p&gt;На сегодняшний день, технология Aladdin была интегрирована в ряд
приложений, позволив тем самым реализовать на страницах с результатами
поиска&amp;nbsp;множество интересных возможностей: прямой звонок клиенту для
обсуждения каких-то товаров или услуг, интеграция с почтовым сервисом,
прослушивание музыки с использованием встроенного flash-плеера и многие
другие.&lt;/p&gt;
&lt;p&gt;После обязательной процедуры подачи и рассмотрения заявки пользователям
платформы Aladdin предоставляются следующие возможности:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Добавление данных в индекс в структурированном виде&lt;/li&gt;
&lt;li&gt;Указание ключевых слов для более точного прямого воздействия на
    целевую аудиторию&lt;/li&gt;
&lt;li&gt;Управление сортировкой и отображением информационного контента&lt;/li&gt;
&lt;li&gt;Управление стилем и внешним видом имеющихся ресурсов, причем не
    только текстовых&lt;/li&gt;
&lt;li&gt;Выбор частоты обновления информации для синхронизации данных&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;На первый взгляд все эти рассуждения и заявления о функциональных
возможностях кажутся абсурдными, даже отчасти ироничными. Ну кому может
понадобиться вручную управлять результатами поиска, добавлять и
структурировать данные, возиться с сортировкой и внешним видом?&lt;/p&gt;
&lt;h3 id="vzgliad-s-drugoi-storony"&gt;Взгляд с другой стороны&lt;/h3&gt;
&lt;p&gt;Да, вся платформа Aladdin по своей задумке очень искуственна:
практически все делается вручную, но по сути это лишь процесс
интеграции, а не работа с самим контентом. Для большинства других
поисковых систем такой подход неприемлем: где найти столько людей, чтобы
управлять огромными массивами данных вручную? Наоборот все поисковые
системы стремятся по максимуму все автоматизировать и борятся с
искуственным вмешательством в поисковый индекс (т.н. SEO), но... если
вспомнить, что Baidu работает в Китае - вся затея начинает обретать
здравый смысл. Как сама компания Baidu, так и большинство их
потенциальных партнеров, клиентов и пользователей находится в примерно
одинаковой ситуации: большое количество дешевой рабочей силы,
относительно низкий уровень образования и профессиональной подготовки, а
также прочие национальные особенности. В их ситуации не выгодно идти по
пути Google и делать&amp;nbsp;&lt;em&gt;основной&lt;/em&gt; акцент на построении полностью
автоматизированных систем анализа контента, добавления дополнительного
материала к поисковым результатам и самим делать различные
дополнительные приложения и сервисы. Намного выгоднее пойти по
собственному пути, более адаптированному к ситуации в Китае, большое
количество трудолюбивых людей позволяет строить сервисы коллективно, с
привлечением партнеров, клиентов и заинтересованных лиц. Да, во многом
вручную, за счет интеграции совершенно различных систем и сервисов, но
зато более качественно и продуманно. В этом-то и заключается вся магия
Китая.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Иван Блинков</dc:creator><pubDate>Thu, 14 Jan 2010 00:01:00 +0300</pubDate><guid>tag:www.insight-it.ru,2010-01-14:highload/2010/aladdin-ot-baidu/</guid><category>Aladdin</category><category>Baidu.com</category><category>online</category><category>Масштабируемость</category><category>поиск</category><category>поисковые системы</category></item><item><title>Новый Google: интернет-гигант проливает свет на темы поиска в реальном времени, локального поиска, облачных вычислений и освобождения данных</title><link>https://www.insight-it.ru//theory/2009/novyjj-google-internet-gigant-prolivaet-svet-na-temy-poiska-v-realnom-vremeni-lokalnogo-poiska-oblachnykh-vychislenijj-i-osvobozhdeniya-dannykh/</link><description>&lt;p&gt;Когда речь заходит о продуктовых и бизнес стратегиях, &lt;a href="/tag/google/"&gt;Google&lt;/a&gt; обычно становится одной из самых скрытных и секретных компаний. Но не смотря на это, интернет-гигант некоторое время назад согласился дать серию интервью, в основном с участием высшего продуктового менеджмента, работающего в штабквартире в Mountain View, CA.&lt;/p&gt;
&lt;p&gt;В четырех отдельных интервью, сотрудники Google окунулись в самые
насущные темы, наиболее актуальные для компании в целом. Среди них
оказались различные вопросы, начиная с поиска в реальном времени,
локального поиска, и заканчивая облачными вычислениями, а также так
называемой возможностью освобождения данных. Под освобождением данных
имеется ввиду комплекс мер, направленных на предоставлении пользователям
возможности экспортировать их файлы и другую цифровую информацию из
продуктов Google (если они сами этого захотят, конечно же).&lt;/p&gt;
&lt;p&gt;Достаточно любопытный факт: менеджеры Google реально очень скучные. И им
правда нравится выглядеть именно так (по крайней мере пока их PR-коллеги
находятся рядом). Они не разговаривают о конкурентах. Они не делают
прогнозов о развитии индустрии. И они не говорят конкретно кто над чем
работает внутри Google. Просто-напросто они фокусируются на
совершенствовании своих продуктов, особенно в направлении удобства
использования пользователями, разве этого не достаточно?&lt;/p&gt;
&lt;p&gt;Возможно Jack Menzel, старший продукт-менеджер, лучше всего это выразил,
когда пошутил о "неблагодарности" работы над веб-поиском в Google: "Вы
демонстрируете [новую функцию поиска] людям, а они говорят: 'Да, вроде
она работает, ну и что?'" (Как быстро все мы забываем, каково это было
искать информацию в Интернете всего несколько лет назад.) Что ж, без
дальнейших предисловий, перейдем к основным моментам, связанным с
различными аспектами работы Google.&lt;/p&gt;
&lt;!--more--&gt;
&lt;p&gt;&lt;em&gt;По мотивам &lt;a href="https://www.insight-it.ru/goto/c19fec69/" rel="nofollow" target="_blank" title="http://www.xconomy.com/national/2009/12/21/the-new-google-internet-giant-opens-up-about-real-time-and-local-search-cloud-computing-and-data-liberation/?single_page=true"&gt;статьи на xconomy.com&lt;/a&gt;,
автор&amp;nbsp;&lt;a href="https://www.insight-it.ru/goto/1e1524b7/" rel="nofollow" target="_blank" title="Posts by Gregory T. Huang"&gt;Gregory T. Huang&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="poisk-v-realnom-vremeni"&gt;Поиск в реальном времени&lt;/h2&gt;
&lt;p&gt;Google активно работает над максимально оперативным обновлением
результатов поиска по сети Интернет, в том числе и по социальным медиа
вроде &lt;a href="/tag/twitter/"&gt;Twitter&lt;/a&gt; или &lt;a href="/tag/facebook/"&gt;Facebook&lt;/a&gt;, практически так же быстро, как такая информация и публикуется.&lt;/p&gt;
&lt;p&gt;Menzel, бывший сотрудник Microsoft, который изучал компьютерное ремесло
в University of Washington, возглавляет продуктовую группу на данном
фронте. Он говорит, что компания Google работала над ускорением процесса
индексации и ранжирования на протяжении уже многих лет: когда-то данные
обновлялись раз в месяц, потом обновление стало ежедневным, чтобы
поспевать за блогами и новостными сайтами. В течении прошлого года
&lt;a href="/tag/twitter/"&gt;Twitter&lt;/a&gt; стал популярен и, как следствие, появилась
достаточно критичная потребность в обновлении информации за считанные
секунды или в крайнем случае минуты. "Мы двигались по направлению к
тому, чтобы становиться все быстрее и быстрее, на протяжении уже
достаточно длительного периода времени", говорит Menzel. "Данная
траектория развития была выбрана уже давно. Каждый шаг в данном
направлении приводит к все новым и новым проблемам и трудностям. Мы
верим, что именно получение доступа к свежей информации является одним
из ключевых факторов, являющихся залогом успеха Google." (В число
остальных факторов, относящихся к самому поиску, входят такие показатели
как релевантность, быстрота получения результата и полнота контента.)&lt;/p&gt;
&lt;p&gt;Menzel считает, что самой сложной задачей является не просто
быстродействие, а релевантность результатов потребностям пользователей
(возможно, кто-то привык называть этот показатель словом
&lt;em&gt;"пертинентность"&lt;/em&gt;). "Это очень, очень непросто собирать свежий
короткоживущий контент и ранжировать его рядом с, скажем, статьями из
New York Times или просто постами из блогов." Стоит заметить, что когда
контент появился буквально только что, обычно на него еще практически
никто не успел сослаться, а значит Google не может полноценно
использовать PageRank, их классическую технологию.&lt;/p&gt;
&lt;p&gt;Вместо этого, они "тяжело опираются на все то, что они выявили в течении
последних 10 лет", говорит Menzel. Это включает в себя, например,
способы отбрасывания контента, который скорее всего является
иррелевантным или спамом, в более общем случае. Помимо этого он
упоминал "совершенно новые сигналы", скажем "новые языковые модели",
которые позволяют понять какие обновления являются релевантными, а
какие - просто горстка никому не нужных данных от какого-нибудь
ученого-океанографа, или методы определения насколько тот или иной
создатель контента авторитетен в своей области.&lt;/p&gt;
&lt;p&gt;Говоря о будущем, Menzel повторил то, что казалось бы на сегодняшний
день говорят все о поиске: еще рано. "На самом деле мы лишь начали
работать над данной задачей и у нас все еще очень долгий путь впереди".
Он надеется, что в течении 5 лет Google сделает поиск намного более
персонализированным, чем он есть сегодня. Например, Google будет знать
что ты увлекаешься футболом, но привык называть его не "soccer", а
"football", то есть помимо прочего поисковая система должна понимать кем
является каждый ее конкретный пользователь, как и с кем он связан, кем
он является в реальной жизни, где находится, и, тем самым, помогать ему
организовывать всю информацию вокруг него.&lt;/p&gt;
&lt;p&gt;"Поиск - все еще очень далекая от решения проблема," - говорит Menzel.
"Существует еще масса вещей, которые очень не просто найти в
Интернете."&lt;/p&gt;
&lt;h2 id="lokalnyi-poisk"&gt;Локальный поиск&lt;/h2&gt;
&lt;p&gt;В эту категорию попадают все виды поисковых запросов, так или иначе
связанных с географической информацией, скажем "отели в Гонг-Конге" или
"рестораны в Сиэттле", а также запросы с мобильных устройств на поиск
близлежащих мест, заведений, достопримечательностей и прочих объектов.&lt;/p&gt;
&lt;p&gt;Carter Maslan, директор продуктового менеджмента в области локального
поиска в Google, называет эту область "организацией мировой информации
географически" , или созданием быстрого и простого гида по
"гео-Интернету". Самым сложным моментом в данном вопросе по его мнению
является&amp;nbsp;отображение&amp;nbsp;всех этих различных способов выражения
пользовательского запроса на очень большой массив локализированных
данных, а также возвращение правильного ответа на полученный запрос в
минимальные сроки.&lt;/p&gt;
&lt;p&gt;Maslan, еще один экс-сотрудник Microsoft, говорит, что Google
обрабатывает большое количество поисковых запросов для анализа того, как
люди предпочитают искать локальную информацию, и как с географической
точки зрения создаются ссылки на различные вещи. По его мнению конечная
цель заключается в том, чтобы сделать поиск и обнаружение мест рядом с
собой практически не требующим от пользователя каких-либо усилий.
Наиболее знакомые сценарии, это помощь в ориентировании в новом
окружении, скажем после приземления в аэропорту, или поиск баров во
время ночной прогулки по пригородам Нью-Йорка.&lt;/p&gt;
&lt;p&gt;Складывается впечатление, что все это должно плотно вписываться в более
широкую&amp;nbsp;стратегию&amp;nbsp;Google, связанную с мобильными технологиями. "Ваш
телефон знает многое" - говорит Maslan. "Он знает где Вы сейчас
находитесь, он может определить в каком направлении Вы направляетесь.
Все не ограничивается только текстом в окошке для поискового запроса. Мы
хотим вывести мобильную информацию на передний план." Существующим на
данный момент примером является &lt;a href="https://www.insight-it.ru/goto/62aa81c9/" rel="nofollow" target="_blank" title="http://www.google.com/mobile/goggles/"&gt;Google Goggles&lt;/a&gt;, приложение, которое
позволяет сфотографировать логотип, достопримечательность или какое-то
место и мгновенно получить информацию о нем.&lt;/p&gt;
&lt;p&gt;Maslan считает, что основной отличительной чертой Google в области
локального поиска является "открытость для всех источников", что
достаточно сложно с технической точки зрения. Это включает в себя
пребывание в состоянии "активной глобальности", а не просто в
индексировании информации о ключевых станциях метро. "Масштаб, с которым
Google работает с картографическими и гео-кодированными данными, в
совокупности с пониманием принципов работы Интернета является ключем для
успешной работы в данной области".&lt;/p&gt;
&lt;p&gt;Возможно в скором будущем мы увидим вещи вроде карт и списков компаний
или мест от Google в еще большем количестве мест и языков по всему миру,
с еще более точной информацией, чутко реагирующей на локальные события
вроде открытия, закрытия или перемещения предприятий и организаций. "Мы
четко понимаем, какие именно вещи у нас получаются лучше всего" -
говорит Maslan. "У нас есть небольшие команды из людей, фанатично
настроенных на реализацию их наиболее правильным образом".&lt;/p&gt;
&lt;h2 id="oblachnye-vychisleniia"&gt;Облачные вычисления&lt;/h2&gt;
&lt;p&gt;Наверняка все наслышаны о знаменитых вычислениях "в облаках", то есть с
использованием программного обеспечения, работающем на удаленных
серверах, часто нескольких одновременно и в виртуализированном&amp;nbsp;окружении, а не прямо на персональном компьютере. В
этом ключе Google наиболее интересует выполнение повседневных задач,
таких как работа с электронной почтой, составление расписаний и
управление документами. На самом деле это всего лишь часть более широкой
стратегии Google по облачным вычисления - именно она создает видимость
того, что потребители, предприятия и организации арендуют вычислительный
мощности и хранилища данных через Интернет, так как это дешевле и более
эффективно для многих приложений.&lt;/p&gt;
&lt;p&gt;Ken Norton, старший продукт-менеджер Google (а также выпускник Boston
University и бывший предприниматель), поведал о Google Apps и стратегии
компании в области облачных вычислений. Команда Norton'а работает
конкретно над Google Calendar, но Google Apps также включают в себя и
другие продукты, такие как Gmail, Google Talk, Google Docs и Google
Sites. &amp;ldquo;Сеть выигрывает на том, как приложения будут потребляться&amp;rdquo; - он
сказал.&lt;/p&gt;
&lt;p&gt;Ключевым преимуществом Google на данном фронте является масштаб и
инфраструктура. "У нас есть настолько много серверов и датацентров по
всему миру, что мы можем содержать их достаточно дешево и эффективно" -
говорит Norton. Это преимущество оказывает влияние и на индивидуальные
устройства, так как оно "открывает новые возможности" для потребителей,
возможность использовать веб-приложения с любого типа устройств, будь то
смартфон, нетбук или обычный полноразмерный ноутбук.&lt;/p&gt;
&lt;p&gt;Работа Google в области облачных вычислений сфокусирована на двух
уровнях: на первом располагаются готовые программные продукты вроде
Google Apps, направленные на прямое потребление конечными пользователями
(как индивидуальными, так и корпоративными); второй же уровень занимает
App Engine, "облачная" платформа, предназначенная для использования
разработчиками программного обеспечения для эффективного построения их
собственных веб-продуктов.&lt;/p&gt;
&lt;p&gt;Относительно прогнозов на следующий год на фронте облачных вычислений,
Norton сказал, что "мы постоянно совершенствуемся". В 2009 году было
запущенно более 100 основных новых функциональных возможностей в Google
Apps - таких вещей, как видео чат в GTalk или Gmail offline. Он считает,
что Google "продолжит делать акцент на коммуникационных предложениях".
Помимо развития Gmail и Calendar, это включает в себя доведение до ума
Google Docs и придание более завершенного вида набору их возможностей.
Norton говорит, что Google также ищет возможности по расширению своих
предложений в области коллаборации, в том числе в виде продуктов для
крупного бизнеса, совместимыми с различными системами обеспечения
безопасности для аутентификации.&lt;/p&gt;
&lt;p&gt;Подведем черту: все выглядит как-будто Google совершает переход от
фокусирования на бесплатных потребительских продуктах, работающих в
"облаках", к более активной работе над платными облачными сервисами для
бизнес-пользователей.&lt;/p&gt;
&lt;h2 id="osvobozhdenie-dannykh"&gt;Освобождение данных&lt;/h2&gt;
&lt;p&gt;Последнее время в компании все больше внимания уделяется предоставлению
пользователям легко экспортировать их данные из продуктов Google, таких
как&amp;nbsp;Blogger, Google Maps, Google Docs, Chrome и App Engine
(пользовательские данные разработчиков). На первый взгляд это может
показаться очередным капризом PR-менеджеров, но на самом деле за этим
фактом стоит более глубокая и интересная инновационная стратегия.&lt;/p&gt;
&lt;p&gt;Brian Fitzpatrick, ветеран opensource разработок, возглавляет двухлетний
проект от офисов Google в Чикаго. Основная идея заключается в оказании
помощи пользователям, если они хотят получить свои файлы и другие данные
из облака Google, чтобы у них была возможность перейти на какую-то
другую систему, если они захотят. "Большинство людей не думает о
возможности экспорта данных до тех пор пока не станет слишком поздно" -
говорит Fitzpatrick. "Мы надеемся, что если вы прекратите использование
одного нашего продукта сегодня, то у вас будет возможность попробовать
другой продукт завтра."&lt;/p&gt;
&lt;p&gt;Помимо "создания правильных возможностей для пользователей" существует и
другая мотивация. "Мы, как компания, старательно работаем над такими
вещами, как поиск. Если пользователи становятся привязанным к вашим
продуктам, то вы становитесь более самодовольными, расслабленными. Если
же уйти достаточно просто, то вы будете серьезно мотивированны делать
свои продукты как можно лучше, чтобы избежать ухода пользователей любой
ценой."&lt;/p&gt;
&lt;p&gt;Что ж, теперь у нас есть эта возможность. Google считает, что эта
открытость с точки зрения пользовательских данных, заставит компанию
работать более старательно для удержания пользовательской
базы.&amp;nbsp;Fitzpatrick не знает других компаний, которые бы открыто заявляли
об инициативе создания подобных возможностей для своих пользователей.&lt;/p&gt;
&lt;p&gt;По его мнению наибольшая трудность лежит не собственно в разработке
такого функционала, а в повышение&amp;nbsp;осведомленности&amp;nbsp;пользователей о
наличии возможности экспортировать свои данные из облака. "Достаточно
сложно заставить пользователей думать, что это на самом деле важно". Но
в целом этот подход достаточно достаточно хорошо вписывается в понятие о
том, как потребители и корпоративные пользователи заботятся о всех своих
данных, когда все большая и большая их част мигрирует "в облака" и как
Google хочет быть ответственным за организацию мировых данным, шаг за
шагом, на протяжении всего пути.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Иван Блинков</dc:creator><pubDate>Tue, 29 Dec 2009 18:17:00 +0300</pubDate><guid>tag:www.insight-it.ru,2009-12-29:theory/2009/novyjj-google-internet-gigant-prolivaet-svet-na-temy-poiska-v-realnom-vremeni-lokalnogo-poiska-oblachnykh-vychislenijj-i-osvobozhdeniya-dannykh/</guid><category>cloud computing</category><category>data liberation</category><category>Google</category><category>local search</category><category>online</category><category>realtime search</category><category>интервью</category><category>интернет</category><category>облачные вычисления</category><category>освобождение данных</category><category>поиск</category><category>Сеть</category></item><item><title>it's a pic</title><link>https://www.insight-it.ru//misc/2008/its-a-pic/</link><description>&lt;p&gt;&lt;img alt="it's a pic logo" class="left" src="https://www.insight-it.ru/images/itsapic-logo.png" title="логотип"/&gt;
Не удивлюсь, если заголовок этого поста вам не сказал ровным счетом
ничего - это вполне логично. Именно эту ситуацию я и хотел бы сегодня
исправить: &lt;strong&gt;it's a pic&lt;/strong&gt; представляет собой...
&lt;!--more--&gt;
...очередной интернет-проект. Хотели увидеть что-то более
грандиозное? - читайте дальше!&lt;/p&gt;
&lt;p&gt;Начать наверное стоит с обозначения основной сути: поисковая система
изображений, ориентированная на глобальный рынок. Да-да, мы уже видели
поиск картинок в исполнении Google/Yahoo!/MSN/Яндекс/Рамблер (нужное
подчеркнуть) - скажете вы, так в чем же разница?&lt;/p&gt;
&lt;p&gt;Сейчас объясню. Никогда не возникало мысли, что частенько поиск картинок
в обычных поисковых системах по большей части выдает всякий бред, очень
слабо коррелирующий с тем, что Вы на самом деле искали? Основная их
проблема заключается в том, что способов провести ассоциацию между
текстом и изображением не так-то много. Чаще всего в их распоряжении
лишь HTML-документы, ссылающиеся на изображение. То есть на основании
атрибута &lt;code&gt;alt&lt;/code&gt; у тэга &lt;code&gt;&amp;lt;img /&amp;gt;&lt;/code&gt; и изредка anchor-текста обычных
ссылок, поисковая система должна составить представление о том, что же
на самом деле изображено в графическом файле. Варианты ручного
построения таких соответствий тоже существуют, но либо нужно платить
огромнейшему количеству человек за рутинную работу (что-то на грани
фантастики - количество изображений в Сети измеряется числом с слишком
большим количеством нулей) или подталкивать людей заниматься этим
бесплатно, оформив это, например, в виде online-игры. Обычно в таких
играх двум участникам одновременно предоставляется один и тот же набор
изображений, а их задачей является последовательно вводить свои
ассоциации связанные с текущим изображением. Если они оба ввели одно и
то же слово - оно ассоциируется с изображением, а пользователям
начисляются виртуальные очки. В общем поиск изображений по ключевым
словам - задача, связанная с массой проблем и неточностей.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;It's a pic&lt;/strong&gt; является как раз поисковой системой, призванной избавить
людей, ищущих изображения от всех этих проблем с неточностью и
некорректностью результатов. Чтобы не придумывать каких-то временных
решений проблемы было решено искоренить основательно: основная идея
заключается в использовании в качестве критерия поиска не набор ключевых
слов, а просто изображение. Сказать, что два изображения похожи,
компьютеру намного проще, чем сказать что на картинке нарисован,
например, жираф - именно на это и делает ставку этот проект.&lt;/p&gt;
&lt;p&gt;Выглядит это примерно следующим образом: допустим Вы хотите найти
побольше изображений заката и выбрать наиболее приглянувшееся, для этого
достаточно загрузить в систему с локального компьютера изображение
заката (хотя если оно уже присутствует в Сети - можно и просто указать
URL) и собственно говоря нажать кнопку "Найти" - вот и все! Вот ваши
результаты:&lt;/p&gt;
&lt;p&gt;&lt;img alt="пример работы it's a pic" class="responsive-img" src="https://www.insight-it.ru/images/itsapic-scr.jpg" title="пример работы"/&gt;&lt;/p&gt;
&lt;p&gt;Наверное Вы уже заметили, что написав приличную часть поста я так до сих
пор и не дал ссылки на саму поисковую систему. У этого есть достаточно
простая причина - проект находится в стадии закрытого
&amp;beta;-тестирования (что вы собственно говоря могли
прочитать и на скриншоте чуть выше). Так что недостаточная точность
поиска вполне объясняется скромной базой данных изображений - можно
заметить на все том же скриншоте семизначную цифру количества
изображений в его базе. Но даже из такого небольшого количества
изображений системе удается достаточно точно выбрать похожие на образец
экземпляры и отсортировать их в соответствии с их релевантностью
оригиналу.&lt;/p&gt;
&lt;p&gt;Наверняка у Вас снова напрашивается вопрос: а как же я собственно попал
в закрытую бету проекта и узнал так много о нем еще до его запуска? Нет,
мне никто так до сих пор и не дает эксклюзивной информации о проектах,
но эта информация была получена и не из Сети. Не буду тянуть и раскрою
все карты: я просто-напросто с недавних пор участвую в этом проекте.
Собственно говоря одной из основных моих задач является вывод этой
системы из закрытой бета-версии в открытую, то есть обеспечить
работоспособность алгоритмов при несколько больших нагрузках, чем
один-два разработчика одновременно, ищущих что-то просто для проверки и
тестирования.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Иван Блинков</dc:creator><pubDate>Tue, 27 May 2008 19:35:00 +0400</pubDate><guid>tag:www.insight-it.ru,2008-05-27:misc/2008/its-a-pic/</guid><category>it's a pic</category><category>online</category><category>архитектура</category><category>изображение</category><category>информационные технологии</category><category>поиск</category><category>поисковые системы</category></item><item><title>Архитектура Google</title><link>https://www.insight-it.ru//highload/2008/arkhitektura-google/</link><description>&lt;p&gt;&lt;em&gt;Эта статья датируется 2008 годом, новая версия: &lt;a href="https://www.insight-it.ru/highload/2011/arkhitektura-google-2011/"&gt;Архитектура Google 2011&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="/tag/google/"&gt;Google&lt;/a&gt;&lt;/strong&gt; - Король масштабируемости.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Каждый хоть раз слышал о &lt;a href="/tag/google/"&gt;Google&lt;/a&gt; благодаря их
всеобъемлющему, "умному" и быстрому поисковому сервису, но ни для кого
не секрет, что они не ограничиваются только им. Их платформа для
построения масштабируемых приложений позволяет выпускать множество
удивительно конкурентноспособных интернет-приложений, работающих на
уровне всего Интернета вцелом. Они ставят перед собой цель постоянно
строить все более и более производительную и масштабируемую архитектуру
для поддержки своих продуктов. Как же им это удается?
&lt;!--more--&gt;&lt;/p&gt;
&lt;h3 id="istochniki-informatsii"&gt;Источники информации&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Сразу хочу сказать, что эта запись является переводом с английского,
автор &lt;a href="https://www.insight-it.ru/goto/31bfd110/" rel="nofollow" target="_blank" title="http://highscalability.com/google-architecture"&gt;оригинальной версии&lt;/a&gt; - &lt;a href="https://www.insight-it.ru/goto/f3f1b405/" rel="nofollow" target="_blank" title="http://highscalability.com/user/todd-hoff"&gt;Todd Hoff&lt;/a&gt;. Оригинал написан приблизительно в середине 2007 года, но по-моему до сих пор очень даже актуально.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Далее следует перечисление источников информации из оригинала:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.insight-it.ru/goto/741bec4c/" rel="nofollow" target="_blank" title="http://video.google.com/videoplay?docid=-5699448884004201579"&gt;Video: Построение больших систем в Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.insight-it.ru/goto/fae0d413/" rel="nofollow" target="_blank" title="http://labs.google.com/papers/gfs.html"&gt;Google Lab: Файловая система Google (GFS)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.insight-it.ru/goto/39138d08/" rel="nofollow" target="_blank" title="http://labs.google.com/papers/mapreduce.html"&gt;Google Lab: MapReduce: упрощенная обработка данных на больших кластерах&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.insight-it.ru/goto/8667b351/" rel="nofollow" target="_blank" title="http://labs.google.com/papers/bigtable.html"&gt;Google Lab: BigTable.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.insight-it.ru/goto/dab5470e/" rel="nofollow" target="_blank" title="http://video.google.com/videoplay?docid=7278544055668715642"&gt;Video: BigTable: система распределенного хранения данных.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.insight-it.ru/goto/87fff9b2/" rel="nofollow" target="_blank" title="http://www.baselinemag.com/article2/0,1540,1985514,00.asp"&gt;Как работает Google&lt;/a&gt;
    от David Carr в Baseline Magazine.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.insight-it.ru/goto/a426f3de/" rel="nofollow" target="_blank" title="http://labs.google.com/papers/sawzall.html"&gt;Google Lab: интерпретирование данных. Параллельный анализ с помощью Sawzall.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.insight-it.ru/goto/ed8bca67/" rel="nofollow" target="_blank" title="http://www.25hoursaday.com/weblog/2007/06/25/GoogleScalabilityConferenceTripReportMapReduceBigTableAndOtherDistributedSystemAbstractionsForHandlingLargeDatasets.aspx"&gt;Записи с конференции по масштабированию от Dare Obasonjo.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="platforma"&gt;Платформа&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/tag/linux/"&gt;Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Большое разнообразие языков программирования: &lt;a href="/tag/python/"&gt;Python&lt;/a&gt;,
    &lt;a href="/tag/java/"&gt;Java&lt;/a&gt;, &lt;a href="/tag/c/"&gt;C++&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="chto-vnutri"&gt;Что внутри?&lt;/h3&gt;
&lt;h4&gt;Статистика&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;На 2006 год система включала в себя 450000 недорогих серверов&lt;/li&gt;
&lt;li&gt;За 2005 год было проиндексировано 8 миллиардов страниц. На данный
    момент&amp;hellip; кто знает?&lt;/li&gt;
&lt;li&gt;На момент написания оригинала Google включает в себя более 200
    &lt;a href="/tag/gfs/"&gt;GFS&lt;/a&gt; кластеров. Один кластер может состоять из 1000 или
    даже 5000 компьютеров&lt;/li&gt;
&lt;li&gt;Десятки и сотни тысяч компьютеров получают данные из &lt;a href="/tag/gfs/"&gt;GFS&lt;/a&gt;
    кластеров, которые насчитывают более 5 петабайт дискового
    пространства. Суммарные пропускная способность операций записи и
    чтения между дата центрами может достигать 40 гигабайт в секунду&lt;/li&gt;
&lt;li&gt;&lt;a href="/tag/bigtable/"&gt;BigTable&lt;/a&gt; позволяет хранить миллиарды ссылок (URL),
    сотни терабайт снимков со спутников, а также настройки миллионов
    пользователей&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;// Цифры не первой свежести конечно, но тоже неплохо.&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Стек&lt;/h4&gt;
&lt;p&gt;&lt;a href="/tag/google/"&gt;Google&lt;/a&gt; визуализирует свою инфраструктуру в виде
трехслойного стека:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Продукты:&lt;/em&gt; поиск, реклама, электронная почта, карты, видео, чат,
    блоги&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Распределенная инфраструктура системы:&lt;/em&gt; &lt;a href="/tag/gfs/"&gt;GFS&lt;/a&gt;,
    &lt;a href="/tag/mapreduce/"&gt;MapReduce&lt;/a&gt; и &lt;a href="/tag/bigtable/"&gt;BigTable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Вычислительные платформы:&lt;/em&gt; множество компьютеров во множестве
    датацентров&lt;/li&gt;
&lt;li&gt;Легкое развертывание для компании при низком уровне издержек&lt;/li&gt;
&lt;li&gt;Больше денег вкладывается в оборудование для исключения возможности
    потерь данных&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Надежное хранение данных с помощью &lt;a href="/tag/gfs/"&gt;GFS&lt;/a&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Надежное масштабируемое хранение данных крайне необходимо для любого
    приложения. &lt;strong&gt;GFS&lt;/strong&gt; является основой их платформы хранения
    информации&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="/tag/gfs/"&gt;GFS&lt;/a&gt;&lt;/strong&gt; - большая распределенная файловая система, способная хранить и обрабатывать огромные объемы информации&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Зачем строить что-либо самим вместо того, чтобы просто взять это с полки?&lt;/em&gt; Они контролируют абсолютно всю систему и именно эта платформа отличает их от всех остальных.&lt;/p&gt;
&lt;p&gt;Она предоставляет:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;высокую надежность дата центров&lt;/li&gt;
&lt;li&gt;масштабируемость до тысяч сетевых узлов
&amp;ndash; высокую пропускную способность операций чтения и записи&lt;/li&gt;
&lt;li&gt;поддержку больших блоков данных, размер которых может измеряться в
гигабайтах&lt;/li&gt;
&lt;li&gt;эффективное распределение операций между датацентрами для
избежания возникновения "узких мест" в системе&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;В системе существуют мастер-сервера и сервера, собственно хранящие
    информацию:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Мастер-сервера хранят метаданные для всех файлов. Сами данные
    хранятся блоками по 64 мегабайта на остальных серверах. Клиенты
    могут выполнять операции с метаданными на мастер-серверах, чтобы
    узнать на каком именно сервере расположены необходимые данные.&lt;/li&gt;
&lt;li&gt;Для обеспечения надежности один и тот же блок данных хранится
    в трех экземплярах на разных серверах, что обеспечивает
    избыточность на случай сбоев в работе какого-либо сервера.&lt;/li&gt;
&lt;li&gt;Новые приложения могут пользоваться как существующими
    кластерами, так и новыми, созданными специально для них.&lt;/li&gt;
&lt;li&gt;Ключ успеха заключается в том, чтобы быть уверенными в том,
    что у людей есть достаточно вариантов выбора для реализации их
    приложений. &lt;strong&gt;&lt;a href="/tag/gfs/"&gt;GFS&lt;/a&gt;&lt;/strong&gt; может быть настроена для
    удовлетворения нужд любого конкретного приложения.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Работаем с данными при помощи MapReduce&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Теперь, когда у нас есть отличная система хранения, что же делать с
    такими объемами данных? Допустим, у нас есть много терабайт данных,
    равномерно распределенных между 1000 компьютерами. Коммерческие базы
    данных не могут эффективно масштабироваться до такого уровня, именно
    в такой ситуации в дело вступает технология
    &lt;strong&gt;&lt;a href="/tag/mapreduce/"&gt;MapReduce&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="/tag/mapreduce/"&gt;MapReduce&lt;/a&gt;&lt;/strong&gt; является программной моделью и
    соответствующей реализацией обработки и генерации больших наборов
    данных. Пользователи могут задавать функцию, обрабатывающую пары
    ключ/значение для генерации промежуточных аналогичных пар, и
    сокращающую функцию, которая объединяет все промежуточные значения,
    соответствующие одному и тому же ключу. Многие реальные задачи могут
    быть выражены с помощью этой модели. Программы, написанные в таком
    функциональном стиле автоматически распараллеливаются и адаптируются
    для выполнения на обширных кластерах. Система берет на себя детали
    разбиения входных данных на части, составления расписания выполнения
    программ на различных компьютерах, управления ошибками, и
    организации необходимой коммуникации между компьютерами. Это
    позволяет программистам, не обладающим опытом работы с параллельными
    и распределенными системами, легко использовать все ресурсы больших
    распределенных систем.&lt;/li&gt;
&lt;li&gt;Зачем использовать &lt;strong&gt;&lt;a href="/tag/mapreduce/"&gt;MapReduce&lt;/a&gt;&lt;/strong&gt;?
    &amp;ndash; Отличный способ распределения задач между множеством компьютеров
    &amp;ndash; Обработка сбоев в работе
    &amp;ndash; Работа с различными типами смежных приложений, таких как поиск или
    реклама. Возможно предварительное вычисление и обработка данных,
    подсчет количества слов, сортировка терабайт данных и так далее
    &amp;ndash; Вычисления автоматически приближаются к источнику ввода-вывода&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="/tag/mapreduce/"&gt;MapReduce&lt;/a&gt;&lt;/strong&gt; использует три типа серверов:&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Master:&lt;/em&gt; назначают задания остальным типам серверов, а также
следят за процессом их выполнения&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Map:&lt;/em&gt; принимают входные данные от пользователей и обрабатывают
их, результаты записываются в промежуточные файлы&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Reduce:&lt;/em&gt; принимают промежуточные файлы от Map-серверов и
сокращают их указанным выше способом&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Например, мы хотим посчитать количество слов на всех страницах. Для
    этого нам необходимо передать все страницы, хранимые в &lt;strong&gt;GFS&lt;/strong&gt;, на
    обработку в &lt;strong&gt;MapReduce&lt;/strong&gt;. Этот процесс будет происходить на тысячах
    машин одновременно с полной координацией действий, в соответствии с
    автоматически составленным расписанием выполняемых работ, обработкой
    потенциальных ошибок, и передачей данных выполняемыми автоматически.&lt;ul&gt;
&lt;li&gt;Последовательность выполняемых действий выглядела бы следующим
образом: &lt;code&gt;GFS &amp;rarr; Map &amp;rarr; перемешивание &amp;rarr; Reduce &amp;rarr; запись результатов обратно в GFS&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Технология &lt;strong&gt;MapReduce&lt;/strong&gt; состоит из двух компонентов:
соответственно &lt;em&gt;map&lt;/em&gt; и &lt;em&gt;reduce&lt;/em&gt;. Map отображает один набор данных в
другой, создавая тем самым пары ключ/значение, которпыми в нашем
случае являются слова и их количества.&lt;/li&gt;
&lt;li&gt;В процессе перемешивания происходит агрегирование типов ключей.&lt;/li&gt;
&lt;li&gt;Reduction в нашем случае просто суммирует все результаты и
возвращает финальный результат.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;В процессе индексирования &lt;a href="/tag/google/"&gt;Google&lt;/a&gt; подвергает поток
    данных обработке около 20 разных механизмов сокращения. Сначала идет
    работа над всеми записями и агрегированными ключами, после чего
    результат передается следующему механизму и второй механизм уже
    работает с результатами работы первого, и так далее.&lt;/li&gt;
&lt;li&gt;Программы могут быть очень маленькими, всего лишь от 20 до 50 строк
    кода.&lt;/li&gt;
&lt;li&gt;Единственной проблемой могут быть "отстающие компьютеры". Если один
    компьютер работает существенно медленнее, чем все остальные, это
    будет задерживать работу всей системы в целом.&lt;/li&gt;
&lt;li&gt;Транспортировка данных между серверами происходит в сжатом виде.
    Идея заключается в том, что ограничивающим фактором является
    пропускная способность канала и ввода-вывода, что делает резонным
    потратить часть процессорного времени на компрессию и декомпрессию
    данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Хранение структурированных данных в BigTable&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;BigTable&lt;/strong&gt; является крупномасштабной, устойчивой к потенциальным
    ошибкам, самоуправляемой системой, которая может включать в себя
    терабайты памяти и петабайты данных, а также управлять миллионами
    операций чтения и записи в секунду.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;BigTable&lt;/strong&gt; представляет собой распределенный механизм хэширования,
    построенный поверх &lt;strong&gt;&lt;a href="/tag/gfs/"&gt;GFS&lt;/a&gt;&lt;/strong&gt;, а вовсе не реляционную базу
    данных и, как следствие, не поддерживает &lt;a href="/tag/sql/"&gt;SQL&lt;/a&gt;-запросы и
    операции типа Join.&lt;/li&gt;
&lt;li&gt;Она предоставляет механизм просмотра данных для получения доступа к
    структурированным данным по имеющемуся ключу. &lt;strong&gt;&lt;a href="/tag/gfs/"&gt;GFS&lt;/a&gt;&lt;/strong&gt;
    хранит данные не поддающиеся пониманию, хотя многим приложениям
    необходимы структурированные данные.&lt;/li&gt;
&lt;li&gt;Коммерческие базы данных попросту не могут масштабироваться до
    такого уровня и, соответственно, не могут работать с тысячами машин
    одновременно.&lt;/li&gt;
&lt;li&gt;С помощью контролирования своих низкоуровневых систем хранения
    данных, &lt;a href="/tag/google/"&gt;Google&lt;/a&gt; получает больше возможностей по
    управлению и модификации их системой. Например, если им понадобится
    функция, упрощающая координацию работы между датацентрами, они
    просто могут написать ее и внедрить в систему.&lt;/li&gt;
&lt;li&gt;Подключение и отключение компьютеров к функционирующей системе никак
    не мешает ей просто работать.&lt;/li&gt;
&lt;li&gt;Каждый блок данных хранится в ячейке, доступ к которой может быть
    предоставлен как по ключу строки или столбца, так и по временной
    метке.&lt;/li&gt;
&lt;li&gt;Каждая строка может храниться в одной или нескольких таблицах.
    Таблицы реализуются в виде последовательности блоков по 64
    килобайта, организованных в формате данных под названием
    &lt;strong&gt;SSTable&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;В &lt;strong&gt;&lt;a href="/tag/bigtable/"&gt;BigTable&lt;/a&gt;&lt;/strong&gt; тоже используется три типа серверов:&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Master:&lt;/em&gt; распределяют таблицы по Tablet-серверам, а также следят
за расположением таблиц и перераспределяют задания в случае
необходимости.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Tablet:&lt;/em&gt; обрабатывают запросы чтения/записи для таблиц. Они
разделяют таблицы, когда те превышают лимит размера (обычно 100-200
мегабайт). Когда такой сервер прекращает функционирование по
каким-либо причинам, 100 других серверов берут на себя по одной
таблице и система продолжает работать как-будто ничего не произошло.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Lock:&lt;/em&gt; формируют распределенный сервис ограничения одновременного
доступа. Операции открытия таблицы для записи, анализа
Master-сервером или проверки доступа должны быть
взаимоисключающими.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Локальная группировка может быть использована для физического
    хранения связанных данных вместе, чтобы обеспечить лучшую
    локализацию ссылок на данные.&lt;/li&gt;
&lt;li&gt;Таблицы по возможности кэшируются в оперативной памяти серверов.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="oborudovanie"&gt;Оборудование&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Как эффективно организовать большую группу компьютеров с точки
    зрения издержек и производительности?&lt;/li&gt;
&lt;li&gt;Используется самое обыкновенное ультра-дешевое оборудование и поверх
    него строится программное обеспечение, способное спокойно пережить
    смерть любой части оборудования.&lt;/li&gt;
&lt;li&gt;Тысячекратный рост вычислительной мощности может быть достигнут с
    издержками в 33 раза меньшими, если воспользоваться толерантной к
    сбоям инфраструктурой, по сравнению с инфраструктурой, построенной
    на высоконадежных компонентах. Надежность строится поверх ненадежных
    компонентов.&lt;/li&gt;
&lt;li&gt;&lt;a href="/tag/linux/"&gt;Linux&lt;/a&gt;, домашнее размещение серверов, материнские платы
    предназначенные для персональных компьютеров, дешевые средства
    хранения данных.&lt;/li&gt;
&lt;li&gt;Цена за каждый ватт энергии в расчете на производительность не
    становится меньше, что ведет к большим проблемам связанным с
    энергообеспечением и охлаждением.&lt;/li&gt;
&lt;li&gt;Использование совместного размещения в своих и арендуемых
    датацентрах.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="raznoe"&gt;Разное&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Быстрый выпуск изменений более предпочтителен, чем ожидание.&lt;/li&gt;
&lt;li&gt;Библиотеки - превалирующий метод построения программ.&lt;/li&gt;
&lt;li&gt;Некоторые приложения предоставляются в виде сервисов.&lt;/li&gt;
&lt;li&gt;Инфраструктура управляет определением версий приложений таким
    образом, что они могут выпускать новые продукты, не боясь сломать
    работу какого-либо компонента системы.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="puti-razvitiia"&gt;Пути развития&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Поддержка географически распределенных кластеров.&lt;/li&gt;
&lt;li&gt;Создание единого глобального пространства имен для всех данных. На
    данный момент данные распределены по кластерам.&lt;/li&gt;
&lt;li&gt;Более автоматизированные передача и обработка данных&lt;/li&gt;
&lt;li&gt;Решение вопросов, связанных с поддержанием работоспособности
    сервисов даже в тех случаях, когда целый кластер отключается от
    системы в связи с техническими работами или каким-либо сбоем в
    работе.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="podvodim-itogi"&gt;Подводим итоги&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Инфраструктура может быть конкурентным преимуществом.&lt;/strong&gt; Это
    определенно так для Google. Они могут выпускать новые интернет
    сервисы быстрее, с меньшими издержками, на таком уровне, что мало
    кто сможет составить им конкуренцию. Подход многих компаний сильно
    отличается от подхода &lt;a href="/tag/google/"&gt;Google&lt;/a&gt;, эти компании
    рассматривают инфраструктуру как статью расходов, они обычно
    используют совсем другие технологии и совсем не задумываются о
    планировании и организации своей системы. Google позиционирует себя
    как компанию по построению систем, что является очень современным
    подходом к разработке программного обеспечения.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Охватывание нескольких дата центров до сих пор является нерешенной проблемой.&lt;/strong&gt; Большинство сайтов базируется в одном или двух дата
    центрах. Полное распределение сайта между несколькими датацентрами
    является хитрой задачей.&lt;/li&gt;
&lt;li&gt;Взгляните на &lt;em&gt;&lt;a href="https://www.insight-it.ru/goto/30a7481/" rel="nofollow" target="_blank" title="http://hadoop.apache.org/core/"&gt;Hadoop&lt;/a&gt;&lt;/em&gt;, если у Вас
    нет времени на собственноручное построение всей архитектуры с нуля.
    &lt;em&gt;Hadoop&lt;/em&gt; является opensource воплощением в жизнь многих идей здесь
    представленных.&lt;/li&gt;
&lt;li&gt;Часто недооцениваемым преимуществом платформенного подхода является
    тот факт, что даже неопытные разработчики могут быстро и качественно
    реализовывать трудоемкие приложения на базе платформы. Но если бы
    каждый проект требовал одинаково распределенной архитектуры, то это
    создало бы много проблем, так как люди, которые понимают как это
    делается, являются достаточно большой редкостью.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Совместная деятельность не всегда является таким уж плохим занятием.&lt;/strong&gt; Если все части системы работают взаимосвязанно, то
    улучшение в одной из них сразу и абсолютно прозрачно отразится
    положительным образом и на остальных компонентах системы. В
    противном случае такой эффект наблюдаться не будет.&lt;/li&gt;
&lt;li&gt;Построение самоуправляемых систем позволяет более легко
    перераспределять ресурсы между серверами, расширять систему,
    отключать некоторые компьютеры и элегантно проводить обновления.&lt;/li&gt;
&lt;li&gt;Производить длительные операции стоит параллельно.&lt;/li&gt;
&lt;li&gt;Всему, что было сделано Google, предшествовало искусство, а не
    только крупномасштабное развертывание системы.&lt;/li&gt;
&lt;li&gt;Учитывайте возможность &lt;strong&gt;компрессии данных&lt;/strong&gt;, она является очень
    неплохим решением, если остается лишнее процессорное время, но
    присутствует нехватка пропускной способности.&lt;/li&gt;
&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Иван Блинков</dc:creator><pubDate>Thu, 31 Jan 2008 18:05:00 +0300</pubDate><guid>tag:www.insight-it.ru,2008-01-31:highload/2008/arkhitektura-google/</guid><category>BigTable</category><category>featured</category><category>GFS</category><category>Google</category><category>MapReduce</category><category>online</category><category>Sawzall</category><category>архитектура</category><category>архитектура Google</category><category>интернет</category><category>кластер</category><category>Масштабируемость</category><category>поиск</category><category>сервер</category><category>хранение данных</category></item></channel></rss>