В свое время инженеры Google решили отказаться от использования параллельных СУБД и сделали ставку на технологию MapReduce, которая позволяет индексировать информацию World Wide Web посредством распределенной сети, объединяющей недорогие серверы на базе ПК. В январе 2008 года компания Google с помощью MapReduce ежедневно обрабатывала порядка 20 Пбайт данных.
Внутреннее тестирование в конце ноября показало, что процедура сортировки 1 Тбайт данных посредством программного обеспечения MapReduce, выполняемая на тысяче серверов, занимает 68 секунд.
Благодаря таким результатам у технологии MapReduce и ее версии с открытым кодом Hadoop появилось множество поклонников, полагающих, что при работе в крупных grid-средах и построении инфраструктуры облачных вычислений новая технология превосходит традиционные реляционные системы управления базами данных, существующие уже 40 лет, и в конечном итоге полностью вытеснит их.
Ведущий технический эксперт корпорации Microsoft Дэвид Девитт и легенда мира систем управления базами данных директор по технологиям компании Vertica Systems Майкл Стоунбрейкер, принимавшие участие в составлении отчета, давно утверждали, что технологии MapReduce не хватает многих ключевых функций, ставших стандартными для СУБД, и в общем случае она представляет собой «существенный шаг назад».
В этом смысле отчет, озаглавленный A Comparison of Approaches to Large-Scale Data Analysis («Сравнение подходов, применяемых при анализе масштабных массивов данных»), весьма показателен и полностью отражает острый характер дискуссии, развернувшейся вокруг технических достоинств каждого из подходов. Ассоциация Association for Computing Machinery, объединяющая 92 тыс. членов, намерена опубликовать его в июньском номере журнала ACM SIGMOD Record, посвященном организации управления данными.
Помимо Девитта и Стоунбрейкера, авторами отчета были пятеро исследователей из университета Брауна, Йельского университета, Массачусетского технологического института и Университета штата Висконсин.
В ходе тестирования Девитт и Стоунбрейкер сравнивали два параллельных кластера из 100 узлов, работавших под управлением строковой СУБД одного из крупнейших производителей реляционных систем и СУБД Vertica с хранением данных по столбцам, с аналогичной конфигурацией MapReduce. На серверах, оснащенных процессорами Intel Core 2 Duo с тактовой частотой 2,4 ГГц, оперативной памятью емкостью 4 Гбайт, жесткими дисками SATA-I объемом 250 Гбайт и портами Gigabit Ethernet, была установлена 64-разрядная операционная система Red Hat Enterprise Linux.
Итак, каковы же результаты? СУБД работали значительно быстрее и требовали для решения каждой задачи меньшего объема кода, однако процедура настройки и загрузки данных занимала более продолжительное время. Кластеры СУБД на различных аналитических задачах демонстрировали производительность, превышавшую показатели MapReduce в 3,1-6,5 раза.
Кроме того, технология MapReduce требовала от разработчиков написания дополнительного кода или выполнения вручную тех операций, которые большинством СУБД SQL обрабатывались автоматически.
По итогам тестирования можно сделать вывод, что MapReduce, вероятно, лучше подходит для разработки силами небольшого числа программистов и для решения узкого спектра задач. Однако отсутствие четких ограничений препятствует реализации долгосрочных и крупномасштабных проектов.
Аналитик отрасли баз данных Курт Монаш согласен с таким заключением.
«Результаты достаточно четко свидетельствуют в пользу традиционных СУБД, — отметил он. — На сегодняшний день системы управления базами данных являются более зрелым продуктом».
Исследователи назвали около десяти поставщиков СУБД с параллельной обработкой, в том числе компании Teradata, Aster Data, Netezza, DATAllegro (ныне Microsoft), Dataupia, Vertica, ParAccel, Hewlett-Packard, Greenplum, IBM и Oracle.
Полученные результаты укрепили уверенность Монаша в том, что MapReduce демонстрирует превосходные результаты только при решении ограниченного спектра задач, например выполняемых Google процедур индексирования и текстового поиска, а также добычи данных.
В других случаях использовать MapReduce имеет смысл, лишь если применение традиционных, основанных на SQL-аппарате СУБД по каким-то причинам оказывается неудобным.
Для тестирования исследователи выбрали кластеры, объединяющие 100 серверов, а не тысячу, как это происходит у Google.
Чрезвычайная эффективность современных СУБД исключает необходимость развертывать такое большое количество оборудования при обработке данных объемом 1-2 Пбайт, утверждают исследователи. А, поскольку в мире чрезвычайно ограниченное число наборов данных приближается по своему объему к петабайту, неясно, многим ли пользователям MapReduce действительно понадобится тысяча узлов.
Google осваивает семантический поиск
Компания Google интегрировала в свою поисковую систему технологию семантического поиска. Этот шаг позволит лидеру рынка еще немного приблизить будущее поиска в Internet, каким его видят некоторые аналитики.
Новая технология поможет поисковому механизму Google выявлять концепцию запроса и находить связанные с ним термины. А уточнение списка связанных терминов в свою очередь положительно отражается на выдаваемых поисковым механизмом результатах.
«Если, скажем, в поисковом запросе присутствует словосочетание ‘физические принципы’, наши алгоритмы включают в список связанные термины, которые призваны помочь вам найти то, что нужно, например такие: ‘момент импульса’, ‘специальная теория относительности’, ‘теория большого взрыва’ и ‘квантовая механика’», — говорится в блоге, обновляемом двумя техническими специалистами Google.
Последнее время Google все чаще подвергают критике за использование устаревшего подхода к обработке поисковых запросов, основанного на анализе ключевых слов, а не на распознавании их значения.
Однако, похоже, в Google признали важность применения семантической технологии в поисковых механизмах будущего, уточнив, впрочем, что семантические функции будут являться лишь составной частью общего алгоритма и их применение отнюдь не отменяет традиционного анализа ключевых слов.
«Наша компания действительно делает ставку на ключевые слова, но мы думаем, что со временем поисковый механизм избавится от этого ограничения, — отмечала вице-президент Google Марисса Мейер в интервью службе новостей IDG в октябре 2007 года. — Пользователи должны иметь возможность задавать вопросы, а нам нужно понимать их смысл, ведь человеку свойственно мыслить на концептуальном уровне. И многие полагают, что возможным решением данной задачи является переход к Web-технологиям семантического анализа.
Вместе с тем Google, анализируя огромные объемы обработанной поисковой информации, уже сегодня предлагает контекстный поиск с использованием аббревиатур. Мне кажется, что наилучший поисковый алгоритм должен сочетать принципы ‘грубой вычислительной силы’ и глубокого понимания, а также учитывать человеческий фактор, который тоже так или иначе сказывается на составлении запроса».
Генеральный директор Google Эрик Шмидт, касаясь темы Semantic Web, не раз намекал, что компании стоит более серьезно задуматься об этом: «Разве не в том наша цель, чтобы поисковый механизм распознавал смысл всей фразы, а не только входящих в нее слов? Причем в данной области нами уже сделано довольно много открытий, обещающих принести неплохие результаты».
Конкуренты Google также активно работают над совершенствованием механизмов семантического поиска, обещая пользователям главное преимущество данной технологии: возможность формулирования запросов на естественном языке с последующим распознаванием поисковым механизмом их смысла.
— Хуан Карлос Перес,
Служба новостей IDG, Майами