Обработка больших данных - один из важнейших аспектов этой цифровой эпохи. Компании все больше используют искусственный интеллект, машинное обучение и аналитику данных, которые производят и собирают больше данных. Следовательно, это приводит к огромные объемы данных которые необходимо запрашивать и эффективно анализировать.
Здесь могут помочь облачные вычисления и Presto.
Что такое Престо?
Согласно определению Amazon AWS: Presto - это распределенный механизм запросов SQL, созданный для выполнения быстрых аналитических запросов к наборам данных любого размера. В конце 2020 года он был переименован в Trino, чтобы отделить проект от Prestodb.
Преимущество Presto в том, что он имеет открытый исходный код, что означает, что он регулярно обновляется, и разработчики часто вносят в него свой вклад.
Платформа Presto работает с нереляционные источники данных как:
- Amazon S3
- Hadoop
- HDFS
- MongoDB
- HBase
И реляционные базы данных как:
- Мое пространство
- PostgresSQL и
- MS SQL Server
С участием Престо, вы можете запрашивать данные везде, где они хранятся. Это означает, что вам не нужно переносить данные в реляционную базу данных или хранилище данных. Presto был создан для SQL и поддерживает стандартную семантику SQL. Сюда входят подзапросы, сложные запросы, внешние соединения, отдельные счетчики и приблизительные процентили.
Выполнение запросов также происходит быстрее, поскольку оно выполняется параллельно архитектуре на основе памяти. Таким образом, вам больше не нужно беспокоиться о том, сколько времени может занять запрос к массивной базе данных. Результаты возвращаются за секунды.
Учиться как развернуть Presto и его архитектура в их документации.
Читайте также: Как обновить драйверы устройств в Windows 10? {Простое руководство}
Ключевые идеи
Ключевые концепции SQL широко известны. Чтобы понять, как работает Presto, нам сначала нужно понять его основные концепции.
Типы серверов
Presto использует два типа серверов: координатор сервер и работник сервер. Рабочие узлы обрабатывают запросы, извлекая данные из коннекторов. Координатор получает результаты и отправляет их клиенту. Серверы-координаторы также анализируют операторы и управляют узлами.
Он работает аналогично системам управления базами данных с массовой параллельной обработкой.
Источник изображения: tutorialspoint
Presto использует коннекторы для связи между распределенной системой и источником, например Amazon S3. Многочисленные соединители Presto для реляционных и нереляционных источников делают систему расширяемой практически для любого источника данных.
Читайте также: Как обновить драйверы в Windows 10,8,7 - Обновление драйверов устройств
Как Presto обрабатывает запросы?
Когда 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 имеет несколько преимуществ для компаний, которым необходимо обрабатывать большие объемы данных, выполнять специальные интерактивные запросы и выполнять аналитику из разрозненных источников данных.