В бизнесе баз данных рождается вечная надежда. Хотя мы все еще слышим о хранилищах данных (базах данных быстрого анализа, обычно имеющих столбчатое хранилище в памяти) и инструментах, улучшающих этап ETL (извлечение, преобразование и загрузка), мы также слышим об улучшениях в озерах данных (которые хранить данные в их собственном формате) и объединение данных (интеграция данных по запросу из разнородных хранилищ данных).

Престо продолжает появляться как быстрый способ выступить SQL запросы на больших данных, которые хранятся в файлах озера данных. Presto – это распределенный механизм SQL-запросов с открытым исходным кодом для выполнения интерактивных аналитических запросов к источникам данных любого размера. Presto позволяет запрашивать данные там, где они находятся, включая Hive, Cassandra, реляционные базы данных и собственные хранилища данных. Один запрос Presto может объединять данные из нескольких источников. Facebook использует Presto для интерактивных запросов к нескольким внутренним хранилищам данных, включая их хранилище данных 300 ПБ.

Presto Foundation – это организация, которая наблюдает за развитием проекта с открытым исходным кодом Presto. Facebook, Uber, Twitter и Alibaba основали Presto Foundation. Дополнительные члены теперь включают Alluxio, Ahana, Upsolver и Intel.

Ahana Cloud для Presto, предмет этого обзора, представляет собой управляемую услугу, которая упрощает Presto для облака. Как мы увидим, Ahana Cloud for Presto работает на Amazon, имеет довольно простой пользовательский интерфейс и обеспечивает сквозное управление жизненным циклом кластера. Он работает в Kubernetes и обладает высокой масштабируемостью. Он имеет встроенный каталог и простую интеграцию с источниками данных, каталогами и инструментами панели мониторинга.

Среди конкурентов Ahana Cloud for Presto: Датабрикс Дельта Лейк, Куболе, а также BlazingSQL. Проведу сравнения в конце статьи.

Архитектура Престо и Ахана

Престо нет реляционная база данных общего назначения. Скорее, это инструмент, предназначенный для эффективного запроса огромных объемов данных с помощью распределенных SQL-запросов. Хотя он может заменить инструменты, которые запрашивают HDFS с помощью конвейеров заданий MapReduce, таких как Hive или Pig, Presto был расширен для работы с различными типами источников данных, включая традиционные реляционные базы данных и другие источники данных, такие как Cassandra.

Короче говоря, Presto предназначен не для обработки онлайн-транзакций (OLTP), а для онлайн-аналитической обработки (OLAP), включая анализ данных, агрегирование больших объемов данных и создание отчетов. Он может запрашивать самые разные источники данных, от файлов до баз данных, и возвращать результаты в ряд сред бизнес-аналитики и анализа.

Престо – это проект с открытым исходным кодом действующей под эгидой Facebook. Он был изобретен в Facebook, и проект продолжает развиваться как внутренними разработчиками Facebook, так и рядом сторонних разработчиков под контролем Presto Foundation.

Масштабируемая кластерная архитектура Presto использует координатор для синтаксического анализа, планирования и составления расписания SQL, а также ряд рабочих узлов для выполнения запросов. Наборы результатов от рабочих передаются обратно клиенту через координатора.

Пакеты Ahana Cloud управляли Presto, каталогом метаданных Hive, озером данных, размещенным на Amazon S3, управлением кластером и доступом к базам данных Amazon в то, что фактически является облачным хранилищем данных в открытом, дезагрегированном стеке, как показано на схеме архитектуры ниже. Коннектор Presto Hive управляет доступом к ORC, Parquet, CSV и другим файлам данных.

ахана для presto 03 Ахана

В соответствии с реализацией на AWS, Ahana Cloud for Presto размещает консоль SaaS за пределами VPC клиента, а кластеры Presto и хранилище метаданных Hive – внутри VPC клиента. Корзины Amazon S3 служат хранилищем для файлов данных.

Плоскость управления Ahana обеспечивает оркестровку кластера, ведение журнала, безопасность и контроль доступа, выставление счетов и поддержку. Кластеры и хранилище Presto находятся внутри VPC клиента.

Использование Ahana Cloud для Presto

Ахана предоставила мне практическую лабораторию, которая позволила мне создать кластер, подключить его к источникам в Amazon S3 и Amazon RDS MySQL, а также испытать Presto с использованием SQL из Надмножество Apache. Superset – это современная платформа для исследования и визуализации данных. На самом деле я не использовал визуализационную часть Superset, поскольку целью упражнения было посмотреть на производительность SQL с помощью Presto.

ахана для presto 05 IDG

При создании кластера Presto в Ahana вы выбираете типы экземпляров для координатора, хранилища метаданных и рабочих, а также начальное количество рабочих. Вы можете увеличить или уменьшить количество рабочих позже. Поскольку наборы данных, которые я использовал, были относительно небольшими (всего миллионы строк), я не стал включать кэширование ввода-вывода, которое является новой функцией Ahana Cloud.

ахана для presto 06 IDG

На панели «Кластеры» интерфейса Ahana отображаются активные, ожидающие и неактивные кластеры. Консоль PrestoDB показывает состояние работающего кластера.

Я обнаружил, что процесс добавления источников данных немного раздражает, потому что мне нужно было редактировать строки URI и строки конфигурации JSON. Было бы проще, если бы строки были собраны из частей в отдельных текстовых полях, особенно если бы текстовые поля заполнялись автоматически.

ахана для presto 07 IDG

Создание каталогов и преобразование из формата CSV в формат ORC заняло менее минуты, что дало 26,2 миллиона строк оценок фильмов. Запрос файла ORC выполняется намного быстрее, чем запрос файла CSV. Например, подсчет файла ORC занимает 2,5 секунды, а подсчет файла CSV – 48,6 секунды.

ахана для presto 08 IDG

Этот объединенный запрос объединяет рейтинги фильмов в формате ORC с данными фильмов в таблице базы данных MySQL для создания списка оценок, количества и популярности, разбитого на децили. Прошло 10 секунд.

ахана для presto 09 IDG

Этот запрос вычисляет самые популярные фильмы в федеративной базе данных с описанием, в котором упоминается оружие, а также сообщает о бюджетах фильмов. Запрос занял 7,5 секунд.

Как интегрировать Ahana Presto с машинным обучением и глубоким обучением

Как люди интегрируют Ahana Presto с машинным обучением и глубоким обучением? Обычно вместо того, чтобы использовать Superset в качестве клиента, они использовать ноутбук, либо Jupyter, либо Zeppelin. Для выполнения запроса SQL они используют ссылку JDBC на механизм запросов Ahana Presto. Затем выходные данные SQL-запроса заполняют соответствующую структуру или фрейм данных для использования в машинном обучении в зависимости от используемой структуры.

Новые возможности Ahana Cloud для Presto

Версия Ahana Cloud, которую я тестировал, включала улучшения, объявленные 24 марта 2021 года. Они включали улучшения производительности, такие как кэширование ввода-вывода озера данных и оптимизированную оптимизацию запросов, а также улучшения простоты использования, такие как автоматические и версионные обновления Ahana Compute Plane.

Я сам не использовал их все. Например, я не включил кэширование ввода-вывода озера данных, потому что таблица озера данных, которую я использовал, была слишком маленькой, и я не провел достаточно времени с Ahana, чтобы увидеть обновление версии.

Ahana Cloud для Presto по сравнению с конкурентами

В целом, Ahana Cloud for Presto – это хороший способ превратить озеро данных на Amazon S3 в хранилище данных без перемещения каких-либо данных. Использование Ahana Cloud позволяет избежать большей части работы, необходимой для установки и настройки Presto и Apache Superset. Запросы SQL выполняются быстро в Ahana Cloud for Presto, даже если они объединяют несколько разнородных источников данных.

Датабрикс Дельта Лейк использует разные технологии для выполнения некоторых из тех же задач, что и Ahana Cloud for Presto. Все файлы в Databricks Delta Lake имеют формат Apache Parquet, а Delta Lake использует Apache Spark для запросов SQL. Как и Ahana Cloud для Presto, Databricks Delta Lake может ускорить запросы SQL с помощью встроенного кеша. Однако Delta Lake не может выполнять федеративные запросы.

Куболе, облачная платформа данных для аналитики и машинного обучения, помогает принимать наборы данных из озера данных, создавать схемы с помощью Hive, запрашивать данные с помощью Hive, Presto, Quantum и / или Spark и продолжать разработку данных и наука о данных. Вы можете использовать записные книжки Zeppelin или Jupyter, а также рабочие процессы Airflow. Кроме того, Qubole помогает вам управлять своими облачными расходами независимо от платформы. В отличие от Ahana, Qubole может работать на AWS, Microsoft Azure, Google Cloud Platform и Oracle Cloud.

BlazingSQL – это еще более быстрый способ выполнения SQL-запросов с использованием графических процессоров Nvidia и запуском SQL для данных, загруженных в память графического процессора. BlazingSQL позволяет загружать необработанные данные ETL непосредственно в память графического процессора в виде фреймов данных графического процессора. Если у вас есть кадры данных графического процессора в памяти графического процессора, вы можете использовать RAPIDS cuML для машинного обучения или преобразовать DataFrames в DLPack или NVTabular для глубокого обучения в GPU с помощью PyTorch или TensorFlow.

Ahana Cloud для Presto – стоящая альтернатива своим конкурентам, и его проще настроить и поддерживать, чем развертывание Presto с открытым исходным кодом. Это, безусловно, стоит усилий, связанных с бесплатной пробной версией.

Расходы: 0,25 доллара США / час Ahana Cloud Credit (ACC). Видеть калькулятор цен а также таблица платы за инстанс. Пример: Presto Cluster из 10 x r5.xlarge, запускаемый каждый рабочий день, стоит 256 долларов в месяц.

Платформа: Работает на Amazon Elastic Kubernetes Service.

Авторские права © 2021 IDG Communications, Inc.


#Обзор #Ahana #Cloud #Presto #быстрые #SQLзапросы #озерам #данных

Source link