Обновить
Сначала показывать
Порог рейтинга
Уровень сложности

Оптимизация MPP-кластера: предсказываем потребление памяти SQL-запросов

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели11K

В аналитике больших данных системы массивных параллельных вычислений часто находятся под постоянной нагрузкой в режиме 24/7. Из десятков и сотен тысяч запросов в день многие исполняются одновременно и конкурируют за ограниченные ресурсы вычислительного кластера. Чем рациональнее каждый отдельный запрос их использует, тем больше запросов система сможет обслуживать параллельно. Соответственно, выше пропускная способность за конкретный отрезок времени. Как правило, проблема нехватки ресурсов остро ощущается в пиковые часы нагрузки. Можно бесконечно до совершенства настраивать и править параметры сессии на каждый запрос индивидуально вручную, но нам — команде разработки платформы данных Data Ocean Nova — всегда хочется иметь более системный подход.

В сегодняшней публикации мы расскажем о том, как реализовали идею автоматической системы предсказания потребления ресурсов SQL-запросами для Impala и StarRocks, основанную на ML-принципах, и сделали её частью платформы данных.

Читать далее

Новости

Ускоряем федеративные запросы в StarRocks

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели9.9K

Когда речь заходит про Lakehouse и федеративный доступ, многие вспоминают про Trino и… часто на этом все. Но федеративные запросы поддерживаются в том или ином виде довольно большим количеством СУБД, SQL-движков и систем для виртуализации данных.

В этой статье постараемся немного расширить кругозор читателей, которым интересна данная тема: рассмотрим федеративные запросы на примере набирающего популярность и активно развивающегося StarRocks. Из статьи вы узнаете: что такое федеративные запросы, как обстоят дела с реализацией гетерогенного федеративного доступа в этой СУБД и какие изменения команда решения Data Ocean Nova реализовала для оптимизации в StarRocks и Impala с целью улучшения функционала доступа к внешним данным.

Читать далее

Gateway API против Ingress: как выбрать реализацию и не пожалеть

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели8.9K

Если вы последние пару лет следили за развитием сетевой подсистемы Kubernetes, то наверняка заметили, что вокруг Gateway API сложился странный консенсус: «все согласны, что это будущее, но почти никто толком не понимает, какую именно реализацию брать и зачем уходить от привычного Ingress». В этой статье я попробую рассказать про ключевые отличия Gateway API от Ingress (на примере самого популярного — NGINX Ingress Controller), сравнить между собой основные реализации Gateway API и поговорить о нюансах кастомизации, интеграции и производительности.

Читать далее

TPC-DS в 07.2026. Lakehouse: Spark, Trino, StarRocks, Impala и Doris. Greenplum & Cloudberry vs StarRocks как MPP

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.7K

Привет, Хабр! На связи команда Data Sapience. С последней публикации результатов тестирования MPP-движков прошло уже несколько месяцев. За этот период произошел ряд изменений в базовых версиях open source движков и фреймворков, а также наша команда разработки внесла ряд улучшений и доработок. Все это может повлиять расстановку сил в рейтинге.

В сегодняшней публикации мы представим максимальное число претендентов, среди которых: Spark 3.5.*, Spark 3.5.* + DataFusion Comet, Spark 4.0.1, Spark 4.0.1 + DataFusion Comet, StarRocks (core based 3.5+, 4.0+), Impala (core based 4.5), Trino (459, 476, 479) и новичок нашего рейтинга — Apache Doris.

Статья поможет вам ответить на вопросы: стоит ли переходить на Spark 4 в поисках производительности; Как нативные вычисления влияют на результаты Spark; Как улучшилась производительность Trino за последние полгода; нужно ли присмотреться к Apache Doris, если вы ищете альтернативу Impala и StarRocks, и как эти проекты связаны между собой; какие оптимизационные улучшения были добавлены нами в StarRocks и Impala за последнее время.

И на десерт мы покажем вам сравнение Greenplum, Cloudberry и StarRocks в режиме Shared-Nothing MPP.

Читать далее

Нагрузочное тестирование динамического маскирования в Apache Ranger: что происходит с производительностью запросов

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели9.3K

Привет, Хабр! На связи Илья Амосов из команды поддержки Lakehouse-платформы данных Data Ocean Nova вендора Data Sapience. В сегодняшней публикации я раскрою тему влияния динамического сокрытия чувствительных данных на производительность SQL-запросов. Мы сравним различные методики маскирования, узнаем, как работает оптимизатор и движок со скрытыми полями, происходит ли деградация пропускной способности платформы, как влияет на производительность выбранный метод сокрытия чувствительных данных в случаях, если вы используете компонент на базе Apache Ranger.

Читать далее

StarRocks вместо Oracle на смешанной аналитической нагрузке. Проверяем на практике

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели13K

Привет, Хабр!

Меня зовут Денис Пашков, я – ведущий архитектор данных в группе компаний GlowByte. В этой публикации я бы хотел поделиться опытом работы с MPP-решением StarRocks, набирающим популярность на российском рынке. Все, кто интересуется данной темой, уже, наверное, не сомневаются, что StarRocks очень хорошо себя показывает в аналитической нагрузке. Мои коллеги из Data Sapience регулярно делятся результатами нагрузочных испытаний платформы данных Data Ocean Nova (ознакомиться можно: 1, 2 и 3). Сегодня же речь пойдет о неочевидном сценарии использования – OLTP-нагрузке.

Читать далее

Терабайты данных из Teradata в Trino — эффективный способ передачи

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели5.4K

Архитектурный принцип Lakehouse предполагает, что вы оперируете всеми данными, загруженными в систему. Но иногда нужно выполнить ad hoc анализ за ее периметром, потому что необходимых данных по каким-либо причинам нет в Lakehouse-платформе. В этом случае на помощь приходит федеративный доступ. Стандартом для такой задачи является движок Trino. Он умеет извлекать данные из внешних СУБД и даже в некоторых случаях может делать push-down определенных вычислений на сторону системы-источника. Главное, чтобы под рукой был подходящий connector для нужной СУБД, который умеет эффективно с ней работать.

Недавно в состав Data Ocean Nova был добавлен новый Trino Teradata Connector. Он позволяет пользователям «подтягивать» необходимые срезы данных из Teradata в рамках ad hoc запросов и решает задачу эффективной передачи данных: можно передавать терабайты в несколько потоков без существенного увеличения нагрузки на источник.

В данной статье разберем:
Как организовать эффективную многопоточную работу с Teradata: где часто допускают ошибки, как должно выглядеть правильное решение;
Какие возможности дает Nova Trino Teradata Connector: многопоточная передача, push-down оптимизации.

Читать далее

Spark SQL Scripting. Новые возможности для инженеров данных

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели5.5K

До недавнего времени для реализации сложной многошаговой логики в экосистеме Apache Spark разработчикам приходилось выходить за рамки декларативного SQL. Оркестрация последовательных вызовов, вычисление промежуточных переменных и ветвление логики требовали привлечения внешних языков программирования, таких как Python (PySpark) или Scala и дополнительных инструментов.

Spark SQL Scripting, который стал доступен, начиная с 4-й версии, кардинально меняет этот подход, представляя собой процедурное расширение классического Spark SQL. Теперь разработчики могут писать полноценные многошаговые сценарии непосредственно на уровне SQL-артефактов, внедряя в них управляющую логику.

В данной публикации мы, команда вендора Data Sapience, разберем возможности Spark scripting на практике.

Читать далее

Как ML изменит бизнес в 2026 году: прогноз Selectel, GlowByte и Data Sapience

Время на прочтение10 мин
Охват и читатели9.9K

Вместе с коллегами мы проанализировали, в какую сторону будет направлен вектор развития искусственного интеллекта в наступившем году. Особенное внимание уделили IT-инфраструктуре, организации корпоративной среды и будущему AI-агентов.

Читать далее

Reference Data Management по-русски: что мы называем НСИ и почему это не всегда RDM

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.5K

В российских проектах НСИ часто выходит далеко за рамки справочников и включает задачи MDM и Data Quality. Разбираемся, чем это отличается от классического RDM и к чему это приводит.

Читать далее

Почему Lakehouse нельзя построить без Spark

Время на прочтение13 мин
Охват и читатели8.3K

Привет! Сегодня на связи команда вендора Data Sapience, а именно Spark-разработчик Виталий Мартынов и технические лидеры направления разработки Apache Spark платформы Data Ocean Nova Дмитрий Паршин и Евгений Морозов.

Концепция Lakehouse активно продвигается как «золотая середина» между Data Lake и Data Warehouse: она обещает объединить гибкость хранения данных, расширенную аналитику и соблюдение транзакционности в единой архитектуре с использованием современных табличных открытых форматов, таких как Iceberg (который уже де-факто стал общепринятым стандартом при построении Data Lakehouse). И сегодня мы хотим посвятить статью разбору следующего вопроса: почему без использования Spark нельзя построить полноценный Lakehouse? 

Поговорим о том, какую роль Spark играет в Lakehouse-подходе, какие задачи он закрывает успешнее других, о его тесной взаимосвязи с Iceberg и том, почему альтернативы часто не дотягивают до нужного уровня универсальности, масштабируемости и надежности в рамках большой продуктивной среды. Также расскажем, почему мы в Data Ocean Nova используем Spark в качестве движка для обслуживания Iceberg-таблиц и инструмента для миграции данных в Lakehouse.

Читать далее

Open Table Formats — Iceberg vs Paimon — практика использования

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.4K

Привет, Хабр. Меня зовут Василий Мельник, я product owner решения для потоковой обработки данных Data Ocean SDI в компании Data Sapience. Наша команда приобрела большой практический опыт работы с Apache Iceberg в задачах на стыке традиционной пакетной обработки и near real-time и конкретно с использованием технологий на базе Flink, поэтому мы не могли пройти мимо нового открытого табличного формата (OTF) Paimon от разработчиков Apache Flink. В этой статье я опишу наш опыт и те практические выводы, которые мы сделали на промышленных средах, в виде репрезентативного тестирования, на котором проиллюстрирую ключевые практические сценарии.

Читать далее

Процедурное SQL-расширение в Lakehouse-платформе – новые возможности для работы с данными

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.9K

Вас приветствует команда Data Sapience, и в сегодняшней публикации мы расскажем о реализации процедурного расширения для работы с MPP-движками Lakehouse-платформы данных Data Ocean Nova, которое стало доступным для пользователей. В материале пойдет речь о возможностях, применимости и сценариях использования процедурного языка в аналитической платформе данных и примеры реализации решения типовых задач.

Читать далее

Ближайшие события

Проверяем популярные движки вычислений на задаче BI-доступа с помощью теста ClickBench

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.4K

В сегодняшней публикации мы попробуем разобраться в производительности популярных MPP-движков в специализированной задаче ХД – предоставлении доступа к денормализованной витрине данных. Также ответим на вопрос: нужен ли ClickHouse в аналитическом ландшафте, спроектированном по принципу Lakehouse-платформ? Для этого будем использовать бенчмарк ClickBench.

ClickBench появился не так давно, в 2022 году. Методика создана и поддерживается командой ClickHouse. Авторы позиционируют его следующим образом -  «Этот бенчмарк представляет типичную рабочую нагрузку в следующих областях: анализ потоков кликов и трафика, веб-аналитика, машинно-генерируемые данные, структурированные журналы и данные о событиях. Он охватывает типичные запросы в ad-hoc аналитике и дашбордах реального времени». Последний сценарий вызывает у нас особый интерес, ведь редко встретишь архитектурный дизайн аналитического ландшафта, где не было бы решения на базе ClickHouse именно для этой цели, на вершине пирамиды тракта данных от источника до потребителя.

Читать далее

Оптимизации функционала Apache Iceberg в задачах real-time загрузки и обработки данных

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели9K

Привет, Хабр! На связи — технические лидеры направления разработки Apache Spark в составе платформы Data Ocean Андрей Первушин и Дмитрий Паршин из Data Sapience. Мы занимаемся решением нетривиальных задач в области Spark-вычислений, некоторые из которых становятся частью конечного продукта.

Сегодня мы расскажем, с какими проблемами можно столкнуться при реализации Upsert Streaming в Iceberg, что такое equality delete, почему они создают нагрузку при чтении таблиц в Apache Iceberg и как мы оптимизировали Apache Spark, чтобы снизить потребление памяти и ускорить чтение данных.

Читать далее

Бенчмарк бенчмарка Lakehouse-движков, в котором побеждает объективная реальность

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.4K

Недавно на Хабре вышла статья с громким заголовком «Бенчмарк lakehouse‑движков, часть 1: StarRocks и Doris падают под нагрузкой, Presto аутсайдер, CedrusData быстрее всех». В своей статье авторы из Кверифай Лабс выбрали методику TPC‑DS, но вместо 99 запросов остановилась на одном, который к тому же запускается на одной машине. Обосновывается это тем, что на одном конкретном запросе нужно разобрать работу оптимизаторов. По результатам исследования делается вывод, что решение, разработанное авторами, является лучшим, в том числе для запуска одного конкретного запроса на одном узле. Давайте попробуем разобраться, действительно ли это так.

Читать далее

Тестирование движков массивно-параллельных вычислений: StarRocks, Trino, Spark. Spark – с DataFusion Comet и Impala

Время на прочтение7 мин
Охват и читатели7.1K

В сегодняшней, уже третьей по счету, публикации я продолжу делится результатами нагрузочных испытаний вычислительных технологий массивных параллельных вычислений (на Habr уже представлены мои материалы, посвященные сравнению Impala, Trino и Greenplum, в том числе по методике TPC-DS). В этот раз в список решений добавляется Spark, включая работающий с технологией нативных вычислений DataFusion Comet, и набирающий популярность StarRocks.

Читать далее

Проблема маленьких файлов. Оценка замедления S3 и проблем HDFS и Greenplum при работе c ними

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели12K

Не так давно в блоге компании Arenadata был опубликован материал тестирования поведения различных распределенных файловых систем при работе с маленькими файлами (~2 Мб). Краткий вывод: по результатам проверки оказалось, что лучше всего с задачей маленьких файлов справляется старый-добрый HDFS, деградируя в 1.5 раза, S3 на базе minIO не тянет, замедляясь в 8 раз, S3 API над Ozone деградирует в 4 раза, а наиболее предпочтительной системой в при работе с мелкими файлами, по утверждению коллег, является Greenplum, в том числе для компаний «экзабайтного клуба». Коллеги также выполнили огромную работу по поиску «Теоретических подтверждений неожиданных показателей».  

Результаты тестирования в части S3 minIO показались нашей команде неубедительными, и мы предположили, что они могут быть связаны с:

недостаточным практическим опытом эксплуатации SQL compute over S3 и S3 в целом;

отсутствием опыта работы с кластерами minIO. В частности в высоконагруженном продуктивном окружении на 200+ Тб сжатых колоночных данных Iceberg/parquet, особенно в сценариях, где проблема маленьких файлов быстро становится актуальной.

особенностями сборок дистрибутивов;

Мы благодарны коллегам за идею и вдохновение провести аналогичное тестирование. Давайте разбираться.

Читать далее

Java Agent как инструмент обхода лицензий: этичный анализ и защита

Уровень сложностиСредний
Время на прочтение34 мин
Охват и читатели11K

Обычно Java‑агенты используются для сбора телеметрии, логирования, профилирования, каких‑то ультрабыстрых хотфиксов и прочих скучных вещей.

Но сегодня мы исследуем приложение Java‑агент, которое модифицирует код другого Java‑приложения «на лету» и создано для обхода лицензионных ограничений. Называть его мы будем «агент», «вредоносный агент» и т. п.

Меня зовут Сергей Капустин, тимлид бэкэнд-команды продукта Data Ocean Cluster Manager вендора Data Sapience.

Код в нашем примере будет максимально обезличен.

Эта тема рассматривается исключительно в целях исследования вопросов безопасности приложений и этичного использования инструментов изменения кода во время компиляции.

В конце я предложу примеры методов отслеживания несанкционированного вмешательства в Java‑приложение, а также методов противодействия, чтобы избавиться от рисков, которые мы обнаружим в процессе исследования.

Читать далее

Тестирование систем и движков массивно-параллельных вычислений. Часть II. TPC-DS

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели5.6K

Привет! Сегодня я продолжаю тему сравнения систем и движков массивных параллельных вычислений. В прошлой публикации я раскрыл основные принципы проведения тестирования, которыми руководствуется наша команда, и привел результаты как реальных промышленных сценариев, так и синтетических тестов. Материал вызвал интерес и дискуссию: значит, он актуальный и полезный. Для кого-то факты стали убедительными, а кто-то усомнился в объективности результатов, поэтому, как и было обещано, я делюсь материалами сравнительного тестирования, выполненного по общепринятому стандарту TPC-DS. Сегодня вы узнаете, повлияла ли смена методики на результаты.

Читать далее
1