Выполняйте запросы данных быстрее с помощью Drill


Новая распределенная система Drill для интерактивного анализа крупномасштабных наборов данных, вдохновленная Google Dremel, была принята в Apache Incubator.

Главная привлекательность Dremel, системы запросов, используемой для аналитики Google BiqQuery, – это возможность хранить и выполнять поиск в наборах данных из триллионов строк без необходимости использования Hadoop.

Хотя Hadoop очень эффективен при использовании инфраструктуры MapReduce для выполнения пакетного анализа, пакетный характер работы делает Hadoop непригодным для анализа транзакционных данных.

Для сравнения, Drill может выполнять запросы данных с гораздо большей скоростью. Команда Drill говорит, что он похож на Dremel от Google с дополнительной гибкостью, необходимой для поддержки более широкого диапазона языков запросов, форматов данных и источников данных. Он разработан для эффективной обработки вложенных данных, и его цель – возможность масштабирования до 10 000 серверов или более и возможность обрабатывать петабайты данных и триллионы записей за секунды.

Согласно предложению Apache Incubator, которое отстаивает Тед Даннинг, как и Dremel, Drill поддерживает вложенную модель данных с данными, закодированными в нескольких форматах, таких как JSON, Avro или Protocol Buffers.

Он указывает на то, что во многих организациях вложенные данные являются стандартом, поэтому поддержка вложенной модели данных устраняет необходимость в нормализации данных.

Архитектура Drill состоит из четырех ключевых компонентов или слоев:

Слой языков запросов отвечает за анализ пользовательского запроса и построение плана выполнения. Первоначальная цель – поддержка SQL-подобного языка, используемого Dremel и Google BigQuery, DrQL. Drill также предназначен для поддержки других языков и моделей программирования, таких как Mongo Query Language, Cascading и Plume.

Drill имеет механизм распределенного выполнения с малой задержкой, который отвечает за выполнение физического плана. Он обеспечивает масштабируемость и отказоустойчивость, необходимые для эффективного запроса петабайт данных на 10 000 серверов. Механизм выполнения Drill основан на исследованиях механизмов распределенного выполнения, таких как Dremel, Dryad, Hyracks, CIEL и Stratosphere, а также столбчатого хранилища.

Слой вложенных форматов данных отвечает за поддержку различных форматов данных с первоначальной целью поддержки формата на основе столбцов, используемого Dremel.

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

Уровень масштабируемых источников данных отвечает за поддержку различных источников данных, начиная с Hadoop.


Добавить комментарий