Presto SQL, тепер Trino, надає потужність механізмів запитів аналітики великих даних

Обробка великих даних є одним із важливих аспектів цієї цифрової ери. Компанії використовують більше штучного інтелекту, машинного навчання та аналітики даних, які виробляють і збирають більше даних. Тому це призводить до величезні обсяги даних які необхідно ефективно досліджувати та аналізувати.

Ось де можуть допомогти хмарні обчислення та Presto.

Змістпоказати
Що таке Presto?
Ключові поняття
Типи серверів
Як Presto обробляє запити?
Переваги використання Presto
1. Легка інтеграція
2. Швидше виконання
3. Створено для хмари
4. Уніфікований інтерфейс SQL
Для чого можна використовувати Presto?
Аналітика озера даних
Спеціальний запит
Пакетний ETL

Що таке Presto?

Згідно з визначенням Amazon AWS: Presto — це розподілений механізм запитів SQL, створений для виконання швидких аналітичних запитів до наборів даних будь-якого розміру. Наприкінці 2020 року він був перейменований як Trino, щоб відокремити проект від Prestodb.

Presto має перевагу в тому, що він відкритий, а це означає, що він регулярно оновлюється, і розробники часто вносять його в це.

Платформа Presto працює з нереляційні джерела даних подібно до:

  • Amazon S3
  • Hadoop
  • HDFS
  • MongoDB
  • HBase

І реляційні бази даних подібно до:

  • Мій простір
  • PostgresSQL і
  • MS SQL Server

З Presto, ви можете запитувати дані, де б вони не зберігалися. Це означає, що вам не потрібно передавати дані в реляційну базу даних або сховище даних. Presto був створений для SQL і підтримує стандартну семантику SQL. Сюди входять підзапити, складні запити, зовнішні об’єднання, окремі підрахунки та приблизні процентилі.

Виконання запитів також відбувається швидше, оскільки виконується паралельно архітектурі на основі пам’яті. Таким чином, вам більше не доведеться турбуватися про те, скільки часу може зайняти для запиту до масивної бази даних. Результати повертаються через секунди.

Вчіться як розгорнути Presto та його архітектуру на їхню документацію.

Читайте також: Як оновити драйвери пристрою на Windows 10? {Простий посібник}


Ключові поняття

Ключові концепції SQL широко відомі. Щоб зрозуміти, як працює Presto, нам спочатку потрібно зрозуміти його основні концепції.

Типи серверів

Presto використовує два типи серверів: координатор сервер і працівник сервер. Робочі вузли обробляють запити, витягуючи дані з конекторів. Координатор отримує результати та надсилає їх клієнту. Сервери-координатори також аналізують оператори та керують вузлами.

Він працює подібно до систем керування базами даних Massive Parallel Processing.

Системи управління базами даних з масивною паралельною обробкоюДжерело зображення: 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 розроблено для обробки інтерактивних запитів BI. Крім того, він дотримується моделі 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 має ряд переваг для компаній, яким потрібно обробляти великі обсяги даних, виконувати спеціальні інтерактивні запити та виконувати аналітику з різних джерел даних.