Presto SQL, теперь Trino, привносит мощь механизмов запросов аналитики больших данных в озера данных
Опубликовано: 2021-05-27Обработка больших данных является одним из важнейших аспектов цифровой эпохи. Компании больше используют искусственный интеллект, машинное обучение и аналитику данных, которые производят и собирают больше данных. Следовательно, это приводит к огромным объемам данных, которые необходимо эффективно запрашивать и анализировать.
Вот где могут помочь облачные вычисления и Presto.
Что такое Престо?
Согласно определению Amazon AWS: Presto — это распределенный механизм запросов SQL, созданный для выполнения быстрых аналитических запросов к наборам данных любого размера. В конце 2020 года он был переименован в Trino, чтобы отделить проект от Prestodb.
Преимущество Presto в том, что он с открытым исходным кодом, что означает, что он регулярно обновляется, и разработчики часто вносят в него свой вклад.
Платформа Presto работает с нереляционными источниками данных, такими как:
- Амазонка S3
- Хадуп
- HDFS
- MongoDB
- HBase
И реляционные базы данных , такие как:
- Мое пространство
- PostgresSQL и
- MS SQL-сервер
С Presto вы можете запрашивать данные, где бы они ни хранились. Это означает, что вам не нужно передавать данные в реляционную базу данных или хранилище данных. Presto был создан для SQL и поддерживает стандартную семантику SQL. Это включает в себя подзапросы, сложные запросы, внешние соединения, отдельные счетчики и приблизительные процентили.
Выполнение запросов также происходит быстрее, поскольку выполняется параллельно архитектуре на основе памяти. Таким образом, вам больше не нужно беспокоиться о том, сколько времени может занять запрос к огромной базе данных. Результаты возвращаются через несколько секунд.
Узнайте, как развернуть Presto и его архитектуру, из их документации.
Читайте также: Как обновить драйверы устройств в Windows 10? {Простое руководство}
Ключевые идеи
Ключевые понятия SQL широко известны. Чтобы понять, как работает Presto, нам сначала нужно понять его основные концепции.
Типы серверов
Presto использует два типа серверов: сервер- координатор и рабочий сервер. Рабочие узлы обрабатывают запросы, извлекая данные из соединителей. Координатор получает результаты и отправляет их клиенту. Серверы-координаторы также анализируют операторы и управляют узлами.
Он работает аналогично системам управления базами данных Massive Parallel Processing.
Источник изображения: туториалы
Presto использует соединители для связи между распределенной системой и источником, например, Amazon S3. Многочисленные соединители Presto для реляционных и нереляционных источников делают систему расширяемой практически для любого источника данных.

Читайте также: Как обновить драйверы в Windows 10,8,7 — обновить драйверы устройств
Как Presto обрабатывает запросы?
Когда presto получает запрос, он выполняет его, разбивая его на несколько этапов. Обычно система создает корневую стадию и связанные с ней стадии. Затем этапы распределяются на задачи по рабочим узлам.
Преимущества использования Престо
Presto становится очень популярным среди крупных компаний, таких как Netflix, Facebook, Atlassian и Airbnb. Например, Facebook использует Presto для обработки одного петабайта данных каждый день, выполняя более 30 тысяч запросов.
Presto включает два отдельных проекта с открытым исходным кодом: PrestoSQL (теперь он называется Trino) и PrestoDB. Он очень популярен для широкого спектра вариантов использования в различных типах озер и хранилищ данных. Давайте рассмотрим некоторые преимущества, которые делают Presto таким популярным.
1. Простая интеграция
Одним из ключевых преимуществ Presto является то, что он интегрируется с вашей существующей системой данных без необходимости внесения изменений. Таким образом, добавляя Presto, вы добавляете возможности быстрой аналитики без необходимости настройки существующей системы.
2. Более высокая производительность
Одной из причин разработки Presto было то, что существующий Apache Hive плохо работал с интерактивными запросами. Presto предназначен для обработки интерактивных запросов бизнес-аналитики. Кроме того, он следует модели push, обрабатывая SQL-запрос с использованием нескольких этапов одновременно, что означает, что все этапы конвейеризированы без ожидания между этапами.
Presto также поддерживает передачу данных из памяти в память без необходимости записи данных на диск, что повышает производительность.
3. Предназначен для облака
Presto управляет хранилищем и вычислениями отдельно, что делает его очень подходящим для облачных сред. Компании, использующие PrestoSQL, могут легко увеличивать или уменьшать масштаб в зависимости от нагрузки, не вызывая потери данных. Это может произойти из-за того, что кластер Presto не хранит никаких данных.
4. Единый SQL-интерфейс
SQL — самый популярный язык для анализа данных. Специалисты по данным, аналитики и инженеры используют SQL для обработки, анализа и тестирования данных, интегрируя их с инструментами бизнес-аналитики.
Presto может запрашивать данные не только из источников SQL, но и из баз данных NoSQL, таких как Elasticsearch и Cassandra. Он поддерживает подключение ANSI-SQL и Postgres. Это дает Presto универсальность, которой нет у других распределенных систем.
Интерфейс идеально подходит для данных среднего размера, поскольку он имеет те же оконные функции, что и PostgreSQL.
Читайте также: Как обновить графические драйверы в Windows 10 {Простое руководство}
Для чего вы можете использовать Presto?
Presto используется в разных отраслях для самых разных целей. Он особенно подходит для специальных и интерактивных запросов. Давайте рассмотрим некоторые распространенные варианты использования:
Аналитика озера данных
Вы можете использовать PrestoSQL для запроса данных в озере данных без необходимости преобразования данных. Presto позволяет запрашивать данные там, где они находятся. Поэтому вы можете использовать его для расширения возможностей аналитики озера данных, запрашивая структурированные и неструктурированные данные.
Специальные запросы
Presto позволяет выполнять запросы в любое время, независимо от того, где находятся ваши данные. Еще лучше то, что с коннекторами Presto ваши команды могут получать доступ к наборам данных из самых разных источников данных, а поскольку запросы выполняются за секунды, а не часы, ваша система работает быстрее.
Пакетный ETL
Вместо использования устаревших систем пакетной обработки вы можете использовать Presto для выполнения запросов, эффективно использующих ресурсы. Вы можете агрегировать данные из нескольких источников данных и выполнять запросы с высокой пропускной способностью.
Таким образом, Presto имеет несколько преимуществ для компаний, которым необходимо обрабатывать большие объемы данных, выполнять специальные интерактивные запросы и выполнять аналитику из разрозненных источников данных.