Synapse Studio
Synapse Studio — это интегрированная среда разработки (IDE) и веб-интерфейс управления, входящая в состав облачной платформы Microsoft Azure Synapse Analytics. Предназначена для выполнения задач по интеграции данных, их преобразованию (ETL/ELT), аналитике, машинному обучению и визуализации в рамках единого рабочего пространства. Synapse Studio объединяет инструменты для работы с бессерверными пулами SQL, пулами Apache Spark, конвейерами данных (оркестрация) и интеграцией с Power BI, предоставляя пользователям возможность создавать сквозные аналитические решения без переключения между различными сервисами.
История
Synapse Studio была анонсирована Microsoft в ноябре 2019 года на конференции Ignite как часть Azure Synapse Analytics — эволюционного развития Azure SQL Data Warehouse. Первоначально продукт позиционировался как «аналитическая платформа нового поколения», объединяющая возможности хранилища данных и «больших данных» (Big Data). Релиз публичной предварительной версии состоялся в апреле 2020 года, а общая доступность (GA) — в декабре 2020 года.
Основным драйвером создания Synapse Studio стала потребность в унификации инструментов для специалистов по данным (data engineers), аналитиков и инженеров машинного обучения. До появления Synapse Analytics пользователям Azure приходилось комбинировать Azure Data Factory, Azure Databricks, Azure SQL Data Warehouse и Power BI, что усложняло управление и увеличивало время разработки.
В 2021–2023 годах в Synapse Studio были добавлены функции управления Git-репозиториями (Azure DevOps, GitHub), расширена поддержка Apache Spark 3.x, встроены средства мониторинга производительности конвейеров и интеграция с Microsoft Purview для управления данными.
Архитектура и компоненты
Synapse Studio представляет собой веб-приложение, работающее поверх Azure Synapse Analytics. Оно не требует установки локального ПО — доступ осуществляется через браузер по URL-адресу рабочей области. Интерфейс разделён на функциональные панели:
### Панель «Данные» (Data)
Позволяет просматривать и управлять источниками данных:
- Бессерверные пулы SQL — для выполнения SQL-запросов к данным в озере данных (Azure Data Lake Storage Gen2) без необходимости загрузки их в хранилище.
- Пулы SQL (выделенные) — для традиционных реляционных хранилищ данных с возможностью масштабирования.
- Пулы Apache Spark — для обработки данных с использованием языков Python, Scala, .NET и SQL.
- Внешние источники — через связанные службы (linked services) подключаются базы данных SQL Server, Oracle, SAP, файлы CSV/Parquet, веб-API и другие.
### Панель «Разработка» (Develop)
Центральное место для создания и редактирования артефактов:
- SQL-скрипты — для интерактивного выполнения запросов к пулам SQL.
- Записные книжки (Notebooks) — для работы с Apache Spark: код на Python, Scala, .NET, визуализация результатов.
- Определения данных (Data flows) — визуальные конструкторы ETL-процессов без написания кода.
- Хранимые процедуры, функции, таблицы — управление объектами базы данных.
### Панель «Оркестрация» (Orchestrate)
Управление конвейерами данных (pipelines), которые автоматизируют перемещение и преобразование данных:
- Действия (activities) — копирование данных, вызов скриптов, запуск записных книжек, выполнение хранимых процедур, отправка уведомлений.
- Триггеры — запуск по расписанию, по событию (например, появление файла в хранилище) или вручную.
- Параметры и переменные — для гибкой настройки конвейеров.
### Панель «Мониторинг» (Monitor)
Отображает состояние выполнения всех артефактов: конвейеров, записных книжек, SQL-запросов, заданий Spark. Доступны фильтры по времени, статусу (успех/ошибка/выполняется), типу операции. Для каждого запуска можно просмотреть логи, входные/выходные данные и длительность.
### Панель «Управление» (Manage)
Настройка рабочей области:
- Связанные службы — подключение к внешним источникам и целевым хранилищам.
- Интеграционные среды выполнения (Integration Runtimes) — управление вычислительными ресурсами для выполнения конвейеров (Azure, Self-hosted).
- Управление доступом (IAM) — назначение ролей (читатель, разработчик, администратор).
- Настройки Git — подключение репозитория для контроля версий.
Ключевые возможности
### Интеграция с Azure Data Lake Storage Gen2
Synapse Studio работает напрямую с ADLS Gen2 как с единым хранилищем данных. Бессерверные пулы SQL могут выполнять запросы к файлам в форматах Parquet, CSV, JSON, Avro без предварительной загрузки. Apache Spark пулы читают и пишут данные в те же контейнеры, что исключает дублирование.
### Бессерверные вычисления
Пользователи не управляют кластерами. Бессерверные пулы SQL автоматически масштабируются под нагрузку и оплачиваются только за фактически обработанный объём данных (по модели pay-per-query). Аналогично, пулы Spark запускаются по требованию и останавливаются после завершения задания.
### Визуальный ETL (Data Flows)
Data Flows позволяют создавать преобразования данных (фильтрация, объединение, агрегация, разделение) через drag-and-drop интерфейс. Генерируемый код выполняется на Spark, что обеспечивает масштабируемость. Поддерживаются источники: ADLS, SQL Server, Azure Blob Storage, Azure Cosmos DB и другие.
### Интеграция с Power BI
Из Synapse Studio можно напрямую создавать отчёты Power BI, используя данные из пулов SQL. Отчёты отображаются в виде вкладок внутри рабочей области. Для этого требуется, чтобы Power BI был настроен на ту же рабочую область Azure.
### Контроль версий
Поддерживается интеграция с Azure DevOps и GitHub. Разработчики могут фиксировать изменения SQL-скриптов, записных книжек, конвейеров и определений данных в репозиториях, что позволяет управлять версиями, проводить код-ревью и автоматизировать развёртывание.
Применение
Synapse Studio используется в следующих сценариях:
- Построение корпоративных хранилищ данных (EDW) — объединение данных из транзакционных систем в единую модель для отчётности.
- Обработка потоковых данных — с использованием Apache Spark Structured Streaming для анализа данных в реальном времени (например, IoT-сенсоры, логи веб-серверов).
- ETL/ELT-процессы — извлечение данных из множества источников, их очистка, трансформация и загрузка в аналитическое хранилище.
- Машинное обучение — создание и обучение моделей с помощью записных книжек Spark, интеграция с Azure Machine Learning.
- Самообслуживаемая аналитика — аналитики могут выполнять SQL-запросы к озеру данных без участия инженеров.
Ограничения и критика
- Привязка к экосистеме Azure — Synapse Studio не работает с другими облачными провайдерами (AWS, Google Cloud) или локальными решениями без использования гибридных сред выполнения.
- Сложность настройки — для эффективной работы требуется понимание архитектуры Azure, прав доступа, моделей оплаты и принципов работы Spark и SQL.
- Производительность — бессерверные пулы SQL могут показывать задержки на сложных запросах к большим объёмам данных по сравнению с выделенными пулами.
- Отсутствие поддержки некоторых форматов — например, работа с XML или Excel напрямую через бессерверные пулы ограничена; требуется предварительное преобразование.
Альтернативы
На рынке существуют аналогичные интегрированные среды для аналитики:
- Amazon SageMaker Studio — для машинного обучения и анализа данных в AWS.
- Google Cloud Dataproc — для работы с Spark и Hadoop, интегрированный с BigQuery.
- Databricks Workspace — облачная платформа на базе Apache Spark с поддержкой SQL, Python, R и MLflow.
- Snowsight — веб-интерфейс для Snowflake Data Cloud.
Источники
- Microsoft Docs: Azure Synapse Analytics documentation
- Официальный блог Azure: Announcing Azure Synapse Analytics (Ignite 2019)
- Документация Microsoft: What is Synapse Studio?
- Статья: «Azure Synapse Analytics — обзор возможностей» (Habr, 2021)
- Microsoft Learn: Create and manage Synapse Studio workspaces
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →