НовостиОбзорыСобытияIT@WorkРеклама
Идеи и практики автоматизации:

Блог

Hadoop 2.0 и возрождение SQL

"Big data analytics" звучали на июньском Hadoop Summit практически в каждом из десятков выступлений, однако за этими модными трендами скрывается большой объем реального и очень мощного развития как самой платформы распределённых вычислений Hadoop, так и связанных с ней околотехнологий, от NoSQL до SQL. Фейсбук, например, хранит 30 петабайтов данных в кластерах Hadoop.

[spoiler]Удивительно, но несмотря на активное развитие NoSQL, вновь возрождается интерес к классическому SQL, хотя он, понятно, не слишком хорошо подходит для нереляционных БД. Связано это конечно с огромными инвестициями в SQL-движки и SQL-обучение, с одной стороны, и высоким порогом вхождения в мир Hadoop, с другой. Надо хорошо понимать принципы построения эффективных распределенных систем, изучить технологию MapReduce и на её основе строить правильные запросы к БД в духе NoSQL.

Созданное в фейсбуке хранилище Hive для Hadoop поддерживает сильно урезанную версию SQL, однако в ней реализована лишь трансляция SQL-кода в пакетные запросы MapReduce, и такая связка работает медленно. В текущем году вышло довольно много продуктов, которые предлагают развитый движок SQL-запросов к Hadoop либо вообще форк Hadoop, оптимизированный под SQL.

Facebook кстати уже анонсировал СУБД Presto - замена Hive, способная в реальном времени обрабатывать сотни петабайтов. Если Hive требуется для просмотра всей БД много минут, то Presto SQL вернет ответ менее чем за секунду, хотя сложные запросы конечно все равно будут выполняться единичные минуты. Особенность Presto - она всегда работает в ОЗУ и никогда не пишет на диск! К концу года обещана опенсорсной.

Впрочем, скоро этим мучениям придет конец: на саммите была анонсирована версия Hadoop 2.0 (обещана уже в этом году), в которой код MapReduce будет полностью заменен на модульную архитектуру YARN (Yet Another Resource Negotiator), которая позволит подключать аналитические системы любых конструкций, а MapReduce станет рядовой подсистемой в их перечне.
С архитектурой YARN можно познакомиться тут:
http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html

А кому не терпится, уже сейчас можно порекомендовать следующие продукты «SQL-for-Big Data»:
- Amazon Redshift;
- Stinger - стократно ускоренная Hive с SQL-интерфейсом;
IBM Big SQL - солидный SQL для солидных людей :) Работает напрямую с Hadoop Distributed File System в обход MapReduce;
EMC Pivotal - SQL-движок запросов к Hadoop-дистрибутиву Pivotal HD;

Ну и конечно свободная Cloudera Impala.
http://blog.cloudera.com/blog/2012/10/cloudera-impala-real-time-queries-in-apache-hadoop-for-real/
Андрей Бердников
Согласен! Сергей просто отличный технический журналист!!! Коротко и по существу. Слов не много, а объем полученной информации огромный. Дальше уже каждый сам решает как действовать.
Сергей Бобровский
Спасибо большое за добрые слова, хотя и несколько неожиданно:)
Сергей Бобровский
Благодарю)) Я буду стараться и дальше.