Открыть сервис

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.

Источники

  1. Microsoft Docs: Azure Synapse Analytics documentation
  2. Официальный блог Azure: Announcing Azure Synapse Analytics (Ignite 2019)
  3. Документация Microsoft: What is Synapse Studio?
  4. Статья: «Azure Synapse Analytics — обзор возможностей» (Habr, 2021)
  5. Microsoft Learn: Create and manage Synapse Studio workspaces

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →