The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Facebook открыл код распределённого SQL-движка для петабайтных хранилищ

07.11.2013 22:29

Компания Facebook перевела в разряд открытых систему Presto, созданную в качестве высокопроизводительной альтернативы технологиям MapReduce и Hive, ранее используемым для выполнения запросов в многопетабайтных хранилищах на базе платформы Hadoop. Presto находится в разработке с осени прошлого года и развивается для решения проблем с длительным временем отклика, свойственным существующим средствам обработки данных для имеющегося в Facebook хранилища на базе Hadoop, размер которого превысил 300 петабайт.

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

Сформированный в Presto запрос может охватывать несколько источников данных, агрегируя полученные сведения в единый итоговый результат. В качестве основной области применения Presto называется выполнение аналитических запросов, для которых допустимо время отклика от долей секунды до нескольких минут. Тем самым Presto является первым открытым решением для задач быстрой аналитики, которые ранее были доступны только через дорогие проприетарные системы или через использование свободных систем, требующих излишнего аппаратного обеспечения.

Движком поддерживается большинство элементов, определённых в спецификации ANSI SQL, включая возможность объединения таблиц, использования математических функций, строковых преобразований, регулярных выражений, операций с данными в формате JSON, оконных функций для отсеивания набора строк из результирующего запроса. Для формирования запросов можно использовать специальную консольную оболочку, модули интеграции с интегрированными средами разработки и биндинги для различных языков программирования.

Код Presto написан на языке Java и распространяется под лицензией Apache 2. Для увеличения производительности части плана выполнения запроса динамически компилируются в Java-байткод, что позволяет JVM использовать дополнительные оптимизации и сгенерировать машинный код. Код Presto создан с учётом обхода типичных проблем Java-кода c распределением памяти и сборкой мусора.

  1. Главная ссылка к новости (https://www.facebook.com/notes...)
  2. OpenNews: Увидела свет платформа для распределённой обработки данных Apache Hadoop 2
  3. OpenNews: Facebook выпустил модуль Flashcache 3.0 для организации кэширования на SSD-накопителях
  4. OpenNews: Релиз системы для организации распределенных warehouse-хранилищ Apache Hive 0.6.0
  5. OpenNews: Facebook открыл код Map-Reduce-реализации Corona
  6. OpenNews: Facebook анонсировал виртуальную машину HipHop и JIT-компилятор для языка PHP
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/38368-facebook
Ключевые слова: facebook, presto, sql, hadoop, database
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (25) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Наивный чукотский юноша (?), 23:56, 07/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Петабайтов данных

    Эхх, где бы найти применение. Ни у кого не завалялось пары петабайт? /dev/zero и /dev/random не предлагать.

     
     
  • 2.7, Аноним (-), 01:53, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У Архива Интернета сгорели сканеры: https://blog.archive.org/2013/11/06/scanning-center-fire-please-help-rebuild/

    Но с петабайтами, вроде, всё в порядке.

     
  • 2.31, Dmitry77 (ok), 14:31, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    а у тебя железо есть?
     
  • 2.37, Аноним (-), 20:58, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >>Петабайтов данных
    > Эхх, где бы найти применение. Ни у кого не завалялось пары петабайт?
    > /dev/zero и /dev/random не предлагать.

    Бери /dev/urandom

     

  • 1.8, Аноним (-), 02:06, 08/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ферма разрослась и за всеми хомяками уже так просто - не уследишь, приходится в технологии вкладывать...
     
  • 1.11, SS (??), 03:42, 08/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да это SenSage !!! =))
     
  • 1.12, G.NercY.uR (?), 06:28, 08/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Плевать на facebook с большой колокольни, а Presto хотелось бы чтобы Opera software открыла свой Presto, это было б очень хорошим шагом.
     
     
  • 2.15, anonym (?), 07:20, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    + 100
     
  • 2.18, Аноним (-), 08:31, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Истину глаголишь. Может нужно под окнами Opera Software серенаду спеть о том, как нужен нам их Presto, и тогда их сердца оттают и им захочется сделать акт доброй воли.
     
     
  • 3.20, Аноним (-), 08:48, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Осталось выяснить, а нужен ли?!
     
     
  • 4.22, G.NercY.uR (?), 10:02, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А что плохой движок, если отбросить единственный вменяемый против него довод - его закрытость?
     
     
  • 5.30, Led (ok), 12:25, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А что плохой движок, если отбросить единственный вменяемый против него довод - его закрытость?

    А ты его видел? Или сосед по парте по секрету рассказал?

     
  • 2.25, bobr (?), 10:46, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    +∞
    Движок очень неплох. Опера когда-то была моим любимым браузером (хотя не только из-за движка). Очень обидно, что последние годы она все больше и больше скатывается. Да собственно, уже скатилась.
     
  • 2.26, arisu (ok), 11:26, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Плевать на facebook с большой колокольни, а Presto хотелось бы чтобы Opera
    > software открыла свой Presto, это было б очень хорошим шагом.

    не только presto, всю 12-ю оперу. лично мне с голого престо толку никакого, а вот целиком оперу мгновенно форканул бы.

     
  • 2.29, Аноним (-), 12:24, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А кто будет его развивать? Никто!
     
  • 2.34, Аноним (-), 17:28, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чем он хорош-то?
     

  • 1.23, NikolayV81 (ok), 10:18, 08/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Движком поддерживается большинство элементов, определённых в спецификации ANSI SQL, включая возможность объединения таблиц, использования математических функций, строковых преобразований, регулярных выражений, операций с данными в формате JSON, оконных функций для отсеивания набора строк из результирующего запроса. Для формирования запросов можно использовать специальную консольную оболочку, модули интеграции с интегрированными средами разработки и биндинги для различных языков программирования."
    А сколько шума было о том что это всё лишнее...
     
     
  • 2.32, Dmitry77 (ok), 15:50, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    а ты знаешь базу которая тоже такое может сделать? с таким объёмами? с джойнами и прочими плюшками sql?

    Бывает приходит заказчик с мешком денег и говорит сделатйте (а ему это окупиться - конкурентов-то нет). Приходится отказывать - такое сделать нельзя. А манящий мешок денег так и не достаётся...

     
     
  • 3.33, NikolayV81 (ok), 16:26, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > а ты знаешь базу которая тоже такое может сделать? с таким объёмами?
    > с джойнами и прочими плюшками sql?
    > Бывает приходит заказчик с мешком денег и говорит сделатйте (а ему это
    > окупиться - конкурентов-то нет). Приходится отказывать - такое сделать нельзя. А
    > манящий мешок денег так и не достаётся...

    Не я автор текста, понятно что для каждой задачи своё решение, просто очень много было высказываний типа "вот, реляционные базы не нужны, join-ы не нужны, транзакции внутри б/д. не нужны, ключ-значение и серелизация объектов целиком - наше всё"

     
     
  • 4.35, Dmitry77 (ok), 19:24, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > реляционные базы не нужны, ключ-значение и серелизация объектов целиком - наше всё

    Я думаю такие рассуждения от бедности существующих Big data решений.

    Это типа а зачем машина, когда на автобусе можно ездить.

     
     
  • 5.36, arisu (ok), 20:04, 08/11/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    это всё от отсутствия мозгов и знаний. второе не позволяет подобрать инструмент под задачу, а первое — получить вторые.
     
  • 3.39, congocongo (?), 18:55, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    terradata
     

  • 1.24, Человек (??), 10:37, 08/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Угадай что ?
    Конечно Java !

    И кто там говорил про MySQL ???

     
     
  • 2.38, Skif (ok), 17:56, 09/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И чем вам ява не угодила?
     

  • 1.27, edwin (ok), 11:37, 08/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отлично. Очередной прекрасный продукт на прекрасной платформе (JVM) стал доступен для всех ...
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру