Почему мы перешли с Dremio на Trino
В нашей постоянно развивающейся индустрии данных, выбор правильного инструмента может существенно повлиять на эффективность и гибкость работы. Мы недавно перешли с Dremio на Trino. Решение об этом шаге было принято после анализа и испытаний, и в этой статье я расскажу о причинах этого перехода, особенностях каждого продукта, а также о том, как это повлияет на нашу работу в рамках концепции Data Mesh.
Dremio и Trino: Основные Отличия
Dremio позиционируется как коробочный продукт, который предоставляет целый набор инструментов “из коробки”. Эта платформа позволяет пользователям выполнять аналитические запросы на больших наборах данных с использованием своего движка SQL. По своей природе Dremio старается исполнять запросы внутри себя, что зачастую приводит к необходимости выгрузки значительных объёмов данных из источника, прежде чем приступать к анализу. Это, в свою очередь, увеличивает время ожидания для пользователей и потребляет дополнительные ресурсы.
Dremio имеет свои плюсы и минусы:
Плюсы:
- Лёгкость в использовании и интеграции.
- Поддержка современных форматов данных.
- Концепция data-as-code.
Минусы:
- Высокая стоимость лицензий и серверов.
- Особеннсоти исполнения запросов, которые нагружают систему источник.
- Ограниченные настройки и закрытый код.
- Ограниченная возможность кастомизации.
И конечно отсутствие обновлений, поддержки, что фактически является тупиком в развитии для нас.
Trino
Trino, ранее известный как PrestoSQL, представляет собой SQL-движок, который отлично подходит для платформ данных, требующих высокой степени кастомизации. В отличие от Dremio, Trino выполняет запросы ровно так, как это указано в SQL, что позволяет избежать излишних выгрузок данных и оптимизировать процесс обработки запросов. Благодаря своей открытой архитектуре, Trino предоставляет гибкость в настройках и кастомизации, что является ключевым преимуществом. Trino хорошо интегрируется с такими технологиями как Iceberg и Data Build Tool, kafka и многими другими, что обеспечивает более эффективное управление данными и их структурой. Позволяет нам выполнять запросы к данным в топиках Kafka, что особенно востребовано в текущий момент, а также легко добавлять новые типы коннекторов, Dremio так не умеет.
Плюсы:
- Открытая архитектура и возможность кастомизации.
- Высокая производительность и эффективность.
- Поддержка современных форматов данных и подключений.
- Развитое сообщество и документация.
Компания CedrusData – полностью российская компания и занимается ускорением базового Trino, Cedrus это фактически Trino на стероидах. Компания занимается развитием как новой функциональности, так и разрешением ошибок и просто поддержкой.
Минусы:
- Необходимость дополнительных настроек и конфигураций.
- Потребность в более глубоком техническом знании.
Причины Перехода
Гибкость и Настраиваемость
Одной из основных причин перехода с Dremio на Trino является гибкость и настраиваемость последнего. Trino позволяет легко адаптировать платформу данных под любые потребности, что особенно важно в рамках нашей концепции Data Mesh. Это значительно упрощает управление данными и позволяет экономить ресурсы, разделяя хранение данных от вычислительных мощностей.
Открытая Архитектура и Сообщество
Trino имеет открытую архитектуру, что позволяет любому внести изменения или предложить улучшения. Это делает платформу более гибкой и быстро адаптирующейся к изменяющимся требованиям. Большое сообщество пользователей и разработчиков обеспечивает постоянное обновление и улучшение функциональности, что гарантирует высокую производительность и актуальность продукта.
Экономия Ресурсов
Trino требует меньших затрат на исполнение запросов, что уменьшает нагрузку на инфраструктуру и сокращает расходы. Пользователи могут обращаться с данными на любом хранении, будь то Oracle или файлы CSV, благодаря единому SQL-интерфейсу.
Безопасность и Управление
Хотя Dremio предлагал платные функции безопасности, бесплатная версия не могла удовлетворить наши требования. Trino, напротив, предлагает широкий спектр настроек безопасности, а также возможность интеграции с различными инструментами управления данными.
Поддержка и Документация
Trino имеет обширную документацию и активное сообщество, что обеспечивает поддержку и обмен опытом между пользователями. В отличие от Dremio, где настройки часто являются закрытыми и требуют вмешательства поддержки, которой у нас уже нет, Trino предоставляет полный доступ к настройкам и их описаниям.
Влияние на Платформу
Переход на Trino позволит нам лучше следовать Data Mesh и основным принципым, а именно:
- Видимость: данные станут более доступными и легко находимыми для пользователей.
- Доступность: пользователи смогут быстро извлекать данные из различных систем и форматов.
- Понимание: наличие описаний данных поможет лучше понимать контекст и содержание.
- Связность: пользователи смогут легко использовать дополнительные атрибуты благодаря связям в данных.
- Доверие: уверенность в качестве данных будет повышена.
- Совместимость: общие представления о данных у производителей и потребителей.
- Безопасность: данные будут защищены от несанкционированного доступа и манипуляций.
Что такое Data Mesh?
Заключение
Переход с Dremio на Trino – это важный шаг на пути к улучшению нашей платформы данных. Мы уверены, что гибкость, высокая производительность и открытая архитектура Trino помогут нам достигнуть новых высот в управлении и анализе данных. Следите за новостями и присоединяйтесь к обсуждению в нашем чате поддержки!
Всем хороших выходных! Напишите в комментариях, как вам запомнился Dremio, и что вы пожелаете новому ядру на базе Trino.