- PVSM.RU - https://www.pvsm.ru -
На днях мы выпустили в широкое обращение свой новый инструмент, Airpal. Это веб-приложение, предназначенное для работы с базами данных, которое призвано дополнить PrestoDB от Facebook при анализе информации. И в этом посте мы бы хотели рассказать о его возможностях и особенностях.
Airpal — это открытый [1]проект. Отличительной чертой приложения является то, что оно изначально создавалось с прицелом на пользователей, не являющихся техническими специалистами. Однако мы хотели дать им инструмент, позволяющий полноценно работать с массивами данных, а заодно помочь профессионалам повысить эффективность анализа.
Люди, регулярно занимающиеся формированием выборок и обработкой данных из SQL, знают, что эти процессы не всегда удобно организованы. Нужно запоминать, как были сформулированы запросы, копировать и вставлять их в командную строку, запускать многочисленные терминалы, — всё это замедляет работу и не особо приятно. Кроме того, если в коллективе есть новички, то для них кривая обучения может быть довольно крутой. И мы решили, что все эти досадные проблемы можно было бы решить с помощью хорошего UI.
Airpal работает в связке с PrestoDB [2], открытым движком SQL-запросов для работы с большими данными. При этом работать с Presto в этом случае могут не только программисты и специалисты по обработке данных, но и сотрудники других профессий. В ряде случаев такой тандем может служить недорогой альтернативой хранилищу данных. Кроме того, Airpal может выступать в роли более дружелюбного пользователю интерфейса для доступа к большим массивам данных, хранимых в кластере Hadoop.
Airpal позволил нам сделать доступ к большим данным гораздо более демократичным. Приложение используется внутри нашей компании уже около года, и порядка трети всех сотрудников работают с базами данных посредством этого инструмента. Сколько бронирований было совершено за день? Сколько людей за истёкшие сутки переночевали в местах, найденных через наш сервис? Сколько предложений имеется в конкретном регионе, городе, районе? Сколько пользователей говорят по-немецки или по-испански? На сегодняшний день в виде Hive-таблиц в HDFS [3]у нас хранится около 1,5 петабайт данных — 25 миллионов бронирований в 34 000 городов по всему миру. И лишь со сравнительно небольшим количеством важных, ключевых таблиц мы можем использовать Presto в качестве обработчика запросов по умолчанию.
Ранее для работы с БД мы использовали веб-сервис Redshift [4]. Но по ряду причин он нас не удовлетворял: требовал установки наборе ETL-инструментов (extract, transform, load) для предварительной подготовки данных, имел ограничение на количество одновременно исполняемых запросов. Кроме того, у Redshift очень малоинформативные сообщения об ошибках, что серьёзно затруднял дебаггинг.
С точки зрения произвольных запросов и итерирования в ходе анализа, Presto гораздо «умнее» и быстрее традиционных MapReduce [5]-инструментов. Однако для нас самым полезным следствием внедрения Presto стало отсутствие необходимости усложнять процесс «интерактивного» формирования запросов. Поскольку мы работаем со своим собственным Hive-хранилищем, то можем позволить себе иметь «единственный источник достоверных данных», без тяжеловесных копий на отдельном уровне хранилища. А тот факт, что нам не нужно менять формат RC, в котором хранятся данные, сделал Presto идеальным выбором для нашей инфраструктуры.
Ключевые особенности Airpal:
Стараясь сохранить идеологию Presto, мы постарались упростить процедуру установки Airpal, так что его можно протестировать без безо всяких трудностей. Подробную информацию можно найти на GitHub [7].
Автор: AirbnbHabr
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/sql/85546
Ссылки в тексте:
[1] открытый : https://github.com/Airbnb/airpal
[2] PrestoDB: https://prestodb.io/
[3] HDFS : https://ru.wikipedia.org/wiki/Hadoop#HDFS
[4] Redshift: http://aws.amazon.com/redshift/
[5] MapReduce: https://ru.wikipedia.org/wiki/MapReduce
[6] Dropwizard : http://dropwizard.io/
[7] GitHub: https://github.com/airbnb/airpal
[8] Источник: http://habrahabr.ru/post/252859/
Нажмите здесь для печати.