Автор (ы) оригинала | Мартин Траверсо, Дейн Сандстрем, Дэвид Филлипс, Эрик Хванг |
---|---|
Первый выпуск | 10 ноября 2013 г.; 6 лет назад (10 ноября 2013 г.) |
Написано на | Java |
Операционная система | Кросс-платформенная |
Стандарт (а) | SQL |
Тип | Данные Склад |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | prestodb.io. prestosql.io |
Presto - высокопроизводительный, распределенный SQL обработчик запросов для больших данных. Его архитектура позволяет пользователям запрашивать различные источники данных, такие как Hadoop, AWS S3, Alluxio, MySQL, Cassandra., Kafka и MongoDB. Можно даже запрашивать данные из нескольких источников данных в рамках одного запроса. Presto - это управляемое сообществом программное обеспечение с открытым исходным кодом, выпущенное под лицензией Apache.
Компания Presto изначально была спроектирована и разработана в Facebook для их аналитиков данных для выполнения интерактивных запросов к ее большому хранилищу данных в Apache Hadoop. До Presto аналитики данных в Facebook полагались на Apache Hive для выполнения аналитики SQL в своем многопетабайтном хранилище данных. Считалось, что Hive слишком медленный для масштабов Facebook, и Presto был изобретен, чтобы заполнить пробел в выполнении быстрых запросов. Первоначальная разработка началась в 2012 году и в том же году была развернута в Facebook. В ноябре 2013 года Facebook объявил о своем выпуске с открытым исходным кодом 2013 года. В 2014 году Netflix раскрыли, что они использовали Presto для 10 петабайт данных, хранящихся в Amazon Simple Storage Service (S3).
В январе 2019 года было объявлено о создании Presto Software Foundation. Фонд - это некоммерческая организация, занимающаяся развитием распределенного механизма SQL-запросов Presto с открытым исходным кодом. Разработка Presto продолжается независимо с PrestoDB, поддерживаемым Facebook, и PrestoSQL, поддерживаемым Presto Software Foundation, с некоторым перекрестным обогащением кода.
В сентябре 2019 года Facebook пожертвовал PrestoDB Linux Foundation, учредившему Presto Foundation. Ни создатели Presto, ни ведущие участники и участники не были приглашены присоединиться к этому фонду. У фонда открытая и нейтральная модель управления, позволяющая Presto расширять и диверсифицировать свое сообщество.
Архитектура Presto очень похожа на классическую систему управления базами данных, использующую кластерные вычисления (MPP ). Его можно визуализировать как один узел-координатор, работающий синхронно с несколькими рабочими узлами. Клиенты отправляют операторы SQL, которые анализируются и планируются, после чего работникам планируются параллельные задачи. Рабочие совместно обрабатывают строки из источников данных и выдают результаты, которые возвращаются клиенту. По сравнению с исходной моделью выполнения Apache Hive, в которой для каждого запроса использовался механизм Hadoop MapReduce, Presto не записывает промежуточные результаты на диск, что приводит к значительному увеличению скорости. Presto написан на языке программирования Java.
. Один запрос Presto может объединять данные из нескольких источников. Presto предлагает соединители с источниками данных, включая файлы в Alluxio, Hadoop Distributed File System, Amazon S3, MySQL, PostgreSQL, Microsoft SQL Server, Amazon Redshift, Apache Kudu, Apache Phoenix, Apache Kafka, Apache Cassandra, Apache Accumulo, MongoDB и Redis. В отличие от других инструментов, специфичных для дистрибутива Hadoop, таких как Apache Impala, Presto может работать с любым вариантом Hadoop или без него. Presto поддерживает разделение вычислений и хранилищ и может быть развернут как локально, так и в облаке.
.