Facebook открыла исходники распределённой реляционной СУБД для работы с петабайтами

Компания Facebook открыла исходные коды Presto — новой распределённой системы управления базами данных, которая, с одной стороны, полностью поддерживает стандартный язык запросов SQL, а с другой — позволяет строить кластеры, состоящие из сотен узлов, и обрабатывать на них петабайты данных.

В дата-центрах Facebook хранится более 300 петабайт информации.
В дата-центрах Facebook хранится более 300 петабайт информации.

Это уже не первая попытка Facebook совместить удобство реляционных СУБД и масштабируемость, свойственную MapReduce и NoSQL-решениям. Несколько лет назад инженеры компании разработали систему хранения данных Hive. В отличие от Presto, её основой служила платформа Hadoop (открытая реализация концепции MapReduce). Кроме того, Hive не понимала SQL. Система использовала похожий, но не совпадающий язык запросов.

Создатели Presto пришли к выводу, что отказ от MapReduce значительно ускорит обработку запросов. И, судя по всему, не зря: их разработка на порядок превосходит Hive по эффективности загрузки процессора и времени задержки. 

В посте Мартина Траверсо, участвовавшего в работе над Presto, кратко обрисовывается архитектура Presto:

«Клиент отправляет SQL координатору Presto. Координатор разбирает запрос, анализирует его, а затем планирует исполнение запроса. Диспетчер соединяет конвейер исполнения, даёт поручения узлам, которые расположены ближе всего к данным, и следит за продвижением обработки. Клиент извлекает данные из внешней ступени, которая, в свою очередь, заимствует их с ещё более низких уровней».

На схеме этапы этого пути показаны в виде зелёных прямоугольников. Parser производит разбор, planner планирует, а scheduler — делит работу между серверами.

1467246_10151935581722200_1107575290_n

Presto реализована на Java. Более того, система способна компилировать в байт-код Java даже сами запросы SQL, причём делать это так, чтобы по возможности избежать проблем с выделением памяти и сборкой мусора. На этом превращения запроса на заканчиваются: виртуальная машина, исполняющая байт-код, «на лету» компилирует его в машинный код. В результате он выполняется ещё быстрее.

Разработка Presto началась около года назад. В начале 2013 года первые версии этой системы стали внедрять в Facebook. Весной соцсеть начала полномасштабный переход на Presto. Теперь она работает на нескольких гигантских кластерах (количество узлов в одном из них может достигать тысячи), ежедневно исполняя более 30 тысяч запросов к петабайту информации.

Исходные коды Presto опубликованы на сервисе Github: вот её репозиторий. Как в случае Hive, для новой системы в Facebook выбрали свободную лицензию Apache.




Коды для вставки в блог\форум




Интересные новости
Правоохранители выявили сайт, собиравший персональные данные украинцев (фото)Правоохранители выявили сайт, собиравший персональные данные украинцев (фото)
Конкурент Amazon. Facebook запустит новую функцию для онлайн-магазиновКонкурент Amazon. Facebook запустит новую функцию для онлайн-магазинов
Facebook сохранит удаленку после пандемииFacebook сохранит удаленку после пандемии
Минцифры возобновило диалог с PayPalМинцифры возобновило диалог с PayPal
В "Киевстар" сообщили о масштабном сбое в работе домашнего интернетаВ "Киевстар" сообщили о масштабном сбое в работе домашнего интернета
Блок рекламы


Похожие новости

Facebook сохранит удаленку после пандемииFacebook сохранит удаленку после пандемии
Конкурент Amazon. Facebook запустит новую функцию для онлайн-магазиновКонкурент Amazon. Facebook запустит новую функцию для онлайн-магазинов
Facebook выплатит модераторам $52 млн компенсаций за полученные на работе психологические травмыFacebook выплатит модераторам $52 млн компенсаций за полученные на работе психологические травмы
Facebook за 2,5 месяца удалил 2,5 миллиона постов про коронавирусFacebook за 2,5 месяца удалил 2,5 миллиона постов про коронавирус
Сотрудники Google, Facebook и других гигантов будут работать из дому до конца годаСотрудники Google, Facebook и других гигантов будут работать из дому до конца года
После 19 лет работы из Google ушел главный "серый кардинал" компанииПосле 19 лет работы из Google ушел главный "серый кардинал" компании
Facebook удалил около 100 связанных с Россией учетных записейFacebook удалил около 100 связанных с Россией учетных записей
Facebook отчитался о самом низком росте выручки с момента основания компанииFacebook отчитался о самом низком росте выручки с момента основания компании
Facebook анонсировал новую функцию для видеозвонков до 50 человекFacebook анонсировал новую функцию для видеозвонков до 50 человек
Facebook купила долю индийского оператора связи Reliance JioFacebook купила долю индийского оператора связи Reliance Jio
Последние новости

Подгружаем последние новости