Выпущена альфа-версия для разработчиков массово-параллельного приблизительного механизма запросов для выполнения интерактивных SQL-запросов к большим объемам данных.
BlinkDB разрабатывается в Калифорнийском университете в Беркли. Он разработан для решения проблемы, присущей большим данным: если объем данных огромен, выполнение запроса ко всему набору данных займет очень много времени. BlinkDB использует выборку, выбирая подмножество данных, чтобы пользователь мог запустить интерактивный запрос, который дает потенциально менее точные результаты, но где результаты появляются за приемлемое время ответа. Затем результаты отображаются со значимыми полосами погрешностей.
У BlinkDB есть две ключевые идеи; во-первых, структура, которая создает и поддерживает набор многомерных выборок из исходных данных с течением времени. Эта структура адаптируется и оптимизируется, чтобы обеспечить наилучший доступный набор данных. Вторая ключевая идея — это стратегия динамического выбора выборки, которая выбирает выборку подходящего размера на основе требований пользователей с точки зрения точности и / или времени отклика.
На VLDB 2012 было продемонстрировано, что BlinkDB работает в 200 раз быстрее, чем Hive, на 100-узловом кластере Amazon EC2, отвечая на ряд запросов по 17 ТБ данных менее чем за две секунды с погрешностью от двух до 10 процентов. Выбранная рабочая нагрузка представляла собой набор трассировок доступа к мультимедиа от Conviva Inc. Тестовый запрос просто вычислял среднее время сеанса пользователя с предикатом фильтрации в столбце даты и GROUP BY в столбце города. Затем команда сравнила время отклика полного (точного) выполнения этого запроса в Hive on Hadoop и Hive on Spark (Shark) — как с кэшированием, так и без него, с его (приблизительным) выполнением на BlinkDB с погрешностью 1% для каждый город с достоверностью 95%. Результаты варьировались от десяти до 200 раз быстрее, чем его аналоги, в зависимости от кэширования, потому что он может читать гораздо меньше данных для вычисления довольно точного ответа.
Текущая версия BlinkDB поддерживает несколько ограниченный набор декларативных запросов в стиле SQL и предоставляет приблизительные результаты для стандартных агрегатных запросов SQL, включающих COUNT, AVG, SUM и PERCENTILE. Если вы запускаете запрос, содержащий эти операции, вы можете указать либо границу ошибки, либо временное ограничение, чтобы определить, как вы хотите, чтобы запрос выполнялся. На основе этого квалификатора система выбирает подходящий образец для работы. Альфа-версия BlinkDB для разработчиков может быть загружена с GitHub.
Вы можете узнать больше о BlinkDB, Spark, Shark, Mesos и других компонентах Berkeley Data Analytics Stack на третьем семинаре AMP Camp Big Data Bootcamp в конце августа. Мероприятие пройдет с 29 по 30 августа 2013 года в Калифорнийском университете в Беркли, а также будет бесплатно транслироваться в прямом эфире и архивироваться видео.
В лагере также будут обсуждаться новейшие проекты BDAS с открытым исходным кодом, включая MLbase (удобная система для распределенного машинного обучения), GraphX (устойчивая распределенная графическая система на Spark) и Tachyon (отказоустойчивая распределенная файловая система, обеспечивающая надежную обмен файлами со скоростью памяти в рамках кластерных структур). Люди, которые присутствуют лично, принимают участие в практических упражнениях, охватывающих оба дня мероприятия, где каждому участнику предоставляется настоящий вычислительный кластер, работающий на Amazon EC2 с уже установленным программным обеспечением BDAS. Затем участники следуют пошаговым инструкциям, анализируя реальные данные из Википедии.