Система обработки запросов Presto, разработанная инженерами Facebook и выпущенная под лицензией с открытым исходным кодом, написана на языке Java и предназначена для выполнения запросов на языке SQL к петабайтным объемам данных. Presto на постоянной основе используют свыше тысячи сотрудников Facebook, и ежедневно она выполняет около 30 тыс. запросов, обрабатывая больше петабайта данных. Система работает на кластере из тысячи узлов. В отличие от системы Hive для кластерной СУБД Hadoop, Presto не использует методы MapReduce. Вся обработка проводится в оперативной памяти. В результате, как утверждают в Facebook, Presto в десять раз эффективнее использует процессорные ресурсы, чем Hive с MapReduce. Кроме того, Presto может работать с данными, хранящимися не только в Hadoop, но и в HBase, Scribe, реляционных СУБД, а также в специализированных хранилищах данных — одним из них является система, где Facebook хранит ленты новостей.

Системы ускоренной обработки SQL-запросов к большим объемам данных, хранящихся в Hadoop, разрабатывают и другие компании. Компания Pivotal для этого создала систему Hawq, а Cloudera ведет разработку пакета Impala.

Поделитесь материалом с коллегами и друзьями

Купить номер с этой статьей в PDF